    sig
      module type OrderedType = Map.OrderedType
      module type S =
        sig
          type key
          and +'a t
          val empty : 'a MoreLabels.Map.S.t
          val add :
            key:MoreLabels.Map.S.key ->
            data:'a -> 'a MoreLabels.Map.S.t -> 'a MoreLabels.Map.S.t
          val find : MoreLabels.Map.S.key -> 'a MoreLabels.Map.S.t -> 'a
          val remove :
            MoreLabels.Map.S.key ->
            'a MoreLabels.Map.S.t -> 'a MoreLabels.Map.S.t
          val mem : MoreLabels.Map.S.key -> 'a MoreLabels.Map.S.t -> bool
          val iter :
            f:(key:MoreLabels.Map.S.key -> data:'a -> unit) ->
            'a MoreLabels.Map.S.t -> unit
          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
          val fold :
            f:(key:MoreLabels.Map.S.key -> data:'a -> 'b -> 'b) ->
            'a MoreLabels.Map.S.t -> init:'b -> 'b
        end
      module Make :
        functor (Ord : OrderedType) ->
          sig
            type key = Ord.t
            and +'a t
            val empty : 'a MoreLabels.Map.S.t
            val add :
              key:MoreLabels.Map.S.key ->
              data:'a -> 'a MoreLabels.Map.S.t -> 'a MoreLabels.Map.S.t
            val find : MoreLabels.Map.S.key -> 'a MoreLabels.Map.S.t -> 'a
            val remove :
              MoreLabels.Map.S.key ->
              'a MoreLabels.Map.S.t -> 'a MoreLabels.Map.S.t
            val mem : MoreLabels.Map.S.key -> 'a MoreLabels.Map.S.t -> bool
            val iter :
              f:(key:MoreLabels.Map.S.key -> data:'a -> unit) ->
              'a MoreLabels.Map.S.t -> unit
            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
            val fold :
              f:(key:MoreLabels.Map.S.key -> data:'a -> 'b -> 'b) ->
              'a MoreLabels.Map.S.t -> init:'b -> 'b
          end
    end