def drain_go_owned
import bend-collections@1.0.0.0/src/containers/dynamic_array.bend as DynamicArrayimport Base
661def drain_go_owned(~T: Type, k: Nat, acc: List<&1, T>, r: Array<Maybe<&1, T>> & Maybe<&1, T>) -> List<&1, T>:
662 match k r:
663 case 0n Tuple{arr, x}:
664 cons_owned(~T, x, acc)
665 case 1n+ +m Tuple{arr, x}:
666 drain_go_owned(~T, m, cons_owned(~T, x, acc), Array.swap(Maybe<&1, T>, arr, U32.from_nat(m), None{}))