sig   val empty : 'a map   val is_empty : 'a map -> bool   val mem : string -> 'a map -> bool   val add : string -> '-> 'a map -> 'a map   val singleton : string -> '-> 'a map   val remove : string -> 'a map -> 'a map   val merge :     (string -> 'a option -> 'b option -> 'c option) ->     'a map -> 'b map -> 'c map   val union : (string -> '-> '-> 'a option) -> 'a map -> 'a map -> 'a map   val compare : ('-> '-> int) -> 'a map -> 'a map -> int   val equal : ('-> '-> bool) -> 'a map -> 'a map -> bool   val iter : (string -> '-> unit) -> 'a map -> unit   val fold : (string -> '-> '-> 'b) -> 'a map -> '-> 'b   val for_all : (string -> '-> bool) -> 'a map -> bool   val exists : (string -> '-> bool) -> 'a map -> bool   val filter : (string -> '-> bool) -> 'a map -> 'a map   val partition : (string -> '-> bool) -> 'a map -> 'a map * 'a map   val cardinal : 'a map -> int   val bindings : 'a map -> (string * 'a) list   val min_binding : 'a map -> string * 'a   val max_binding : 'a map -> string * 'a   val choose : 'a map -> string * 'a   val split : string -> 'a map -> 'a map * 'a option * 'a map   val find : string -> 'a map -> 'a   val map : ('-> 'b) -> 'a map -> 'b map   val mapi : (string -> '-> 'b) -> 'a map -> 'b map   type 'a t = 'B0.String.map   val dom : 'B0.String.map -> B0.String.set   val of_list : (string * 'a) list -> 'B0.String.map   val pp :     ?sep:unit B0.Fmt.t -> (string * 'a) B0.Fmt.t -> 'B0.String.map B0.Fmt.t   val dump : 'B0.Fmt.t -> 'B0.String.map B0.Fmt.t   val dump_string_map : string B0.String.map B0.Fmt.t end