W jaki sposób generyczna kowariancja i kontrawariancja jest implementowana w C # 4.0?

Nie uczestniczyłem w PDC 2008, ale usłyszałem wiadomości, że C # 4.0 ma obsługiwać kowariancję i kontrwariancję rodzajową. Oznacza to, że List<string>można przypisać do List<object>. Jak to możliwe? W książce Jona Skeeta C # in Depth wyjaśniono, dlaczego typy generyczne języka C # nie...