Turn Nil into an object and demonstrate covariance of two types.

Objects don't take type parameters so Nil has to extend List of some concrete type, and Nothing is the 'least' type so it fits in here. But before this can pass compilation, List's type parameter needs to be covariant i.e. A List of some type A is a subtype of a List of another type B, where A is a subtype of B. In this case List[Nothing] is a subtype of List[T] for all T, so it works.