Module Ambient_context

include module type of struct include Ambient_context_core.Types end
type storage = (module STORAGE)
type 'a key = int * 'a Hmap.key
val debug : bool
val id : int Atomic.t
val generate_debug_id : unit -> int
val compare_key : int -> int -> int
val current_storage_key : storage TLS.t
val get_current_storage : unit -> Ambient_context_core.Types.storage
val create_key : unit -> int * 'a Ambient_context_core.Ambient_context_hmap.key
val get : (int * 'a Ambient_context_core.Ambient_context_hmap.key) -> 'a option
val with_binding : 'a key -> 'a -> (unit -> 'r) -> 'r
val without_binding : (int * 'a Ambient_context_core.Ambient_context_hmap.key) -> (unit -> 'b) -> 'c
val set_storage_provider : Ambient_context_core.Types.storage -> unit