Belt_internalAVLtree
type t('key, 'a) = option(node('key, 'a));
type cmp('k, 'id) = Belt_Id.cmp('k, 'id);
let singleton: 'a => 'b => t('a, 'b);
let minKey: t('a, 'b) => option('a);
let minKeyUndefined: t('a, 'b) => Js.undefined('a);
let maxKey: t('a, 'b) => option('a);
let maxKeyUndefined: t('a, 'b) => Js.undefined('a);
let minimum: t('a, 'b) => option(('a, 'b));
let minUndefined: t('a, 'b) => Js.undefined(('a, 'b));
let maximum: t('a, 'b) => option(('a, 'b));
let maxUndefined: t('a, 'b) => Js.undefined(('a, 'b));
let removeMinAuxWithRef:
node('a, 'b) =>
Bs_stdlib_mini.ref('a) =>
Bs_stdlib_mini.ref('b) =>
t('a, 'b);
let isEmpty: t(_, _) => bool;
let findFirstByU:
t('a, 'b) =>
Js.Fn.arity2(('a => 'b => bool)) =>
option(('a, 'b));
let findFirstBy: t('a, 'b) => ('a => 'b => bool) => option(('a, 'b));
let forEachU: t('a, 'b) => Js.Fn.arity2(('a => 'b => unit)) => unit;
let forEach: t('a, 'b) => ('a => 'b => unit) => unit;
let mapU: t('c, 'a) => Js.Fn.arity1(('a => 'b)) => t('c, 'b);
let mapWithKeyU: t('a, 'b) => Js.Fn.arity2(('a => 'b => 'c)) => t('a, 'c);
let reduceU: t('a, 'b) => 'c => Js.Fn.arity3(('c => 'a => 'b => 'c)) => 'c;
let reduce: t('a, 'b) => 'c => ('c => 'a => 'b => 'c) => 'c;
let everyU: t('a, 'b) => Js.Fn.arity2(('a => 'b => bool)) => bool;
let every: t('a, 'b) => ('a => 'b => bool) => bool;
let someU: t('a, 'b) => Js.Fn.arity2(('a => 'b => bool)) => bool;
let some: t('a, 'b) => ('a => 'b => bool) => bool;
let keepMapU: t('a, 'b) => Js.Fn.arity2(('a => 'b => option('c))) => t('a, 'c);
let lengthNode: node('a, 'b) => int;
let size: t('a, 'b) => int;
let toList: t('a, 'b) => list(('a, 'b));
let checkInvariantInternal: t('a, 'b) => unit;
raise when invariant is not held
let fillArray: node('a, 'b) => int => array(('a, 'b)) => int;
let toArray: t('a, 'b) => array(('a, 'b));
let keysToArray: t('a, 'b) => array('a);
let valuesToArray: t('a, 'b) => array('b);
let fromSortedArrayAux: array(('a, 'b)) => int => int => t('a, 'b);
let fromSortedArrayRevAux: array(('a, 'b)) => int => int => t('a, 'b);
let fromSortedArrayUnsafe: array(('a, 'b)) => t('a, 'b);
let cmpU:
t('a, 'b) =>
t('a, 'c) =>
kcmp:cmp('a, _) =>
vcmp:Js.Fn.arity2(('b => 'c => int)) =>
int;
let eqU:
t('a, 'b) =>
t('a, 'c) =>
kcmp:cmp('a, _) =>
veq:Js.Fn.arity2(('b => 'c => bool)) =>
bool;
let getUndefined: t('a, 'b) => 'a => cmp:cmp('a, _) => Js.undefined('b);