anchor.diff:          typevar_item
           | TOKINTEGER | TOKBOOL | TOKSTRING | TOKREAL | TOKNAT | TOKACTION | TOKACTIONVALUE
   
  +    rule Type_nitem:
  +        #term_single
  +        Type_item
  +        | VAR [ LBRACKET NUM (COLON NUM)* RBRACKET ]
  +        | CLASSVAR typevar_item_or_var
  +
  +    rule function_parameter:
  +        TOKFUNCTION function_argument
  +
  +    rule formal_item:
  +        ( function_parameter
  +        | Type_nitem [ item_name ]
  +        )
  +
       rule param_item:
           (   LPAREN param_item RPAREN
           |   ( [ TOKNUMERIC | TOKPARAMETER ] TOKTYPE VAR
               | formal_item
  +            #| function_parameter
               | NUM
               | STR
               )
  
positive.code:         | TOKACTION
          | TOKACTIONVALUE
  
      rule Type_nitem:
          Type_item
          | VAR [ LBRACKET NUM (COLON NUM)* RBRACKET ]
          | CLASSVAR typevar_item_or_var
  
      rule Type_list:
          ( Type_nitem
          | LPAREN Type_nitem (COMMA Type_nitem)* RPAREN
          )
  
      rule enum_element: term<<[]>> [EQUAL expr<<[]>>]
  
      rule deriving_type_class:
          TOKEQ | TOKBITS | TOKBOUNDED
  
negative.code:         ( EQUAL | LARROW ) assign_value SEMICOLON
  
      rule single_statement:
            action_statement
          | actionvalue_statement
          | case_statement
          | for_statement
          | function_declaration
          | group_statement
          | if_statement
          | let_statement
          | match_statement
          | par_statement
          | return_statement
          | rule_statement
          | seq_statement
          | while_statement
          | variable_declaration_or_call
  
      rule statement_list:
  