Module Belt_internalBuckets

type ('a, 'b) bucket = {
  1. mutable key : 'a;
  2. mutable value : 'b;
  3. mutable next : ('a, 'b) bucket C.opt;
}
and ('hash, 'eq, 'a, 'b) t = ('hash, 'eq, ('a, 'b) bucket) C.container
val copy : ('hash, 'eq, 'a, 'b) t -> ('hash, 'eq, 'a, 'b) t
val forEachU : (_, _, 'a, 'b) t -> ('a -> 'b -> 'c) Js.Fn.arity2 -> unit
val forEach : (_, _, 'a, 'b) t -> ('a -> 'b -> 'c) -> unit
val reduceU : (_, _, 'a, 'b) t -> 'c -> ('c -> 'a -> 'b -> 'c) Js.Fn.arity3 -> 'c
val reduce : (_, _, 'a, 'b) t -> 'c -> ('c -> 'a -> 'b -> 'c) -> 'c
val logStats : (_, _, _, _) t -> unit
val keepMapInPlaceU : (_, _, 'a, 'b) t -> ('a -> 'b -> 'b option) Js.Fn.arity2 -> unit
val keepMapInPlace : (_, _, 'a, 'b) t -> ('a -> 'b -> 'b option) -> unit
val fillArray : int -> ('a * 'b) array -> ('a, 'b) bucket -> int
val keysToArray : (_, _, 'a, _) t -> 'a array
val valuesToArray : (_, _, _, 'b) t -> 'b array
val toArray : (_, _, 'a, 'b) t -> ('a * 'b) array
val getBucketHistogram : (_, _, _, _) t -> int array