sig
  type ('a, 'b) t
  type ('a, 'b) tree
  val empty : ('a, 'b) Core_map_intf.Creators2.t
  val singleton : 'a -> 'b -> ('a, 'b) Core_map_intf.Creators2.t
  val of_alist :
    ('a * 'b) list ->
    [ `Duplicate_key of 'a | `Ok of ('a, 'b) Core_map_intf.Creators2.t ]
  val of_alist_or_error :
    ('a * 'b) list -> ('a, 'b) Core_map_intf.Creators2.t Or_error.t
  val of_alist_exn : ('a * 'b) list -> ('a, 'b) Core_map_intf.Creators2.t
  val of_alist_multi :
    ('a * 'b) list -> ('a, 'b list) Core_map_intf.Creators2.t
  val of_alist_fold :
    ('a * 'b) list ->
    init:'c -> f:('c -> 'b -> 'c) -> ('a, 'c) Core_map_intf.Creators2.t
  val of_alist_reduce :
    ('a * 'b) list ->
    f:('b -> 'b -> 'b) -> ('a, 'b) Core_map_intf.Creators2.t
  val of_sorted_array :
    ('a * 'b) array -> ('a, 'b) Core_map_intf.Creators2.t Or_error.t
  val of_sorted_array_unchecked :
    ('a * 'b) array -> ('a, 'b) Core_map_intf.Creators2.t
  val of_tree :
    ('a, 'b) Core_map_intf.Creators2.tree ->
    ('a, 'b) Core_map_intf.Creators2.t
end