Mit type of bekommst Du einen neuen Typ der nicht zum Original Kompatibel ist...
Ich gehe mal davon aus, ohne es wirklich probiert zu haben, dass man mit den Typen dann aber ohne Cast rechnen kann (sonst würde Codehunter das nicht so nutzen).
Insofern kann man das durchaus zu seinem Vorteil nutzen. Zum Beispiel in Methodenparametern, um schon beim Aufruf eine klar definierte Einheit zu signalisieren.