anchor.diff:          expression
       ;
   
  +m
  +    :   M expression SLASH expression SLASH params
  +    ;
  +
  +s   :   S expression SLASH expression SLASH expression SLASH params
  +    ;
  +
   assign
       :   Identifier '=' expression
  +    ;
  +
  +tuple
  +    :   '(' expressions? ')'
  +    ;
  +
  +list
  +    :   '[' expressions? ']'
  +    ;
  +
  +seq
  +    :   '<' expressions? '>'
  +    ;
  +
  +dict
  +    :   '{' expressions? '}'
       ;
   
   primary
  
positive.code:     |   expression ('+'|'-') expression
      |   expression ('<' '<' | '>' '>' '>' | '>' '>') expression
      |   expression ('<=' | '>=' | '>' | '<') expression
      |   expression 'is' type
      |   expression ('==' | '!=') expression
      |   expression DOTS expression
      |   expression '&' expression
      |   expression '^' expression
      |   expression '|' expression
      |   expression '&&' expression
      |   expression '||' expression
      |   expression '?' expression ':' expression
      |   expression
          (   '='<assoc=right>
          |   '+='<assoc=right>
  
negative.code: WITH    :   'with';
  WHILE   :   'while';
  
  M       :   'm/';
  S       :   's/';
  
  // §3.10.1 Integer Literals
  
  IntegerLiteral
  