Hook sequences. Each module of this type is a set of hooks, to be run by Lwt at certain points during execution. See modules
Hooks are functions of either type
unit -> unit or
unit -> unit Lwt.t; this type constructor is used only to express both possibilities in one signature.
Values of type
hook represent hooks that have been added, so that they can be removed later (if needed).
Adds a hook to the hook sequence underlying this module, to be run first, before any other hooks already added.
Adds a hook to the hook sequence underlying this module, to be run last, after any other hooks already added.