anchor.diff:                  )*
                   TOKENDMODULE [ COLON  VAR ]
               )
  -
  -    rule dep_item:
  -        VAR TOKDETERMINES VAR
  -
  -    rule declaration_item:
  -          module_contents_declaration
           | TOKEXPORT VAR [ LPAREN DOT DOT RPAREN ] SEMICOLON
           | TOKINSTANCE typevar_item
               [ provisos_clause ] SEMICOLON
  -            ( module_contents_declaration )*
  +            ( declaration_item )*
               TOKENDINSTANCE [ COLON VAR ]
  -        | let_statement
  -        | rule_statement
           | TOKTYPECLASS typevar_item
               [ TOKDEPENDENCIES LPAREN dep_item (COMMA dep_item)* RPAREN ]
               SEMICOLON
  -            ( module_contents_declaration )*
  +            ( declaration_item )*
               TOKENDTYPECLASS [ COLON VAR ]
   
       rule goal:
  
positive.code: 
      rule type_decl:
          ( typevar_item_or_var
   [ LBRACKET NUM (COLON NUM)* RBRACKET ]
          | CLASSVAR typevar_item_or_var
          )
  
      rule formal_item:
          ( function_parameter
  
negative.code:             )
              TOKENDCASE
  
      rule single_statement_not_decl:
            TOKFOR LPAREN
                  for_decl_item (COMMA for_decl_item)* SEMICOLON
                  assign_rvalue SEMICOLON
                  for_variable_assignment ( COMMA for_variable_assignment )*
              RPAREN
              single_statement
          | TOKIF paren_expression single_statement [ TOKELSE single_statement ]
          | TOKMATCH ( TOKTAGGED VAR dot_field_list | match_brace ) assign_opvalue SEMICOLON
          | TOKPAR statement_list TOKENDPAR
          | TOKRETURN assign_rvalue SEMICOLON
          | TOKWHILE paren_expression ( statement_with_value | VAR SEMICOLON)
          | statement_with_value
  
      rule single_statement:
            function_declaration
          | let_statement
          | rule_statement
          | single_statement_not_decl
  
      rule statement_list:
          ( single_statement )*
  