>>514
プログラムに仕込むassertionやプログラムの外に構築するUnit Testと、
言語仕様としての事前条件・事後条件・不変条件の制約は
意味や目的が全く違う。

自主規制(自分で手心を加えられる)と強制(逃げ道がない)の違い。