def has.step
import ezx@1.11.0.0/src/doctor/plan.bend as Planimport Base
257# the rest of a scan only when this one was not it. `Bool.or` reduces both
258# of its sides, so a scan written with it reads the whole list even when the
259# first entry answers. The rest arrives as a thunk.
260def has.step(here: Bool, rest: Unit -> Bool) -> Bool:
261 match here:
262 case True{}:
263 True{}
264 case False{}:
265 rest(Unit{})