dynamicは引数の型によってオーバーロードを動的に選択させられるのが便利
そもそも型で分岐すること自体クソではあるけど、どうしても仕方ない場合には
if is並べるよりはよっぽどマシだ