Belt_internalAVLsettype t('value) = option(node('value));type cmp('a, 'b) = Belt_Id.cmp('a, 'b);let singleton: 'a => t('a);let minimum: t('a) => option('a);let minUndefined: t('a) => Js.undefined('a);let maximum: t('a) => option('a);let maxUndefined: t('a) => Js.undefined('a);let removeMinAuxWithRef: node('a) => Bs_stdlib_mini.ref('a) => t('a);let isEmpty: t('a) => bool;let forEachU: t('a) => Js.Fn.arity1(('a => unit)) => unit;let forEach: t('a) => ('a => unit) => unit;let reduceU: t('a) => 'b => Js.Fn.arity2(('b => 'a => 'b)) => 'b;let reduce: t('a) => 'b => ('b => 'a => 'b) => 'b;let everyU: t('a) => Js.Fn.arity1(('a => bool)) => bool;let every: t('a) => ('a => bool) => bool;let someU: t('a) => Js.Fn.arity1(('a => bool)) => bool;let some: t('a) => ('a => bool) => bool;let keepCopyU: t('a) => Js.Fn.arity1(('a => bool)) => t('a);let partitionCopyU: t('a) => Js.Fn.arity1(('a => bool)) => (t('a), t('a));let lengthNode: node('a) => int;let size: t('a) => int;let toList: t('a) => list('a);let checkInvariantInternal: t(_) => unit;raise when invariant is not held
let fillArray: node('a) => int => array('a) => int;let toArray: t('a) => array('a);let fromSortedArrayAux: array('a) => int => int => t('a);let fromSortedArrayRevAux: array('a) => int => int => t('a);let fromSortedArrayUnsafe: array('a) => t('a);let getUndefined: t('a) => 'a => cmp:cmp('a, 'b) => Js.undefined('a);