contravariant inheritance and array toList