anchor.diff:          ( VAR
           | LBRACE VAR (COMMA VAR)* RBRACE
           )
  -        ( EQUAL | LARROW )
  -        assign_value SEMICOLON
  -
  -    rule Elements: term<<[]>> [EQUAL expression]
  -
  -    rule TypeClass:
  +        ( EQUAL | LARROW ) assign_value SEMICOLON
  +
  +    rule enum_element: term<<[]>> [EQUAL expression]
  +
  +    rule deriving_type_class:
           TOKEQ | TOKBITS | TOKBOUNDED
   
       rule deriving_clause:
  -        TOKDERIVING  LPAREN TypeClass ( COMMA TypeClass )* RPAREN
  +        TOKDERIVING  LPAREN deriving_type_class ( COMMA deriving_type_class )* RPAREN
   
       rule struct_arg:
           [ TOKNUMERIC | TOKPARAMETER ] TOKTYPE VAR
   
       rule struct_arg_list:
  -        LPAREN struct_arg (COMMA struct_arg)* RPAREN
  +          VAR
  +        | interfaceTypesub
  +
  +    rule instance_arg:
  +        Type_nitem | NUM
   
       rule typedef_declaration:
           TOKTYPEDEF 
  
positive.code:         | case_statement
          | for_statement
          | function_statement
          #| expression SEMICOLON
          | variable_declaration_or_call
          )*
          TOKENDACTIONVALUE
  
negative.code:                     [
                      ( method_declaration
                      | attribute_statement
                      )+
                      TOKENDINTERFACE [ COLON VAR ]
                      ]
  