関数の入り口でチェックしても、式を評価する直前にチェックしても
型の齟齬があったとき実行時例外が出るのは同じだけどな。

ま、こんなコード

Object[] x = new Integer[1];
x[0] = new String();

が通る言語でも平気で静的型を名乗ってるから何でも良いか。