pub(crate) fn alloc(&mut self, len: Usize<C::N>, size: usize) -> Ptr<C::N> {
        let ptr = Ptr::uninit(self);
        self.push_op(DslIr::Alloc(ptr, len, size));
        ptr
    }
Allocates an array on the heap.
crates/recursion/compiler/src/ir/ptr.rs