During garbage collection, we'll iterate through these two vectors.
Instead of freeing the memory, we can swap cells in the vector and
decrement its size.
The idea is we can attach an allocator to the system where we reuse
memory instead of just allocating everytime.