This treats the stack itself as a place of references that needs to be garbage collected and cleaned up. This will allow tail calls later.
This is actually a use after free!
This allows multiple return values which makes things a lot easier.