def take.keep
import bend-kit-scheduler@0.4.1.0/queue.bend as Queueimport Base
116# Remove all matching entries and return the first token in one traversal.
117def take.keep(-A: Data, b: Bool, t: Ticket<A>, result: Taken<A>) -> Taken<A>:
118 match b:
119 case True{}:
120 match result:
121 case Taken{rest, found}:
122 Taken{rest, Some{t}}
123 case False{}:
124 match result:
125 case Taken{rest, found}:
126 Taken{t <> rest, found}