Module type Map.Creators2

type ('a, 'b) t
type ('a, 'b) tree
type comparator_witness
val empty : (__) t
val singleton : 'a -> 'b -> ('a'b) t
val of_alist : ('a * 'b) list -> [ `Ok of ('a'b) t | `Duplicate_key of 'a ]
val of_alist_or_error : ('a * 'b) list -> ('a'b) t Or_error.t
val of_alist_exn : ('a * 'b) list -> ('a'b) t
val of_alist_multi : ('a * 'b) list -> ('a'b list) t
val of_alist_fold : ('a * 'b) list -> init:'c -> f:('c -> 'b -> 'c) -> ('a'c) t
val of_alist_reduce : ('a * 'b) list -> f:('b -> 'b -> 'b) -> ('a'b) t
val of_sorted_array : ('a * 'b) array -> ('a'b) t Or_error.t
val of_sorted_array_unchecked : ('a * 'b) array -> ('a'b) t
val of_increasing_iterator_unchecked : len:int -> f:(int -> 'a * 'b) -> ('a'b) t
val of_increasing_sequence : ('a * 'b) Sequence.t -> ('a'b) t Or_error.t
val of_sequence : ('a * 'b) Sequence.t -> [ `Ok of ('a'b) t | `Duplicate_key of 'a ]
val of_sequence_or_error : ('a * 'b) Sequence.t -> ('a'b) t Or_error.t
val of_sequence_exn : ('a * 'b) Sequence.t -> ('a'b) t
val of_sequence_multi : ('a * 'b) Sequence.t -> ('a'b list) t
val of_sequence_fold : ('a * 'b) Sequence.t -> init:'c -> f:('c -> 'b -> 'c) -> ('a'c) t
val of_sequence_reduce : ('a * 'b) Sequence.t -> f:('b -> 'b -> 'b) -> ('a'b) t
val of_iteri : iteri:(f:(key:'a -> data:'b -> unit) -> unit) -> [ `Ok of ('a'b) t | `Duplicate_key of 'a ]
val of_tree : ('a'b) tree -> ('a'b) t