Array.get.go: def of Base Import: import Base Lines 2584-2594 of Base/base.bend: https://jend.leeeet.dev/read.txt?path=Base/base.bend&start_line=2584&end_line=2594 import Base def Array.get.go(-T: Data, a: Array, n: U32, +i: U32, z: Bool) -> Array & T: match a z: case ALeaf{+x} _: (ALeaf{x}, x) case ANode{xs, ys} True{}: +h = U32.shr(n) Array.swap.lo(T, ys, Array.get.go(T, xs, h, i, U32.is_lt(i, U32.shr(h)))) case ANode{xs, ys} False{}: +h = U32.shr(n) +j = U32.sub(i, h) Array.swap.hi(T, xs, Array.get.go(T, ys, h, j, U32.is_lt(j, U32.shr(h)))) Uses (10): https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=Array https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=Array.swap.hi https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=Array.swap.lo https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=Bool https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=Pair https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=Sigma https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=U32 https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=U32.is_lt https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=U32.shr https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=U32.sub