def AP.tof
import bend-osdev-array@0.1.0.1/PROOF.bend as PROOFimport Base
import bend-osdev-array@0.1.0.1/array.bend as A
1339def AP.tof(-T: Data, +d: Nat, +xs: List<&2, T>, +f: T) -> AP.Tree<T>:
1340 match d:
1341 case 0n:
1342 APLeaf{A.Arrays.nth(T, xs, 0n, f)}
1343 case 1n+p:
1344 +s = A.Arrays.slots(p)
1345 APNode{AP.tof(T, p, List.take(&2, T, xs, s), f), AP.tof(T, p, List.drop(&2, T, xs, s), f)}