以下の記事
http://qiita.com/septagon/items/33c26823e8078c9605ee
を見て、「あ、モナド必要ないのにfor式使ってるパターンだ」と思ったので
なんとなくScalazのApplicative(正確にはApply)使って書き換えただけで、特にそれ以上の意味はありません。
https://gist.github.com/xuwei-k/8645040/revisions
Monadに比べて、ApplyやApplicativeは、その他のApplyやApplicativeと合成可能、とかが利点なわけですが、べつに今回書き換えたものだけみたら、特に利点はありませんね。なにか「ScalazでのScala標準ライブラリのParserを扱う際」の参考としてどうぞ