Markdown parser in Haskell