Set.PolyPolymorphic sets. This is a copy of Stdlib.Set.Make with type elt replaced by a 'a, and Ord.compare replaced with Stdlib.compare
val empty : 'a tval singleton : 'a -> 'a tval cardinal : 'a t -> intval elements : 'a t -> 'a listval min_elt : 'a t -> 'aval min_elt_opt : 'a t -> 'a optionval max_elt : 'a t -> 'aval max_elt_opt : 'a t -> 'a optionval choose : 'a t -> 'aval choose_opt : 'a t -> 'a optionval find_first : ('a -> bool) -> 'a t -> 'aval find_first_opt : ('a -> bool) -> 'a t -> 'a optionval find_last : ('a -> bool) -> 'a t -> 'aval find_last_opt : ('a -> bool) -> 'a t -> 'a optionval iter : f:('a -> unit) -> 'a t -> unitval fold : f:('a -> 'b -> 'b) -> init:'b -> 'a t -> 'bval is_empty : 'a t -> boolval is_singleton : 'a t -> boolval mem : 'a -> 'a t -> boolval for_all : f:('a -> bool) -> 'a t -> boolval exists : f:('a -> bool) -> 'a t -> boolval to_list : 'a t -> 'a listval of_list : 'a list -> 'a tval to_seq_from : 'a -> 'a t -> 'a Stdlib.Seq.tval to_seq : 'a t -> 'a Stdlib.Seq.tval to_rev_seq : 'a t -> 'a Stdlib.Seq.tval of_seq : 'a Stdlib.Seq.t -> 'a tAdded
val sexp_of_t : ('a -> Sexplib0.Sexp.t) -> 'a t -> Sexplib0.Sexp.t