module Key : Map.OrderedType
module M : sig ... end
type 'a t
val create : unit -> 'a t
val bind : 'a t -> Key.t -> ( Key.t -> 'a M.t ) -> 'a M.t