
I'm having a hard time getting excited about this. If you had made this argument before the iterator protocol was implemented, it may have been more or less intriguing. But it was implemented and released some time ago, and I just haven't seen any evidence of such problems on c.l.py, the Help list, or the Tutor list (all of which I still pay significant attention to).
This is an important argument IMO that the theorists here seem to be missing somewhat. Releasing a feature and monitoring feedback is a good way of user testing, something that has been ignored too often by language designers. Elegant or minimal abstractions have their place; but in the end, users are more important. Quoting Steven Pemberton's home page (http://www.cwi.nl/~steven/): ABC: Simple but Powerful Interactive Programming Language and Environment. : A Simple but Powerful Interactive Programming Language and Environment. We did requirements and task analysis, iterative design, and user testing. You'd almost think programming languages were an interface between people and computers. Now famous because Python was strongly influenced by it. I still favor this approach to language design. --Guido van Rossum (home page: http://www.python.org/~guido/)