combpop: a type-based parser combinator for Rust