It's probably worth having a comment that this does not store state between iterations of the main loop, but is only allocated outside the loop for performance reasons.