@cblake: > but I felt your post risked leaving that impression.
No, I didn't intend to leave that impression and you make your point. My real point is that iterators are an abstraction to make the basic cases of the use of enumeration over a range or collection of some type easy; I think they will always be limited in use for more complex cases such as recursion and if they did have this capability added, they would then have the danger of causing races. My real point was that there are other ways to implement **the effect of recursive iterators** for those who really need them, with my lazy linear list example showing one of the ways.
