fn parse_bound<'i, 't>(
    context: &ParserContext<'_>,
    input: &mut Parser<'i, 't>
) -> Result<CounterBound, ParseError<'i>>