anchor.diff:      ;
   
   type
  +    : staticType | runtimeType
  +    ;
  +
  +staticType
       : typeNameWithArguments ('.' typeNameWithArguments)* abbreviation*
       -> ^(TYPE typeNameWithArguments+ abbreviation*)
  -    | 'subtype' abbreviation*
  +    ;
  +
  +runtimeType
  +    : 'subtype' abbreviation*
       -> ^(TYPE 'subtype' abbreviation*)
  -    | parameterName '.' 'subtype' abbreviation*
  -    -> ^(TYPE parameterName 'subtype' abbreviation*)
  +    /*| parameterName '.' 'subtype' abbreviation*
  +    -> ^(TYPE parameterName 'subtype' abbreviation*)*/
       ;
   
   abbreviation
  -    : '?' | ARRAY | LBRACKET dimension ']'
  +    : '?' | ARRAY //| LBRACKET dimension ']'
       ;
   
   
  
positive.code: 
  parenDimension
      : '(' dimension ')'
      ;
  
  typeParameters
      : '<' typeParameter (',' typeParameter)* '>'
  
negative.code: 
  fragment
  QuotedLiteralPart
      : ~('\'')*
      ;
  
  SIMPLESTRINGLITERAL
  