What do you guys do for return and break early when you're dealing with manually allocated memory buffers? Duplicated cleanup? `goto`s? [nn_autofree()](https://github.com/numist/NNKit/blob/master/NNKit/Hacks/nn_autofree.m)?