Einmal Generics, immer Generics. D.h. das ist kein nettes Feature, sondern ein komplett anderes Programmierparadigma. Will sagen: Du kannst Generics nicht mit Nicht-Generics mischen.
Wenn du was mit Generics ableitest, dann musst Du das durchziehen.
(Also es gibt Klimmzüge, um mit Reflection/
RTTI noch was zu drehen, aber ... lass es.)