anchor.diff:  
   parameterName
       : LIDENTIFIER
  -    -> ^(PARAMETER_NAME LIDENTIFIER)
  +    -> ^(PARAMETER_NAME[$LIDENTIFIER])
       ;
   
   namedArguments
  -    : '{' ((namedArgumentStart) => namedArgument)* expressions? '}'
  -    -> ^(NAMED_ARGUMENT_LIST ^(NAMED_ARGUMENT namedArgument)* ^(SEQUENCED_ARGUMENT expressions)?)
  +    : LBRACE ((namedArgumentStart) => namedArgument)* expressions? '}'
  +    -> ^(NAMED_ARGUMENT_LIST[$LBRACE] ^(NAMED_ARGUMENT namedArgument)* ^(SEQUENCED_ARGUMENT expressions)?)
       ;
   
   parExpression 
  
positive.code:     ;
      
  objectArgument
      : 'object' parameterName extendedType? satisfiedTypes? classBody
      -> parameterName ^(OBJECT_ARGUMENT parameterName extendedType? satisfiedTypes? classBody)
      ;
  
  voidMethodArgument
  
negative.code:     ;*/
  
  typeParameters
      : SMALLER_OP typeParameter (',' typeParameter)* '>'
      -> ^(TYPE_PARAMETER_LIST[$SMALLER_OP] typeParameter+)
      ;
  
  typeParameter
      : variance? typeName
      -> ^(TYPE_PARAMETER variance? typeName)
      | typeName '...'
      -> ^(SEQUENCED_TYPE_PARAMETER typeName)
      //| '#'! dimensionalTypeParameter
      ;
  
  variance
      : IN_OP -> ^(TYPE_VARIANCE[$IN_OP])
      | OUT -> ^(TYPE_VARIANCE[$OUT])
      ;
      
  dimensionalTypeParameter
  