revenge of the parser combinator library in Rust