Good points on why an explicit range distinction is desired; I probably should have looked harder at how std.container worked. I'm also probably spoiled/unlearning from C#'s IEnumerable<T> syntactic sugar (foreach over enumerator, LINQ) which handles most of these considerations for you. You could say it encourages conflating the container with the iteration mechanism (range in D, enumerator in C#). I see the distinction now but old habits die hard, I guess. :)

Reply via email to