def OMap.rot_lo
import bend-kit-collections@0.1.4.1/omap.bend as Omapimport Base
62# The hi side is too heavy: move weight toward lo.
63def OMap.rot_lo(
64 -K: Data, -V: Data, k: K, v: V, lo: OMap<K, V>, hi: OMap<K, V>
65) -> OMap<K, V>:
66 match hi:
67 case OTip{}:
68 OMap.bin(K, V, k, v, lo, OTip{})
69 case OBin{s, hk, hv, +hl, +hh}:
70 OMap.rot_lo.pick(K, V,
71 U32.is_lt((OMap.size(K, V, hl) + 1 : U32),
72 (2 * (OMap.size(K, V, hh) + 1) : U32)),
73 k, v, lo, hk, hv, hl, hh)