anchor.diff:      ;
   
   type
  -    : typeNameWithArguments ('.' typeNameWithArguments)*//( '[' parameterizedType? ']' )?
  -    -> ^(TYPE typeNameWithArguments+)
  -    | 'subtype'
  -    -> ^(TYPE 'subtype')
  +    : typeNameWithArguments ('.' typeNameWithArguments)* abbreviation*
  +    -> ^(TYPE typeNameWithArguments+ abbreviation*)
  +    | 'subtype' abbreviation*
  +    -> ^(TYPE 'subtype' abbreviation*)
  +    ;
  +
  +abbreviation
  +    : '[' ']' | '?'
       ;
   
   typeNameWithArguments
  
positive.code:     | 'abstract'
      | 'default'
      | 'override'
      | 'optional'
      | 'mutable'
      | 'extension'
      | 'volatile'
  
negative.code: 
  LOCAL
      :   'local'
      ;
  
  NONEMPTY
  