module type S = sig .. end
type elt 
 
type t 
 
 
 
val mem : elt -> t -> bool 
 
 
 
val remove : elt -> t -> t 
 
 
 
 
val compare : t -> t -> int 
 
val equal : t -> t -> bool 
 
val subset : t -> t -> bool 
 
val iter : f:(elt -> unit) -> t -> unit 
 
val fold : f:(elt -> 'a -> 'a) -> t -> init:'a -> 'a 
 
val for_all : f:(elt -> bool) -> t -> bool 
 
val exists : f:(elt -> bool) -> t -> bool 
 
val filter : f:(elt -> bool) -> t -> t 
 
val partition : f:(elt -> bool) ->
       t -> t * t 
 
 
val elements : t -> elt list 
 
 
 
 
val split : elt ->
       t -> t * bool * t