title: Type variance in .NET Framework 4.0
body: <p><code>IEnumerable&lt;T&gt;</code>, <code>IComparable&lt;T&gt;</code> and a few more are now type-variant. <code>IList&lt;T&gt;</code>, <code>ICollection&lt;T&gt;</code> and many others aren't. Why?</p>