def scan.walk
import ezx@1.11.0.0/src/pkg/pkg.bend as Pkgimport Base
298# the header walked one line at a time. Base's `List.foldl` applies an erased
299# function parameter, which Bend's termination check cannot see through, so
300# every def reaching it is reported as relying on unsafe code; a walk written
301# out is structural and costs nothing.
302def scan.walk(ls: List<&2, String>, st: Head) -> Head:
303 match ls:
304 case []:
305 st
306 case h <> t:
307 scan.walk(t, scan.step(st, h))