10 val is_empty : t -> bool
11 val is_any : t -> bool
12 val is_finite : t -> bool
13 val kind : t -> [ `Cofinite | `Finite ]
14 val singleton : elt -> t
15 val mem : elt -> t -> bool
16 val add : elt -> t -> t
17 val remove : elt -> t -> t
20 val diff : t -> t -> t
22 val compare : t -> t -> int
23 val subset : t -> t -> bool
24 val kind_split : t list -> t * t
25 val fold : (elt -> 'a -> 'a) -> t -> 'a -> 'a
26 val for_all : (elt -> bool) -> t -> bool
27 val exists : (elt -> bool) -> t -> bool
28 val filter : (elt -> bool) -> t -> t
29 val partition : (elt -> bool) -> t -> t * t
30 val cardinal : t -> int
31 val elements : t -> elt list
32 val from_list : elt list -> t
35 val equal : t -> t -> bool
36 val positive : t -> set
37 val negative : t -> set
40 module Make : functor (E : Sigs.Set) -> S with type elt = E.elt and type set = E.t