Module type HashSet.S

type t
type elt
val create : int -> t
val singleton : elt -> t
val clear : t -> unit
val copy : t -> t
val copy_into : into:t -> t -> unit
val insert : t -> elt -> unit
val remove : t -> elt -> unit
val cardinal : t -> int
val mem : t -> elt -> bool
val find_exn : t -> elt -> elt
val find : t -> elt -> elt option
val inter : t -> t -> t
val inter_mut : into:t -> t -> unit
val union : t -> t -> t
val union_mut : into:t -> t -> unit
val diff : t -> t -> t
val subset : t -> t -> bool
val equal : t -> t -> bool
val for_all : (elt -> bool) -> t -> bool
val exists : (elt -> bool) -> t -> bool
val iter : (elt -> unit) -> t -> unit
val fold : ('a -> elt -> 'a) -> 'a -> t -> 'a
val elements : t -> elt list
val of_list : elt list -> t
val to_iter : t -> elt iter
val of_iter : elt iter -> t
val add_iter : t -> elt iter -> unit
val pp : ?pp_sep:unit printer -> elt printer -> t printer