Refactoring: More use monad do notation
Remove surplus matching and improve the parsing performance
Fix the order of parser declarations
Extract the ul parser for the new ol parser and refactor mescellaneous
Rename do-parse, it is confusing
Extract special block elements