def drain_mb
import bend-collections@1.0.0.0/src/containers/binary_heap.bend as BinaryHeapimport Base
321def drain_mb(~A: Data, arr: Array<Maybe<&2, A>>, root: A, +m: U32, ml: Maybe<&2, A>, empty: Bool) -> Drain<A>:
322 match ml empty:
323 case None{} _:
324 DrLast{arr, root}
325 case Some{last} True{}:
326 DrLast{arr, root}
327 case Some{last} False{}:
328 DrMore{arr, root, m, last}