On Monday, 29 December 2014 at 17:38:42 UTC, H. S. Teoh via
Digitalmars-d wrote:
Most Phobos range functions return opaque types that the user
should not
depend on (even if the type is nameable), since the point of
the range
API is to have user code Just Work(tm) without needing to know
the
actual type of the returned object.
That's not something we should assume a new D user will know.
Someone with a few years of C++ experience will probably be okay,
but that's kind of my point - the documentation shouldn't require
that background. I can imagine someone seeing examples that use
auto with ranges and then asking "Now what?" Those are the
frustrations that make users give up on the language.