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
Mike - I believe contravariance isn't allowed in C# either
See Generic type parameter variance in the CLR for some more info.