(** None functor version of Set modified from standard library *) type 'a t (** [create compare]*) val create : ('a -> 'a -> int) -> 'a t val add : 'a t -> 'a -> unit val size : 'a t -> int val min_elt : 'a t -> 'a val max_elt : 'a t -> 'a val is_empty : 'a t -> bool val mem : 'a t -> 'a -> bool val remove : 'a t -> 'a -> unit val union : 'a t -> 'a t -> 'a t val inter : 'a t -> 'a t -> 'a t val diff : 'a t -> 'a t -> 'a t val compare : 'a t -> 'a t -> int val equal : 'a t -> 'a t -> bool (** [subset s1 s2] tests whether the set [s1] is a subset of the set [s2] *) val subset : 'a t -> 'a t -> bool val iter : 'a t -> ( 'a -> unit) -> unit val filter : 'a t -> ('a -> bool) ->'a t val partition : 'a t -> ('a -> bool) -> 'a t * 'a t val elements : 'a t -> 'a list val demo : unit -> unit