sig   type key   and +'a t   val empty : 'a MoreLabels.Map.S.t   val is_empty : 'a MoreLabels.Map.S.t -> bool   val mem : MoreLabels.Map.S.key -> 'a MoreLabels.Map.S.t -> bool   val add :     key:MoreLabels.Map.S.key ->     data:'a -> 'a MoreLabels.Map.S.t -> 'a MoreLabels.Map.S.t   val singleton : MoreLabels.Map.S.key -> 'a -> 'a MoreLabels.Map.S.t   val remove :     MoreLabels.Map.S.key -> 'a MoreLabels.Map.S.t -> 'a MoreLabels.Map.S.t   val merge :     f:(MoreLabels.Map.S.key -> 'a option -> 'b option -> 'c option) ->     'a MoreLabels.Map.S.t -> 'b MoreLabels.Map.S.t -> 'c MoreLabels.Map.S.t   val union :     f:(MoreLabels.Map.S.key -> 'a -> 'a -> 'a option) ->     'a MoreLabels.Map.S.t -> 'a MoreLabels.Map.S.t -> 'a MoreLabels.Map.S.t   val compare :     cmp:('a -> 'a -> int) ->     'a MoreLabels.Map.S.t -> 'a MoreLabels.Map.S.t -> int   val equal :     cmp:('a -> 'a -> bool) ->     'a MoreLabels.Map.S.t -> 'a MoreLabels.Map.S.t -> bool   val iter :     f:(key:MoreLabels.Map.S.key -> data:'a -> unit) ->     'a MoreLabels.Map.S.t -> unit   val fold :     f:(key:MoreLabels.Map.S.key -> data:'a -> 'b -> 'b) ->     'a MoreLabels.Map.S.t -> init:'b -> 'b   val for_all :     f:(MoreLabels.Map.S.key -> 'a -> bool) -> 'a MoreLabels.Map.S.t -> bool   val exists :     f:(MoreLabels.Map.S.key -> 'a -> bool) -> 'a MoreLabels.Map.S.t -> bool   val filter :     f:(MoreLabels.Map.S.key -> 'a -> bool) ->     'a MoreLabels.Map.S.t -> 'a MoreLabels.Map.S.t   val partition :     f:(MoreLabels.Map.S.key -> 'a -> bool) ->     'a MoreLabels.Map.S.t -> 'a MoreLabels.Map.S.t * 'a MoreLabels.Map.S.t   val cardinal : 'a MoreLabels.Map.S.t -> int   val bindings : 'a MoreLabels.Map.S.t -> (MoreLabels.Map.S.key * 'a) list   val min_binding : 'a MoreLabels.Map.S.t -> MoreLabels.Map.S.key * 'a   val max_binding : 'a MoreLabels.Map.S.t -> MoreLabels.Map.S.key * 'a   val choose : 'a MoreLabels.Map.S.t -> MoreLabels.Map.S.key * 'a   val split :     MoreLabels.Map.S.key ->     'a MoreLabels.Map.S.t ->     'a MoreLabels.Map.S.t * 'a option * 'a MoreLabels.Map.S.t   val find : MoreLabels.Map.S.key -> 'a MoreLabels.Map.S.t -> 'a   val map : f:('a -> 'b) -> 'a MoreLabels.Map.S.t -> 'b MoreLabels.Map.S.t   val mapi :     f:(MoreLabels.Map.S.key -> 'a -> 'b) ->     'a MoreLabels.Map.S.t -> 'b MoreLabels.Map.S.t end