Many of the LINQ extension methods have ‘optimisations’ which essentially violate the Liskov Substution Principal and peek for stronger types on the collections passed as parameters, in order to apply…Continue readingUnder the hood – Linq’s Where*Iterators