anchor.diff:      ;
   
   methodParameters
  -    : typeParameters? parameters extraParameters? 
  +    : typeParameters? parameters+ extraParameters? 
         metatypes? 
         typeConstraints?
       ;
  
positive.code:     ;
  
  typedMethodOrAttributeDeclaration
      : inferableType memberName
      ( 
        methodParameters 
        (
          memberBody[$inferableType.tree] 
        -> ^(METHOD_DEFINITION inferableType memberName methodParameters memberBody)
        | specifier? ';'
        -> ^(METHOD_DECLARATION inferableType memberName methodParameters specifier?)
      )
      | (specifier | initializer)? ';'
      -> ^(ATTRIBUTE_DECLARATION inferableType memberName specifier? initializer?)
      | memberBody[$inferableType.tree]
      -> ^(ATTRIBUTE_GETTER_DEFINITION inferableType memberName memberBody)      
      )
      ;
  
  inferableType
      : unionType 
      | 'value' 
      | 'function'
      ;
  
  interfaceDeclaration
  
negative.code:     ;
  
  typedMethodOrGetterArgument
      : FUNCTION_MODIFIER memberName parameters* block
        -> ^(METHOD_ARGUMENT FUNCTION_MODIFIER memberName parameters* block)      
      | VALUE_MODIFIER memberName block
        -> ^(ATTRIBUTE_ARGUMENT VALUE_MODIFIER memberName block)      
      | unionType memberName
        ( 
          (parameters+ memberBody[$unionType.tree])
        -> ^(METHOD_ARGUMENT unionType memberName parameters+ memberBody)
        | memberBody[$unionType.tree]
        -> ^(ATTRIBUTE_ARGUMENT unionType memberName memberBody)      
        )
      ;
  
  namedSpecifiedArgument
  