// goes well with the stage {} macro (see tok_stages) srecord Stages(new L stages) is Steppable { replace Stage with Runnable. int iStage; Stage stage; public bool step() { ret iStage <= l(stages) && trueBecause(callF(stage = _get(stages, iStage++))); } void stage(Stage stage) { stages.add(stage); } }