Relock.join.lock: def of ezx@1.11.0.0 Import: import ezx@1.11.0.0/src/relock/relock.bend as Relock Lines 52-62 of ezx@1.11.0.0/src/relock/relock.bend: https://jend.leeeet.dev/read.txt?path=ezx@1.11.0.0/src/relock/relock.bend&start_line=52&end_line=62 import Base import ezx@1.11.0.0/src/lock/plan.bend as P # the edit and the lock as one plan, once the edit is known to succeed: the # edit's effects, the notes, and the lock's effects, or, when the lock # refuses, a refusal with no effect, its reason followed by `tail` def join.lock(lock: P.Plan, +edit: P.Plan, notes: List<&2, P.Effect>, +tail: String) -> P.Plan: P.Plan{es, outcome} = lock match outcome: case P.Success{}: P.Plan{List.append(&2, P.Effect, P.effects(edit), List.append(&2, P.Effect, notes, es)), P.Success{}} case P.Refused{why}: P.Plan{[], P.Refused{why ++ tail}} Uses (8): https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=List https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=List.append https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=String https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=String.append https://jend.leeeet.dev/definition.txt?path=ezx@1.11.0.0/src/lock/plan.bend&name=Effect https://jend.leeeet.dev/definition.txt?path=ezx@1.11.0.0/src/lock/plan.bend&name=Outcome https://jend.leeeet.dev/definition.txt?path=ezx@1.11.0.0/src/lock/plan.bend&name=Plan https://jend.leeeet.dev/definition.txt?path=ezx@1.11.0.0/src/lock/plan.bend&name=effects