def record
bendvy-ecs-core@0.1.0.4 · recoverable_array_owner.bend:20
import bendvy-ecs-core@0.1.0.4/recoverable_array_owner.bend as RecoverableArrayOwner
import Base
import bendvy-ecs-core@0.1.0.4/owner_product.bend as Product
import bendvy-ecs-core@0.1.0.4/recoverable_array.bend as A
import bendvy-ecs-core@0.1.0.4/recovery_journal.bend as Journal
20def record(~State:Type,~P:Type,~Rest:Type,~lens:Product.Lens<State,Array<P>,Rest>,~Recovery:Type,~ReleasedRest:Type,~release:Product.Lens<Recovery,List<A.Record<P>>,ReleasedRest>,state:State,journal:List<Journal.Action(~State,~Recovery)>,old:A.Record<P>) -> State & List<Journal.Action(~State,~Recovery)>:
21 (state,(success => s => r => inverse(~State,~P,~Rest,~lens,~Recovery,~ReleasedRest,~release,old,success,s,r)) <> journal)