やっぱりだんまりかw

ついでだからもう一回重要な点を言っておくか。

変数に想定した型のみが入るようにすることはできる。
変数ごとに、この型以外が入ってきたらエラーにすればいいだけ。
それを動的型でやるのはナンセンスだよなw

で、もっと重要なのは、変数に想定した型以外を入れようとする行為(バグ)
例えば、関数の引数に(バグ)で不正な型を入れて呼び出すコード。
これを書いてしまうことをテストで検出することは出来ない。

ややこしいだろうから簡潔に言うと

・不正な型が入ってきたらエラーにする・・・可能
・不正な型を入れようとする・・・動的では検出不可能

動的型では入ってきた後にエラーにすることはできるが、入れようとすることを防ぐことは出来ない。
そしてこれをテストで検出することも出来ない。別の言い方をすると前者は単体テストの範疇だが、
後者は結合テストの範疇だからだ。結合テストの一部を型システムはテストできる。