Why not just return the current `@array` and allocate a new one? I would guess that would create less new allocations.