Better use of Type-Parameter