anchor.diff:      ;
   
   variable
  -    : (type | 'local') memberName formalParameters*
  +    : variableType memberName formalParameters*
  +    ;
  +
  +variableType
  +    : type | 'local'
       ;
   
   // Lexer
  
positive.code: 
  specifier
      : '=' expression
      -> ^(INIT_EXPR expression)
      ;
  
  typeSpecifier
  
negative.code:     
  block
      : '{' declarationsAndStatements (directiveStatement | expressions)? '}'
      -> ^(BLOCK declarationsAndStatements? directiveStatement? expressions?) //note: the first ? is needed here!
      ;
  
  declarationsAndStatements
  