anchor.diff:      ;
   
   typeParameter
  -    : ordinaryTypeParameter '...'? | '#'! dimensionalTypeParameter
  +    : ordinaryTypeParameter '...'? 
  +    | '#'! dimensionalTypeParameter
       ;
   
   ordinaryTypeParameter
  
positive.code:     ;
  
  typeConstraint
      : 'given' typeName typeArguments? formalParameters? caseTypes? metatypes? satisfiedTypes? abstractedType?
      -> ^(TYPE_CONSTRAINT typeName formalParameters? satisfiedTypes? abstractedType?)
      ;
      
  typeConstraints
      : typeConstraint+
      -> ^(TYPE_CONSTRAINT_LIST typeConstraint+)
      ;
  
  type
  
negative.code:     ;
  
  memberParameters
      : 
          typeParameters? 
          formalParameters+ 
          extraFormalParameters? 
          metatypes? 
          typeConstraints?
      ;
  
  //TODO: should we allow the shortcut style of method
  