def valid
import bendvy-ecs-core@0.1.0.4/schedule.bend as Scheduleimport Base
44def valid(steps: List<&2,Step>,+catalog: List<&2,U32>,+seen: List<&2,U32>) -> Bool:
45 match steps:
46 case []: True{}
47 case Phase{_} <> rest: valid(rest,catalog,seen)
48 case Barrier{} <> rest: valid(rest,catalog,seen)
49 case System{+id,_} <> rest: Bool.and(contains(catalog,id),Bool.and(Bool.not(contains(seen,id)),valid(rest,catalog,id <> seen)))