同じ「単純な事」しかできないなら
高階関数使ったほうがよさげじゃね?
fmap, foldr, >>=, <*> なんかを使ったほうがいいと思う