def pair_left
bendvy-ecs-core@0.1.0.3 · execution_save_traversal.bend:15
import bendvy-ecs-core@0.1.0.3/execution_save_traversal.bend as ExecutionSaveTraversal
import Base
import bendvy-ecs-core@0.1.0.3/execution_save_data.bend as Saved
import bendvy-ecs-core@0.1.0.3/owner_product.bend as Product
15def pair_left(-LQ:Type,-RQ:Type,-LO:Type,-RO:Type,right:RQ -> RO -> RQ & (RO & Saved.Fields),rightRecipe:RQ,rightOwner:RO,result:LQ & (LO & Saved.Fields)) -> Product.Owner<LQ,RQ> & (Product.Owner<LO,RO> & Saved.Fields):
16 match result:
17 case (leftRecipe,(leftOwner,Saved.Fields{values,Some{error}})):(Product.Owner{leftRecipe,rightRecipe},(Product.Owner{leftOwner,rightOwner},Saved.Fields{values,Some{error}}))
18 case (leftRecipe,(leftOwner,Saved.Fields{values,None{}})):pair_returned(LQ,RQ,LO,RO,leftRecipe,leftOwner,Saved.Fields{values,None{}},right(rightRecipe,rightOwner))