def cd.go
import bend-kit-zlib@0.5.1.0/zlib.bend as Zlibimport Base
294# Each step adds at least one length, so total steps suffice.
295def cd.go(k: Nat, +total: U32, st: Cd) -> Cd:
296 match k:
297 case 0n:
298 st
299 case 1n+f:
300 Cd{h, b, acc, +n, +prev, +bad} = st
301 cd.go(f, total, cd.step(Bool.or(bad, U32.is_le(total, n)), h, b, acc, n, prev, bad, total))