Earlier quoted context omitted.
Speaking of "single pass", one of the criticisms I have of the "enumerator" patterns in modern programming languages is that they encourage multiple passes. As an example: computing the .min() and .max() of an enumerable is two passes even though it could be done with one pass. I'd love to see a language embrace a more efficient style similar to how a SQL does it, where you can elegantly request this as a single pass…
Does C# have the plumbing for this built in? It's been 7 years since using it so I might not be remembering correctly.
You could implement a similar (and simpler) fast path for types with contiguous memory by performing min and max per iteration instead.