def check
bendvy-ecs-core@0.1.0.3 · execution_reservation_materialization.bend:60
import bendvy-ecs-core@0.1.0.3/execution_reservation_materialization.bend as ExecutionReservationMaterialization
import Base
import bendvy-ecs-core@0.1.0.3/execution_reservation_bundle.bend as Bundle
import bendvy-ecs-core@0.1.0.3/execution_composer_layout.bend as Layout
60def check(~S:Data,layout:Layout.Layout) -> U32 -> Layout.columns(~S,layout) -> Bundle.Payload(layout) -> Layout.columns(~S,layout) & (Bundle.Payload(layout) & Maybe<&2,Bundle.Refusal>):
61 match layout:
62 case Layout.EmptyLayout{}:index => store => bundle => (store,(bundle,None{}))
63 case Layout.LayoutLeaf{P,V,refresh,key,accessPolicy}:check_leaf(~S,P,V,key,Layout.LayoutLeaf{P,V,refresh,key,accessPolicy})
64 case Layout.ClassifiedLayoutLeaf{P,V,refresh,key,policy,accessPolicy}:check_leaf(~S,P,V,key,Layout.ClassifiedLayoutLeaf{P,V,refresh,key,policy,accessPolicy})
65 case Layout.LayoutPair{left,right}:index => store => bundle => check_pair(~S,left,right,check(~S,left),check(~S,right),index,store,bundle)