Compiler bug fix/refinement, edit 859: the starting key in a FOREACH statement may now be any kind of expression. Previously, it only allowed a simple variable or a literal string or numeric constant. And in the case of the numeric constant, although neither the compiler nor runtime complained, the value wasn't being converted to string before treating it as a key, so the resulting starting point of the FOREACH loop was not as expected.
As of this compiler release, any kind of expression that could appear on the right side of an assignment statement is allowed, including numeric expressions. But be advised that in the case of a numeric value, the decimal point and any digits to the right of it are dropped, e.g. 1.9 is treated as "1". If you really want to use a starting key of something like "1.9", then you should explicitly format it using a mask.