type !'elt t = ('elt, Base__.Comparator.Poly.comparator_witness) t
val is_empty : 'a t -> bool
val iter : 'a t -> f:('a -> unit) -> unit
val fold : 'a t -> init:'acc -> f:('acc -> 'a -> 'acc) -> 'acc
val fold_result :
'a t ->
init:'acc ->
f:('acc -> 'a -> ('acc, 'e) result) ->
('acc, 'e) result
val exists : 'a t -> f:('a -> bool) -> bool
val for_all : 'a t -> f:('a -> bool) -> bool
val count : 'a t -> f:('a -> bool) -> int
val sum :
(module Base__Container_intf.Summable with type t = 'sum) ->
'a t ->
f:('a -> 'sum) ->
'sum
val find : 'a t -> f:('a -> bool) -> 'a option
val find_map : 'a t -> f:('a -> 'b option) -> 'b option
val to_list : 'a t -> 'a list
val to_array : 'a t -> 'a array
val invariants : 'a t -> bool
val mem : 'a t -> 'a -> bool
val add : 'a t -> 'a -> 'a t
val remove : 'a t -> 'a -> 'a t
val union : 'a t -> 'a t -> 'a t
val inter : 'a t -> 'a t -> 'a t
val diff : 'a t -> 'a t -> 'a t
val symmetric_diff :
'a t ->
'a t ->
('a, 'a) Base__.Either0.t Base__.Sequence.t
val compare_direct : 'a t -> 'a t -> int
val equal : 'a t -> 'a t -> bool
val is_subset : 'a t -> of_:'a t -> bool
val are_disjoint : 'a t -> 'a t -> bool
module Named : sig ... end
val fold_until :
'a t ->
init:'acc ->
f:('acc -> 'a -> ('acc, 'final) Base__.Container.Continue_or_stop.t) ->
finish:('acc -> 'final) ->
'final
val fold_right : 'a t -> init:'acc -> f:('a -> 'acc -> 'acc) -> 'acc
val iter2 :
'a t ->
'a t ->
f:([ `Both of 'a * 'a | `Left of 'a | `Right of 'a ] -> unit) ->
unit
val filter : 'a t -> f:('a -> bool) -> 'a t
val partition_tf : 'a t -> f:('a -> bool) -> 'a t * 'a t
val elements : 'a t -> 'a list
val min_elt : 'a t -> 'a option
val min_elt_exn : 'a t -> 'a
val max_elt : 'a t -> 'a option
val max_elt_exn : 'a t -> 'a
val choose : 'a t -> 'a option
val choose_exn : 'a t -> 'a
val split : 'a t -> 'a -> 'a t * 'a option * 'a t
val split_le_gt : 'a t -> 'a -> 'a t * 'a t
val split_lt_ge : 'a t -> 'a -> 'a t * 'a t
val group_by : 'a t -> equiv:('a -> 'a -> bool) -> 'a t list
val find_exn : 'a t -> f:('a -> bool) -> 'a
val nth : 'a t -> int -> 'a option
val remove_index : 'a t -> int -> 'a t
val to_tree : 'a t -> 'a tree
val to_sequence :
?order:[ `Decreasing | `Increasing ] ->
?greater_or_equal_to:'a ->
?less_or_equal_to:'a ->
'a t ->
'a Base__.Sequence.t
val binary_search :
'a t ->
compare:('a -> 'key -> int) ->
[ `First_equal_to
| `First_greater_than_or_equal_to
| `First_strictly_greater_than
| `Last_equal_to
| `Last_less_than_or_equal_to
| `Last_strictly_less_than ] ->
'key ->
'a option
val binary_search_segmented :
'a t ->
segment_of:('a -> [ `Left | `Right ]) ->
[ `First_on_right | `Last_on_left ] ->
'a option
val merge_to_sequence :
?order:[ `Decreasing | `Increasing ] ->
?greater_or_equal_to:'a ->
?less_or_equal_to:'a ->
'a t ->
'a t ->
('a, 'a) Base__Set_intf.Merge_to_sequence_element.t Base__.Sequence.t
val singleton : 'a -> 'a t
val union_list : 'a t list -> 'a t
val of_list : 'a list -> 'a t
val of_sequence : 'a Base__.Sequence.t -> 'a t
val of_array : 'a array -> 'a t
val of_sorted_array : 'a array -> ('a t, Base__.Info.t) result
val of_sorted_array_unchecked : 'a array -> 'a t
val of_increasing_iterator_unchecked : len:int -> f:(int -> 'a) -> 'a t
val stable_dedup_list : 'a list -> 'a list
val map : ('a, 'c) set -> f:('a -> 'b) -> 'b t
val filter_map : ('a, 'c) set -> f:('a -> 'b option) -> 'b t
val of_tree : 'a tree -> 'a t