1 import Base 2 import ./execution_composer_layout.bend as Layout 3 import ./world.bend as W 4 import ./execution_command_removed.bend as Removed 5 6 # Closed component-layout traversal: each family appears once, with its own 7 # actual affine payload type. None omits that family. Resources are separate. 8 def Payload(layout:Layout.Layout) -> Type:Removed.Removed(layout) 9 type Refusal is Data: 10 InvalidPending{error:W.WorldError} 11 PermissionDenied{} 12 DuplicateFamily{} 13 PhysicalIndex{} 14 MalformedColumn{key:String} 15 OccupiedFamily{key:String} 16 type Publication<-S:Data,-C:Type,-R:Type,-E:Data,-layout:Layout.Layout> is Type: 17 Materialized{world:W.World,handle:W.Handle,previous:Payload(layout)} 18 RefusedPublication{world:W.World,handle:W.Handle,bundle:Payload(layout),reason:Refusal}