def released
bendvy-ecs-core@0.1.0.4 · ordinary_recovery_component.bend:21
import bendvy-ecs-core@0.1.0.4/ordinary_recovery_component.bend as OrdinaryRecoveryComponent
import Base
import bendvy-ecs-core@0.1.0.4/world.bend as W
import bendvy-ecs-core@0.1.0.4/column.bend as Col
import bendvy-ecs-core@0.1.0.4/owner_product.bend as Product
import bendvy-ecs-core@0.1.0.4/ordinary_component_binding.bend as B
import bendvy-ecs-core@0.1.0.4/recoverable_component.bend as RC
import bendvy-ecs-core@0.1.0.4/recoverable_owner.bend as RO
21def released(~S:Data,~C:Type,~R:Type,~E:Data,~Capture:Type,~Rest:Type,~P:Type,~V:Data,~Token:Data,~take:C -> Rest & Col.Column<S,P>,~put:Rest -> Col.Column<S,P> -> C,~view:P -> P & V,~binding:B.Binding<S,C,Rest,P,V,Token,take,put,view>,~All:Type,~ReleasedRest:Type,~path:Product.Lens<All,List<RC.Record<S,P>>,ReleasedRest>,capture:Capture,recovery:All,result:W.World<S,C,R,E> & RC.Record<S,P>) -> Product.Owner<W.World<S,C,R,E>,Capture> & All:
22 match result:
23 case (world,record):(Product.Owner{world,capture},RO.append(~All,~RC.Record<S,P>,~ReleasedRest,~path,recovery,record))