anchor.diff:      ;
       
   resource
  -    : (declarationStart) => variable specifier 
  +    : (variableStart) => variable specifier 
       | expression
       ;
   
   variable
  -    : annotation* type memberName
  +    : type memberName
  +    ;
  +
  +variableStart
  +    : type memberName ('in'|'=')
       ;
   
   // Lexer
  
positive.code: 
  // Control structures.
  
  // Backtracking here is needed for exactly the same reason as localOrStatement.
  condition
      : ('exists' | 'nonempty')? ( (declarationStart) => variable specifier | expression )
      | 'is' type ( (memberName '=') => memberName specifier | expression )
      ;
  	
  controlStructure
      : ifElse | switchCaseElse | doWhile | forFail | tryCatchFinally
      ;
  
negative.code:     ;
      
  positionalArguments
      : '(' ( (variableStart) => special | (assignable (',' assignable)*)? ) ')'
      ;
  
  special
      : type memberName (containment|specifier)
      ;
  
  formalParameters
  