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