fn grammar<'a: 'b, 'b, I>() -> Grammar<'a, 'b, I>where I: Input<'a, Token = Token, Span = SimpleSpan> + ValueInput<'a>,