Rename ParseError to ParseFailure throughout - I want to reuse the name ParseError
Add a ParseError type, to capture all the information when there is a parse error
Fix the settings, I switched Left and Right in a refactoring
Change the parser to include the proper context in the failure message