I was incorrect about this possibly leading to a bug. That said, it is still strange. It unnecessarily adds a field to the Iterator prototype. Incrementing it then adds a new field to the instance. Hence, we have two `i` fields: one in the prototype and one in the instance. I prefer initializing it in the constructor, but I can change it back if there's a reason to.