Inheriting from Generics: Set the Datatype ... Or Not