@override Result<O2>? parse(State<I> state) { final r = p.parse(state); if (r != null) { final v = f(r.value); return Result(v); } return null; }