fn next_token_if<'i, F: Fn(TokenKind) -> bool>( tokens: &mut TokenSlice<'i, Token>, pred: F, ) -> Option<&'i Token>