Bagaimana Generic Covariance & Contra-variance Diimplementasikan dalam C # 4.0?

Saya tidak menghadiri PDC 2008, tetapi saya mendengar beberapa berita bahwa C # 4.0 diumumkan untuk mendukung kovarians Generik dan kontra-varian. Artinya, List<string>bisa ditugaskan ke List<object>. Bagaimana bisa? Dalam buku Jon Skeet C # in Depth , dijelaskan mengapa C # generik...