It seems to me that we should convert step to a number earlier. I tried a simple test:
``` dim x for x = 1 to 2 step "a" call ok(false, "in for..to, expected an earlier error") next ```
On Windows it throws type error earlier, before the first step. To implement that, I guess we could have a new opcode converting value to a number and use that instead of OP_val in `compile_forto_statement`.