モジュール内のバグ発見のために
NullPointerExceptionやIllegalArgumentExceptionを発生させるってどうなのか?

外部から引数ありのpublicメソッドがNPEやIAEを投げてきたら
自分が渡した引数に問題があると思ってしまうのが自然じゃないのか?