関数合成を利用して行くべきじゃないのだろうか