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 -> 'a) -> Set.Make.t -> 'a -> '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