anchor.diff:   | superclass_expression
    | closure_expression
    | parenthesized_expression
  + | tuple_expression
    | implicit_member_expression
    | wildcard_expression
    | selector_expression
  + | key_path_expression
    ;
   
   implicit_member_expression : '.' identifier ;
  
positive.code: 
  // GRAMMAR OF A SELECTOR EXPRESSION
  
  selector_expression : '#selector' '(' expression ')' ;
  
  // GRAMMAR OF A POSTFIX EXPRESSION (inlined many rules from spec to avoid indirect left-recursion)
  
  
negative.code:   ;
  
  superclass_method_expression	  : 'super' '.' identifier  ;
  superclass_subscript_expression   : 'super' '[' expression_list ']'  ;
  superclass_initializer_expression : 'super' '.' 'init'  ;
  
  // GRAMMAR OF A CLOSURE EXPRESSION
  
  closure_expression : '{' closure_signature? statements? '}'  ;
  closure_signature
   : capture_list? closure_parameter_clause 'throws'? function_result? 'in'
   | capture_list 'in'
   ;
  
  closure_parameter_clause
   : '(' ')'
   | '(' closure_parameter_list ')'
   | identifier_list
   ;
  
  closure_parameter_list : closure_parameter (',' closure_parameter)* ;
  
  closure_parameter
   : closure_parameter_name type_annotation?
   | closure_parameter_name type_annotation '...'
   ;
  
  closure_parameter_name : identifier;
  
  capture_list : '[' capture_list_items ']'  ;
  capture_list_items : capture_list_item (',' capture_list_item)* ;
  