`for in ...` should be fine on its own, but I think it would be easier to read if we just used `for(;;)` since it would have fewer nested loops and `if`s.