sig
  type ('a, 'cmp) set
  type ('a, 'cmp) t
  type ('a, 'cmp) tree
  val empty :
    comparator:('a, 'cmp) Comparator.t ->
    ('a, 'cmp) Core_set_intf.Creators2_with_comparator.t
  val singleton :
    comparator:('a, 'cmp) Comparator.t ->
    '-> ('a, 'cmp) Core_set_intf.Creators2_with_comparator.t
  val union_list :
    comparator:('a, 'cmp) Comparator.t ->
    ('a, 'cmp) Core_set_intf.Creators2_with_comparator.t list ->
    ('a, 'cmp) Core_set_intf.Creators2_with_comparator.t
  val of_list :
    comparator:('a, 'cmp) Comparator.t ->
    'a list -> ('a, 'cmp) Core_set_intf.Creators2_with_comparator.t
  val of_array :
    comparator:('a, 'cmp) Comparator.t ->
    'a array -> ('a, 'cmp) Core_set_intf.Creators2_with_comparator.t
  val of_sorted_array :
    comparator:('a, 'cmp) Comparator.t ->
    'a array ->
    ('a, 'cmp) Core_set_intf.Creators2_with_comparator.t Or_error.t
  val of_sorted_array_unchecked :
    comparator:('a, 'cmp) Comparator.t ->
    'a array -> ('a, 'cmp) Core_set_intf.Creators2_with_comparator.t
  val stable_dedup_list :
    comparator:('a, 'cmp) Comparator.t -> 'a list -> 'a list
  val map :
    comparator:('b, 'cmp) Comparator.t ->
    ('a, 'c) Core_set_intf.Creators2_with_comparator.set ->
    f:('-> 'b) -> ('b, 'cmp) Core_set_intf.Creators2_with_comparator.t
  val filter_map :
    comparator:('b, 'cmp) Comparator.t ->
    ('a, 'c) Core_set_intf.Creators2_with_comparator.set ->
    f:('-> 'b option) ->
    ('b, 'cmp) Core_set_intf.Creators2_with_comparator.t
  val of_tree :
    comparator:('a, 'cmp) Comparator.t ->
    ('a, 'cmp) Core_set_intf.Creators2_with_comparator.tree ->
    ('a, 'cmp) Core_set_intf.Creators2_with_comparator.t
end