Ambient_context_thread_local.Thread_localThread/Domain local storage
This allows the creation of global state that is per-domain or per-thread.
val create : unit -> 'a tCreate new storage
val get : 'a t -> 'a optionGet current value
val set : 'a t -> 'a -> unitval remove : _ t -> unitval get_or_create : create:(unit -> 'a) -> 'a t -> 'aval with_ : 'a t -> 'a -> ('a option -> 'b) -> 'bwith_ var x f sets var to x for this thread, calls f prev where prev is the value currently in var (if any), and then restores the old value of var for this thread.