This is a repo for Wafe Function Collapse. The logic is already implemented. There is branching logic that creates a new state and allocates a lot of memory. I want you to create an "stack" allocator specifically for the wfc algorithm that the program can use to quickly allocate new branches. The deallocation should only occur when a branch goes out of scope, so no need to have logic in the deallocate() function.