Brendan Eich (2013-02-10T08:20:28.000Z)
github at esdiscuss.org (2013-07-12T02:26:27.587Z)
This is like C#'s current / moveNext, which was discussed at the May 2011 TC39 meeting, and then again last September. See [here](https://mail.mozilla.org/pipermail/es-discuss/2012-September/025241.html) > Rehashed Java (hasMore/getNext) and C# (Current/MoveNext) protocols involving two methods, which costs more for implementors (groups 2 and 3, however ordered) and adds incoherence hazard (two methods get out of sync; C# tries to mitigate common mistake with Java's, but still has dual out-of-sync hazard to Java's). > > MM agreed with BE that Python's is simplest given other constraints we can't change, or "least bad". Changing from hasMore/getNext to current/moveNext does not eliminate two methods that can get out of sync. You can imagine one is a property, not a method, but the general case is a getter or C#-style Current method.