Yes, the special for loop syntax is to make it consistent with the "pfor" syntax. The "pfor" syntax is that way so that it can be parallelized.
Also, I can't believe I forgot to mention this in the post, but both for and pfor can sweep multiple iterators, so
for (i in 0:10, j in 0:5) {
}
Is equivalent to for (i = 0; i < 10; i++) {
for (j = 0; j < 5; j++) {
}
}