『プログラミングHaskell』の関数型パーサーをStateTを使って書き直す ref: http://qiita.com/nnabeyang/items/97d67191758dabb50752