責任分界点のインタフェースや入出力など、作っている側がコントロールできな
い場合はチェックのコードを明示的に書く必要がある。

自分一人で全部作っているなら引数チェックをassertでやっても構わないんじゃ
ないかと思う。