Согласен с Ф.В. про то, что язык позволяет, а компилятор обеспечивает возможность думать о программе, а не о проверках.

На мой взгляд, это в гораздо большей степени полезно не при написании нового кода, а при рефакторинге старого. А рефакторить приходится примерно всегда - чужой код и свой код, написанный 3 месяца назад. Преподавая же программирование, обычно фокусируются как раз на новом коде; поэтому ценность строгости учащимся труднее осознать.