That implicitly constrains how various structures can work and be used.
With C++ destructors would handle that, but not here.
So at best it's analogous to consecutive `unwind-protect` wrapping, which is rather limited. `GOTO`s aren't a very good approximation of the condition system, but they're still considerably more versatile than the prior.
