anchor.diff:  	| LITERAL_ACCESS                            #literalAccessExpression
   	| THIS                                      #thisReferenceExpression
   	| BASE ('.' identifier type_argument_list? | '[' expression_list ']') #baseAccessExpression
  -	| NEW (type (object_creation_expression
  +	| NEW (type_ (object_creation_expression
   	             | object_or_collection_initializer
   	             | '[' expression_list ']' rank_specifier* array_initializer?
   	             | rank_specifier+ array_initializer)
   	      | anonymous_object_initializer
   	      | rank_specifier array_initializer)                       #objectCreationExpression
  -	| TYPEOF OPEN_PARENS (unbound_type_name | type | VOID) CLOSE_PARENS   #typeofExpression
  +	| TYPEOF OPEN_PARENS (unbound_type_name | type_ | VOID) CLOSE_PARENS   #typeofExpression
   	| CHECKED OPEN_PARENS expression CLOSE_PARENS                   #checkedExpression
   	| UNCHECKED OPEN_PARENS expression CLOSE_PARENS                 #uncheckedExpression
  -	| DEFAULT OPEN_PARENS type CLOSE_PARENS                         #defaultValueExpression
  +	| DEFAULT OPEN_PARENS type_ CLOSE_PARENS                         #defaultValueExpression
   	| ASYNC? DELEGATE (OPEN_PARENS explicit_anonymous_function_parameter_list? CLOSE_PARENS)? block #anonymousMethodExpression
  -	| SIZEOF OPEN_PARENS type CLOSE_PARENS                          #sizeofExpression
  +	| SIZEOF OPEN_PARENS type_ CLOSE_PARENS                          #sizeofExpression
   	// C# 6: https://msdn.microsoft.com/en-us/library/dn986596.aspx
   	| NAMEOF OPEN_PARENS (identifier '.')* identifier CLOSE_PARENS  #nameofExpression
   	;
  
positive.code: 	;
  
  argument
  	: (identifier ':')? refout=(REF | OUT)? (VAR | type)? expression
  	;
  
  expression
  
negative.code: 	;
  
  local_variable_initializer_unsafe
  	: STACKALLOC type_ '[' expression ']'
  	;
  
  right_arrow
  