静的型システムは単純なエラーを検出できるだけだが、
「単体テストならもっと広い範囲のエラーを検出できるのだから、
わざわざ静的型システムを使う必要は無い」とまでいう人々もいる。

私たちは、このような議論には見落としがあると思う。
確かに、静的型システムは単体テストの代わりになるわけではないが、
プログラムの性質を確認するために普通なら必要だった単体テストの数を減らしてくれる。

さらに、単体テストは静的型付けの代わりにはならない。
エドガー・ダイクストラが言ったように、テストが証明できるのはエラーの存在であって、
エラーの不在ではない。静的型付けが与えてくれる保証は単純なものかもしれないが、
どれだけテストをしたとしても得られない本物の保証なのである。