def complete.reference
import bend-kit-scheduler@0.4.1.0/queue_laws.bend as QueueLawsimport Base
import bend-kit-scheduler@0.4.1.0/queue.bend as Q
32# Reference semantics are deliberately simple; the live transition takes one
33# pass and its equivalence is proved universally, including duplicate IDs.
34def complete.reference(-A: Data, +i: Nat, s: Q.State<A>) -> Q.State<A> & Maybe<&2, Q.Ticket<A>>:
35 match s:
36 case Q.State{n, h, +r}:
37 (Q.State{n, h, Q.remove.list(A, r, i)}, Q.find.list(A, r, i))