anchor.diff:      ;
   
   controlVariableOrExpression
  -    : (variableStart) => variable specifier 
  +    : (declarationStart) => variable specifier 
       | expression
       ;
   
   variable
  -    : (type|'local') memberName
  -    ;
  -
  -//special rule for syntactic predicate
  -variableStart
  -    : variable ('in'|'=')
  +    : (type | 'local') memberName
       ;
   
   // Lexer
  
positive.code:     ;
  
  positionalArgument
      : (variableStart) => specialArgument
      | expression
      ;
  
  
negative.code: // enforce the rule that the ... appears at the end of the parapmeter
  // list in a later pass of the compiler.
  formalParameter
      : annotations? formalParameterType parameterName formalParameters*
        ( valueFormalParameter | iteratedFormalParameter | (specifiedFormalParameterStart) => specifiedFormalParameter )? 
        specifier?
      ;
  
  valueFormalParameter
      : '->' type parameterName
      ;
  
  iteratedFormalParameter
      : 'in' type parameterName
      ;
  
  specifiedFormalParameter
      : '=' type parameterName
      ;
  
  specifiedFormalParameterStart
      : '=' declarationStart
      ;
  
  extraFormalParameter
  