Und das vor allem zur Compile-Zeit ... oder?
Jupp.
Genauso, wie bei den überladenen Methoden.
Wenn man das in einer Methode macht und dann erst in der Prozedur den Typ prüft, dann bekommt man auch erst zur Laufzeit mit (hoffentlich schnell), wenn etwas nicht stimmt.