Remove LexError from public API
diff --git a/src/lib.rs b/src/lib.rs
index 2d2ad97..d138dd6 100644
--- a/src/lib.rs
+++ b/src/lib.rs
@@ -256,7 +256,10 @@
 /// ```
 #[cfg(feature = "parsing")]
 pub fn parse_str<T: Synom>(s: &str) -> Result<T, ParseError> {
-    _parse(s.parse()?)
+    match s.parse() {
+        Ok(tts) => _parse(tts),
+        Err(_) => Err(ParseError::new("error while lexing input string")),
+    }
 }
 
 // FIXME the name parse_file makes it sound like you might pass in a path to a