Generic collections are present in C# since the very beginning of this language (since .NET Framework 2.0). One of the most essential feature of generic collections is possibility of enumerating through collection elements – as they’re implementing IEnumerable interface. But let’s step aside from consuming IEnumerable results and think for a while if we are using the full power of C# language when returning an IEnumerable type?