多重ディスパッチと末尾再帰最適化で完全に不要