Hash_set.PolyA hash set that uses polymorphic comparison.
type nonrec 'a t = 'a tinclude Ppx_sexp_conv_lib.Sexpable.S1 with type 'a t := 'a tval t_of_sexp : (Sexplib0.Sexp.t -> 'a) -> Sexplib0.Sexp.t -> 'a tval sexp_of_t : ('a -> Sexplib0.Sexp.t) -> 'a t -> Sexplib0.Sexp.tval create : ?growth_allowed:bool -> ?size:int -> unit -> 'a tinclude Base.Container.Generic with type 'a t := 'a t with type 'a elt := 'a eltval length : _ t -> intval is_empty : _ t -> boolval fold_result : 'a t -> init:'accum -> f:('accum -> 'a elt -> ('accum, 'e) Base.Result.t) ->
('accum, 'e) Base.Result.tval mem : 'a t -> 'a -> booloverride Container.Generic.mem
val add : 'a t -> 'a -> unitval strict_add : 'a t -> 'a -> unit Base.Or_error.tstrict_add t x returns Ok () if the x was not in t, or an Error if it was.
val strict_add_exn : 'a t -> 'a -> unitval remove : 'a t -> 'a -> unitval strict_remove : 'a t -> 'a -> unit Base.Or_error.tstrict_remove t x returns Ok () if the x was in t, or an Error if it was not.
val strict_remove_exn : 'a t -> 'a -> unitval clear : 'a t -> unitval filter_inplace : 'a t -> f:('a -> bool) -> unitinter t1 t2 computes the set intersection of t1 and t2. Runs in O(min(length t1, length t2)). Behavior is undefined if t1 and t2 don't have the same equality function.
val of_hashtbl_keys : ('a, _) Base.Hashtbl.t -> 'a tval to_hashtbl : 'key t -> f:('key -> 'data) -> ('key, 'data) Base.Hashtbl.t