functor (Ord : OrderedType->
  sig
    type elt = Ord.t
    type t = Empty | Node of Set.Make.t * Set.Make.elt * Set.Make.t * int
    val height : Set.Make.t -> int
    val create : Set.Make.t -> Set.Make.elt -> Set.Make.t -> Set.Make.t
    val bal : Set.Make.t -> Set.Make.elt -> Set.Make.t -> Set.Make.t
    val add : Set.Make.elt -> Set.Make.t -> Set.Make.t
    val join : Set.Make.t -> Set.Make.elt -> Set.Make.t -> Set.Make.t
    val min_elt : Set.Make.t -> Set.Make.elt
    val max_elt : Set.Make.t -> Set.Make.elt
    val remove_min_elt : Set.Make.t -> Set.Make.t
    val merge : Set.Make.t -> Set.Make.t -> Set.Make.t
    val concat : Set.Make.t -> Set.Make.t -> Set.Make.t
    val split : Ord.t -> Set.Make.t -> Set.Make.t * bool * Set.Make.t
    val empty : Set.Make.t
    val is_empty : Set.Make.t -> bool
    val mem : Ord.t -> Set.Make.t -> bool
    val singleton : Set.Make.elt -> Set.Make.t
    val remove : Ord.t -> Set.Make.t -> Set.Make.t
    val union : Set.Make.t -> Set.Make.t -> Set.Make.t
    val inter : Set.Make.t -> Set.Make.t -> Set.Make.t
    val diff : Set.Make.t -> Set.Make.t -> Set.Make.t
    type enumeration =
        End
      | More of Set.Make.elt * Set.Make.t * Set.Make.enumeration
    val cons_enum :
      Set.Make.t -> Set.Make.enumeration -> Set.Make.enumeration
    val compare_aux : Set.Make.enumeration -> Set.Make.enumeration -> int
    val compare : Set.Make.t -> Set.Make.t -> int
    val equal : Set.Make.t -> Set.Make.t -> bool
    val subset : Set.Make.t -> Set.Make.t -> bool
    val iter : (Set.Make.elt -> 'a) -> Set.Make.t -> unit
    val fold : (Set.Make.elt -> '-> 'a) -> Set.Make.t -> '-> 'a
    val for_all : (Set.Make.elt -> bool) -> Set.Make.t -> bool
    val exists : (Set.Make.elt -> bool) -> Set.Make.t -> bool
    val filter : (Set.Make.elt -> bool) -> Set.Make.t -> Set.Make.t
    val partition :
      (Set.Make.elt -> bool) -> Set.Make.t -> Set.Make.t * Set.Make.t
    val cardinal : Set.Make.t -> int
    val elements_aux : Set.Make.elt list -> Set.Make.t -> Set.Make.elt list
    val elements : Set.Make.t -> Set.Make.elt list
    val choose : Set.Make.t -> Set.Make.elt
  end