Mutable.Make
module Key : KeyS
type key = Key.t
module Map : S with type key = key
type 'a t
val of_immutable : 'a Map.t -> 'a t
val create : ?values:'a Map.Map.t -> ?produce_value:'a Map.producer -> ?origin:Mavryk_tree_encoding.wrapped_tree -> unit -> 'a t
val get : key -> 'a t -> 'a Lwt.t
val set : key -> 'a -> 'a t -> unit
val remove : key -> 'a t -> unit
val snapshot : 'a t -> 'a Map.t