    sig
      module type OrderedType = Set.OrderedType
      module type S =
        sig
          type elt
          and t
          val empty : MoreLabels.Set.S.t
          val is_empty : MoreLabels.Set.S.t -> bool
          val mem : MoreLabels.Set.S.elt -> MoreLabels.Set.S.t -> bool
          val add :
            MoreLabels.Set.S.elt -> MoreLabels.Set.S.t -> MoreLabels.Set.S.t
          val singleton : MoreLabels.Set.S.elt -> MoreLabels.Set.S.t
          val remove :
            MoreLabels.Set.S.elt -> MoreLabels.Set.S.t -> MoreLabels.Set.S.t
          val union :
            MoreLabels.Set.S.t -> MoreLabels.Set.S.t -> MoreLabels.Set.S.t
          val inter :
            MoreLabels.Set.S.t -> MoreLabels.Set.S.t -> MoreLabels.Set.S.t
          val diff :
            MoreLabels.Set.S.t -> MoreLabels.Set.S.t -> MoreLabels.Set.S.t
          val compare : MoreLabels.Set.S.t -> MoreLabels.Set.S.t -> int
          val equal : MoreLabels.Set.S.t -> MoreLabels.Set.S.t -> bool
          val subset : MoreLabels.Set.S.t -> MoreLabels.Set.S.t -> bool
          val iter :
            f:(MoreLabels.Set.S.elt -> unit) -> MoreLabels.Set.S.t -> unit
          val fold :
            f:(MoreLabels.Set.S.elt -> 'a -> 'a) ->
            MoreLabels.Set.S.t -> init:'a -> 'a
          val for_all :
            f:(MoreLabels.Set.S.elt -> bool) -> MoreLabels.Set.S.t -> bool
          val exists :
            f:(MoreLabels.Set.S.elt -> bool) -> MoreLabels.Set.S.t -> bool
          val filter :
            f:(MoreLabels.Set.S.elt -> bool) ->
            MoreLabels.Set.S.t -> MoreLabels.Set.S.t
          val partition :
            f:(MoreLabels.Set.S.elt -> bool) ->
            MoreLabels.Set.S.t -> MoreLabels.Set.S.t * MoreLabels.Set.S.t
          val cardinal : MoreLabels.Set.S.t -> int
          val elements : MoreLabels.Set.S.t -> MoreLabels.Set.S.elt list
          val min_elt : MoreLabels.Set.S.t -> MoreLabels.Set.S.elt
          val max_elt : MoreLabels.Set.S.t -> MoreLabels.Set.S.elt
          val choose : MoreLabels.Set.S.t -> MoreLabels.Set.S.elt
        end
      module Make :
        functor (Ord : OrderedType) ->
          sig
            type elt = Ord.t
            and t
            val empty : MoreLabels.Set.S.t
            val is_empty : MoreLabels.Set.S.t -> bool
            val mem : MoreLabels.Set.S.elt -> MoreLabels.Set.S.t -> bool
            val add :
              MoreLabels.Set.S.elt -> MoreLabels.Set.S.t -> MoreLabels.Set.S.t
            val singleton : MoreLabels.Set.S.elt -> MoreLabels.Set.S.t
            val remove :
              MoreLabels.Set.S.elt -> MoreLabels.Set.S.t -> MoreLabels.Set.S.t
            val union :
              MoreLabels.Set.S.t -> MoreLabels.Set.S.t -> MoreLabels.Set.S.t
            val inter :
              MoreLabels.Set.S.t -> MoreLabels.Set.S.t -> MoreLabels.Set.S.t
            val diff :
              MoreLabels.Set.S.t -> MoreLabels.Set.S.t -> MoreLabels.Set.S.t
            val compare : MoreLabels.Set.S.t -> MoreLabels.Set.S.t -> int
            val equal : MoreLabels.Set.S.t -> MoreLabels.Set.S.t -> bool
            val subset : MoreLabels.Set.S.t -> MoreLabels.Set.S.t -> bool
            val iter :
              f:(MoreLabels.Set.S.elt -> unit) -> MoreLabels.Set.S.t -> unit
            val fold :
              f:(MoreLabels.Set.S.elt -> 'a -> 'a) ->
              MoreLabels.Set.S.t -> init:'a -> 'a
            val for_all :
              f:(MoreLabels.Set.S.elt -> bool) -> MoreLabels.Set.S.t -> bool
            val exists :
              f:(MoreLabels.Set.S.elt -> bool) -> MoreLabels.Set.S.t -> bool
            val filter :
              f:(MoreLabels.Set.S.elt -> bool) ->
              MoreLabels.Set.S.t -> MoreLabels.Set.S.t
            val partition :
              f:(MoreLabels.Set.S.elt -> bool) ->
              MoreLabels.Set.S.t -> MoreLabels.Set.S.t * MoreLabels.Set.S.t
            val cardinal : MoreLabels.Set.S.t -> int
            val elements : MoreLabels.Set.S.t -> MoreLabels.Set.S.elt list
            val min_elt : MoreLabels.Set.S.t -> MoreLabels.Set.S.elt
            val max_elt : MoreLabels.Set.S.t -> MoreLabels.Set.S.elt
            val choose : MoreLabels.Set.S.t -> MoreLabels.Set.S.elt
          end
    end