Set up covariance in type parameter and make Empty a case object.