def drain_root
import bend-collections@1.0.0.0/src/containers/binary_heap.bend as BinaryHeapimport Base
334def drain_root(~A: Data, arr: Array<Maybe<&2, A>>, +m: U32, mr: Maybe<&2, A>) -> Drain<A>:
335 match mr:
336 case None{}:
337 DrDone{arr}
338 case Some{root}:
339 drain_last(~A, root, m, U32.is_eq(m, 0), Array.get(Maybe<&2, A>, arr, m))