On Saturday, 18 October 2014 at 16:16:17 UTC, Sean Kelly wrote:
gets my point across. It's always possible to reduce a library interface to something that's even more stripped-down, which is by definition more powerful and foundational. But if the user never wants to work at that low level of abstraction then you're just imposing an unnecessary burden upon them.
Anything that you can do with an iterator can be done with a tail recursive function, but not vice versa, which means iterators serve no purpose.
