As you can see, both types seem to have a superfluous parameter t.
The library uses it to rule out certain gross inefficiencies,
in particular in connection with dynamic event switching.
For basic stuff, you can completely ignore it,
except of course for the fact that it will annoy you in your type signatures.

While the type synonyms mentioned above are the way you should think about
Behavior and Event, they are a bit vague for formal manipulation.
To remedy this, the library provides a very simple but authoritative
model implementation. See Model for more.

Note that the smaller-than-sign in the comparision timex < time means
that the value of the behavior changes "slightly after"
the event occurrences. This allows for recursive definitions.

Also note that in the case of simultaneous occurrences,
only the last one is kept.

Further combinators that Haddock can't document properly.

instance Monoid (Event t (a -> a))

This monoid instance is not the straightforward instance
that you would obtain from never and union.
Instead of just merging event streams, we use unionWith to compose
the functions. This is very useful in the context of accumE and accumB
where simultaneous event occurrences are best avoided.

instance Applicative (Behavior t)

Behavior is an applicative functor. In particular, we have the following functions.