Helper function to actually run the parser
The typed result of parsing
The string to be parsed
When unparsed input remains, or cannot be parsed at all