Artifice - when a for loop is transformed to a while loop, it is possible that a compilation error may occure. If a new variable is declared in the for initializer, and the name of the variable is already used in the parent block, the outcome will result in an compilation error. The variable has to be renamed manually.