anchor.diff:      ;
   
   controlStructure
  -    : ifElse | switchCaseElse | doWhile | forFail | tryCatchFinally
  +    : ifElse | switchCaseElse | while | doWhile | forFail | tryCatchFinally
       ;
       
   ifElse
  
positive.code:     : 'case'! memberName arguments? (','|';'|'...')
      ;
      
  
  typeConstraint
      : typeName ( ('>='^ type) | ('<='^ type) | ('='^ 'subtype') | formalParameters )
      ;
      
  typeConstraints
      //TODO: should it be 'for'?
      : 'where' typeConstraint ('&' typeConstraint)*
      -> ^(TYPE_CONSTRAINT_LIST ^(TYPE_CONSTRAINT typeConstraint)+)
      ;
      
  satisfiedTypes
  
negative.code:         'class'!
          typeName
          typeParameters?
          formalParameters
          extendedType?
          satisfiedTypes?
          typeConstraints?
  