parse method
Implementation
@override
Result<O>? parse(State<I> state) {
final pos = state.pos;
final r = p.parse(state);
if (r == null) {
return null;
}
final v = f(r.value);
if (v) {
return Result(r.value);
}
final error = h(pos, state.pos, r.value);
state.pos = pos;
return state.failAt(pos, error);
}