anchor.diff:      ;
   
   typeConstraint
  -    : 'given' typeName typeArguments? formalParameters? caseTypes? metatypes? satisfiedTypes? abstractedType?
  -    -> ^(TYPE_CONSTRAINT typeName formalParameters? satisfiedTypes? abstractedType?)
  +    : 
  +        'given'!
  +        typeName 
  +        typeArguments? 
  +        formalParameters? 
  +        caseTypes? 
  +        metatypes? 
  +        satisfiedTypes? 
  +        abstractedType?
       ;
       
   typeConstraints
       : typeConstraint+
  -    -> ^(TYPE_CONSTRAINT_LIST typeConstraint+)
  +    -> ^(TYPE_CONSTRAINT_LIST ^(TYPE_CONSTRAINT typeConstraint)+)
       ;
   
   type
  
positive.code:     ;
  
  controlStructure
      : ifElse | switchCaseElse | simpleWhile | doWhile | forFail | tryCatchFinally
      ;
      
  ifElse
  
negative.code:     ;
  
  typeParameter
      : ordinaryTypeParameter '...'? 
      | '#'! dimensionalTypeParameter
      ;
  
  ordinaryTypeParameter
  