詳細がわからないから何とも言えないけど、
どうも発想の筋が悪いというか、関数型っぽくないというか