It seems that a List object cannot be stored in a List variable in C#, and can\'t even be explicitly cast that way.
List sl = new List
I think that this (contravariance) will actually be supported in C# 4.0. http://blogs.msdn.com/charlie/archive/2008/10/27/linq-farm-covariance-and-contravariance-in-visual-studio-2010.aspx