def parse_selection(lexer: Lexer) -> SelectionNode:
    """Selection: Field or FragmentSpread or InlineFragment"""
    return (parse_fragment if peek(lexer, TokenKind.SPREAD) else parse_field)(lexer)
Selection: Field or FragmentSpread or InlineFragment