301ac90770
ForLoopHeader, instead assuming that all ranges are closed and that the "last" property is already property calculated. This means the HeaderInfo.last for arrays, "indices" and "until" progressions are decremented from the bound. This simplifies the loop construction and moves the work to the handlers. This will also simplify the handling of "reversed()" in the future since we don't need to consider the case where the lower bound is open.