functor (Ord : OrderedType->
  sig
    type key = Ord.t
    and +'a t
    val empty : 'MoreLabels.Map.S.t
    val add :
      key:MoreLabels.Map.S.key ->
      data:'-> 'MoreLabels.Map.S.t -> 'MoreLabels.Map.S.t
    val find : MoreLabels.Map.S.key -> 'MoreLabels.Map.S.t -> 'a
    val remove :
      MoreLabels.Map.S.key -> 'MoreLabels.Map.S.t -> 'MoreLabels.Map.S.t
    val mem : MoreLabels.Map.S.key -> 'MoreLabels.Map.S.t -> bool
    val iter :
      f:(key:MoreLabels.Map.S.key -> data:'-> unit) ->
      'MoreLabels.Map.S.t -> unit
    val map : f:('-> 'b) -> 'MoreLabels.Map.S.t -> 'MoreLabels.Map.S.t
    val mapi :
      f:(MoreLabels.Map.S.key -> '-> 'b) ->
      'MoreLabels.Map.S.t -> 'MoreLabels.Map.S.t
    val fold :
      f:(key:MoreLabels.Map.S.key -> data:'-> '-> 'b) ->
      'MoreLabels.Map.S.t -> init:'-> 'b
  end