```coffee
for i in [0...parts.length - 1] by 1
```

(the by 1 thing is because the compiler can't tell if parts.length will be negative or not)