Port of Haskell's parsec to Rust