Prior art: `rust_analyzer` uses [`Parser::eat`](50f4ae798b/crates/ra_parser/src/parser.rs (L94)), which is `next_if` specialized to `|y| next_if(|x| x == y)`. Basically every other parser I've run into in Rust has an equivalent of Parser::eat; see for example - [cranelift](94190d5724/cranelift/reader/src/parser.rs (L498)) - [rcc](a8159c3904/src/parse/mod.rs (L231)) - [crunch](8521874fab/crates/crunch-parser/src/parser/mod.rs (L213-L241))
50f4ae798b/crates/ra_parser/src/parser.rs (L94)
94190d5724/cranelift/reader/src/parser.rs (L498)
a8159c3904/src/parse/mod.rs (L231)
8521874fab/crates/crunch-parser/src/parser/mod.rs (L213-L241)