Да может у него все функции там статические и компилятор при нормальном приведении типов наперёд знает результат и вызывает что надо. А при ненормальном так сделать не может и делает непойми что (потому, что например по адресу структуры, например, никакой структуры на самом деле нет -- чего зря байты по памяти гонять, содержимое структуры где-то по регистрам и другим переменным сразу разложено).