anchor.diff:      ;
   
   if_block
  -    :   IF expression block (ELSIF expression block)* (ELSE block)?
  +    :   IF expression block (ELIF expression block)* (ELSE block)?
       ;
   
   foreach_block
  
positive.code: 
  literal
      :   IntegerLiteral
      |   FloatingPointLiteral
      |   CharacterLiteral
      |   StringLiteral
      |   BooleanLiteral
      |   'null'
      ;
  
  func
      :   '(' params ')'
          (   match_block
          |   block
          )
      ;
  
  call
      :   Identifier '(' params ')'
      ;
  
  params
  
negative.code: // §3.12 Operators
  
  ARROW           :   '->';
  DOTS            :   '..';
  
  ASSIGN          :   '=';
  GT              :   '>';
  