So, C got `defer`, but they went for Go's version.
In Go (and now C), defer runs at the end of the function. Place a defer in a loop's body and the language will have to allocate to keep track of everything.
In Zig, defer runs at the scope level, no allocation required, ever.