anchor.diff:  // enforce the rule that the ... appears at the end of the parapmeter
   // list in a later pass of the compiler.
   parameter
  -    : compilerAnnotation*
  -      annotations?
  -      parameterType
  -      parameterName
  +    : parameterType parameterName
         (
             valueParameter? specifier?
  -        -> ^(VALUE_PARAMETER_DECLARATION compilerAnnotation* annotations? parameterType parameterName specifier?)
  +        -> ^(VALUE_PARAMETER_DECLARATION parameterType parameterName specifier?)
           |  parameters+ specifier? //for callable parameters
  -        -> ^(FUNCTIONAL_PARAMETER_DECLARATION compilerAnnotation* annotations? parameterType parameterName parameters+ specifier?)
  +        -> ^(FUNCTIONAL_PARAMETER_DECLARATION parameterType parameterName parameters+ specifier?)
         /*| iteratedParameter 
         | (specifiedParameterStart) => specifiedParameter*/
         )
  +    ;
  +
  +annotatedParameter
  +    : annotations? parameter^
  +    ;
  +
  +annotatedParameter2
  +    : compilerAnnotation* annotatedParameter^
       ;
   
   valueParameter
  
positive.code:     ;
  
  typeConstraint
      :   compilerAnnotation*
          'given'^
          typeName 
          typeParameters? 
          parameters? 
          caseTypes? 
          metatypes? 
          satisfiedTypes? 
          abstractedType?
      ;
      
  typeConstraints
      : typeConstraint+
      -> ^(TYPE_CONSTRAINT_LIST typeConstraint+)
      ;
  
  type
  
negative.code:     ;
  
  parameters
      : LPAREN (annotatedParameter2 (',' annotatedParameter2)*)? ')'
      -> ^(PARAMETER_LIST[$LPAREN] annotatedParameter2*)
      ;
  
  //Support for declaring functional formal parameters outside
  