def remove.heap.keep
bend-kit-scheduler@0.4.1.0 · queue.bend:76
import bend-kit-scheduler@0.4.1.0/queue.bend as Queue
import Base
import bend-kit-collections@0.1.4.1/heap.bend as H
76def remove.heap.keep(~A: Data, b: Bool, t: Ticket<A>, l: H.Heap<Ticket<A>>, r: H.Heap<Ticket<A>>) -> H.Heap<Ticket<A>>:
77 match b:
78 case True{}:
79 H.Heap.merge(~Ticket<A>, ~(a => b => le(A, a, b)), l, r)
80 case False{}:
81 +l = l
82 +r = r
83 H.HNode{1n+Nat.add(H.Heap.size(Ticket<A>, l), H.Heap.size(Ticket<A>, r)), t, l, r}