type parameters can be inherited