type eltand t
val empty : tval is_empty : t -> boolval mem : elt -> t -> boolval add : elt -> t -> tval singleton : elt -> tval remove : elt -> t -> tval union : t -> t -> tval inter : t -> t -> tval disjoint : t -> t -> boolval diff : t -> t -> tval compare : t -> t -> intval equal : t -> t -> boolval subset : t -> t -> boolval iter : f:(elt -> unit) -> t -> unitval map : f:(elt -> elt) -> t -> tval fold : f:(elt -> 'a -> 'a) -> t -> init:'a -> 'aval for_all : f:(elt -> bool) -> t -> boolval exists : f:(elt -> bool) -> t -> boolval filter : f:(elt -> bool) -> t -> tval partition : f:(elt -> bool) -> t -> t * tval cardinal : t -> intval elements : t -> elt listval min_elt : t -> eltval min_elt_opt : t -> elt optionval max_elt : t -> eltval max_elt_opt : t -> elt optionval choose : t -> eltval choose_opt : t -> elt optionval split : elt -> t -> t * bool * tval find : elt -> t -> eltval find_opt : elt -> t -> elt optionval find_first : f:(elt -> bool) -> t -> eltval find_first_opt : f:(elt -> bool) -> t -> elt optionval find_last : f:(elt -> bool) -> t -> eltval find_last_opt : f:(elt -> bool) -> t -> elt optionval of_list : elt list -> tval to_seq_from : elt -> t -> elt Seq.tval to_seq : t -> elt Seq.tval add_seq : elt Seq.t -> t -> tval of_seq : elt Seq.t -> t