Generics: support returning different subclass types.