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:     |   PRINT '(' expression ')'
      |   DEBUG '(' expression ')'
      |   TRACE '(' expression ')'
      |   m
      |   s
      |   match
      |   func
      |   call
      |   tuple
  
negative.code:         expression
      ;
  
  regex
      :   M expression SLASH expression SLASH params #m
      |   S expression SLASH expression SLASH expression SLASH params #s
      ;
  
  assign
  