It's a pattern I use fairly often when I'm running a pre-defined value up to an end point, as here and line 276.  If you have a preferred alternative I'll modify the code to suit.

The helper method thing has never really appealed to me for various reasons, but it boils down to personal preference really.  I'd rather have a 100-line method body than 5 20-line helpers that are only used by one method.  Common functionality should be split away for use elsewhere, absolutely.  Again, if you have a preference I'll modify to suit.  Happy to take suggestions on any of this code.

`++foo` vs `foo++` is a hangover from the bad old pre-optimizer days.  It used to be that if you weren't using the return value it was a couple of clock cycles faster to use pre-increment than post-increment, and it used an extra register if you used the post-increment form.  I got into the habit in the late 80s, and never really broke out of it.  Will try to mend my ways :grinning: