引数型チェックは
Interface ブロックでやってる。

複数やり方があるのは
いうことなんだろうけど、面倒だよね