`functor
(T : T.T2) (Tree : T.T2) (Elt : T.T1) (Cmp : T.T1) (Options : T.T3) (M :
sig
type ('a, 'cmp) set
val empty : ('a, 'cmp, ('a, 'cmp) T.t) Options.t
val singleton : ('a, 'cmp, 'a Elt.t -> ('a, 'cmp) T.t) Options.t
val union_list :
('a, 'cmp, ('a, 'cmp) T.t list -> ('a, 'cmp) T.t) Options.t
val of_list : ('a, 'cmp, 'a Elt.t list -> ('a, 'cmp) T.t) Options.t
val of_array : ('a, 'cmp, 'a Elt.t array -> ('a, 'cmp) T.t) Options.t
val of_sorted_array :
('a, 'cmp, 'a Elt.t array -> ('a, 'cmp) T.t Or_error.t) Options.t
val of_sorted_array_unchecked :
('a, 'cmp, 'a Elt.t array -> ('a, 'cmp) T.t) Options.t
val stable_dedup_list :
('a, 'b, 'a Elt.t list -> 'a Elt.t list) Options.t
val map :
('b, 'cmp, ('a, 'c) set -> f:('a -> 'b Elt.t) -> ('b, 'cmp) T.t)
Options.t
val filter_map :
('b, 'cmp, ('a, 'c) set -> f:('a -> 'b Elt.t option) -> ('b, 'cmp) T.t)
Options.t
val of_tree :
('a, 'cmp, ('a Elt.t, 'cmp) Tree.t -> ('a, 'cmp) T.t) Options.t
val of_map_keys : ('a Elt.t, 'b, 'cmp Cmp.t) Map.t -> ('a, 'cmp) T.t
end) -> sig end`