def unwound
bendvy-ecs-core@0.1.0.4 · decode_owned_journal.bend:28
import bendvy-ecs-core@0.1.0.4/decode_owned_journal.bend as DecodeOwnedJournal
import Base
import bendvy-ecs-core@0.1.0.4/bundle_install.bend as Install
28def unwound(~World:Type,~P:Type,~Q:Type,inverse:World -> Install.Restore<World,P,Q>,next:List<(World -> World)> -> World -> List<P> -> List<Pending<Q>> -> Returned<World,P,Q>,owners:List<P>,pending:List<Pending<Q>>,result:World & List<(World -> World)>) -> Returned<World,P,Q>:
29 match result:
30 case (world,undo):restored(~World,~P,~Q,(world => owners => pending => next(undo,world,owners,pending)),owners,pending,inverse(world))