anchor.diff:      ;
   
   tuple
  -    :   '(' params ')'
  +    :   '(' expressions? ')'
       ;
   
   list
  -    :   '[' params ']'
  +    :   '[' expressions? ']'
       ;
   
   seq
  -    :   '<' params '>'
  +    :   '<' expressions? '>'
       ;
   
   dict
  -    :   '{' params '}'
  -    ;
  -
  -primary
  -    :   '(' expression ')'
  -    |   literal
  -    |   Identifier
  -    ;
  -
  -literal
  -    :   IntegerLiteral
  -    |   RangeLiteral
  -    |   FloatingPointLiteral
  -    |   CharacterLiteral
  -    |   StringLiteral
  -    |   BooleanLiteral
  -    |   NullLiteral
  +    :   '{' expressions? '}'
       ;
   
   func
  
positive.code:     :   DO block WHILE expression
      ;
  
  params
      :   (   INDENT expressions (NL expressions)* NL* DEDENT
          |   expressions
          )?
      ;
  
  expressions
      :   expression (COMMA expression)*
      ;
  
  
negative.code:     |   PRINT '(' expression ')'
      |   DEBUG '(' expression ')'
      |   TRACE '(' expression ')'
      |   regex
      |   match
      |   enumeration
      |   func
      |   call
      |   tuple
  