sig   val empty : 'a map   val is_empty : 'a map -> bool   val mem : t -> 'a map -> bool   val add : t -> '-> 'a map -> 'a map   val singleton : t -> '-> 'a map   val remove : t -> 'a map -> 'a map   val merge :     (t -> 'a option -> 'b option -> 'c option) -> 'a map -> 'b map -> 'c map   val union : (t -> '-> '-> '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 : (t -> '-> unit) -> 'a map -> unit   val fold : (t -> '-> '-> 'b) -> 'a map -> '-> 'b   val for_all : (t -> '-> bool) -> 'a map -> bool   val exists : (t -> '-> bool) -> 'a map -> bool   val filter : (t -> '-> bool) -> 'a map -> 'a map   val partition : (t -> '-> bool) -> 'a map -> 'a map * 'a map   val cardinal : 'a map -> int   val bindings : 'a map -> (t * 'a) list   val min_binding : 'a map -> t * 'a   val max_binding : 'a map -> t * 'a   val choose : 'a map -> t * 'a   val split : t -> 'a map -> 'a map * 'a option * 'a map   val find : t -> 'a map -> 'a   val map : ('-> 'b) -> 'a map -> 'b map   val mapi : (t -> '-> 'b) -> 'a map -> 'b map   val of_list : (B0.Unit.t * 'a) list -> 'B0.Unit.map   val pp :     ?sep:unit B0.Fmt.t ->     (B0.Unit.t * 'a) B0.Fmt.t -> 'B0.Unit.map B0.Fmt.t   type 'a t = 'B0.Unit.map   val dom : 'B0.Unit.map -> B0.Unit.set end