Как универсальная ковариация и контравариантность реализованы в C # 4.0?

Я не был на PDC 2008, но услышал новости о том, что C # 4.0 объявлен для поддержки универсальной ковариантности и контр-дисперсии. То есть List<string>можно назначить List<object>. Как такое могло быть? В книге Джона Скита « C # in Depth» объясняется, почему универсальные шаблоны C # не...