The key selling feature of Mercury compared to the other frameworks is that it has the power of reactive programming but is made of loosely coupled libraries so you are better able to mix up your choice of libraries for events, and state.
Event handling in Mercury is particularly opaque, it looks like there is a wrapper around DOM events that then use the Observable set method to rewrite the state.
Building up the components programmatically is painful with the nesting rapidly building up although you can use functions to generate re-usable components.
Like most of these frameworks the idea is to use a single data atom to represent the application state and then completely re-render the whole application on a change.
The actual rendering is deferred until the next animation frame to avoid needless rendering.
The documentation for the project is virtually non-existent, making even Omniscient look good. The demo code and the example code in the Readme differs and none of the API is really documented to help you understand the difference and what works in what way.