I'm unintentionally allocating too much space on the stack by using
`alloca` inside a loop.
To fix this I will do my `alloca` outside of the loop itself. I'm
wondering if there is a way for this to be automatically done: given
alloca a function scope, rather than loop scope.
I'm curious also, since this actually allocates each time in the loop,
is there a way to say the stack allocations are no longer required and
return to an early stack position? My `alloca` will always be in order,
in a tree, thus it'd be safe to return to an early allocation point.