I think it is fine. The spec uses a while and `next` and no for-of, and since for-of calls `iterable[Symbol.iterator]()` we are doing that work twice.