Hook
This module centralizes the notions of hooks. Hooks are pointers that are to be set at runtime exactly once.
type 'a t
The type of hooks containing 'a. Hooks can only be set.
'a
type 'a value
The content part of a hook.
val make : unit -> 'a value * 'a t
Create a new hook together with a way to retrieve its runtime value.
val get : 'a value -> 'a
Access the content of a hook. If it was not set yet, try to recover the default value if there is one.
if undefined.
val set : 'a t -> 'a -> unit
Register a hook. Assertion failure if already registered.