anchor.diff:          "`include" STR
   
       rule ifdef_statement:
  -        "`ifdef" VAR
  +        "`ifdef" [VAR]
              ( function_body_statement )*
           "`endif"
   
  
positive.code:         VAR "determines" VAR
  
      rule typeclass_statement:
          "typeclass" VAR HASH LPAREN interface_arg (COMMA interface_arg)* RPAREN
          [ "dependencies" LPAREN dep_item (COMMA dep_item)* RPAREN ]
          SEMICOLON
          (function_header SEMICOLON)*
  
negative.code:     rule struct_arg:
          [ "numeric" ] "type" type_variable
  
      rule struct_arg_list:
          LPAREN struct_arg (COMMA struct_arg)* RPAREN
  
      rule typedef_statement:
          "typedef" 
          Member
  
      rule Member:
          ( ( "type" | Type_item_or_name | NUM ) [VAR]
              [ HASH struct_arg_list ] SEMICOLON
          | "enum" LBRACE Elements ( COMMA Elements )* RBRACE VAR
              [ deriving_clause ] SEMICOLON
          | "struct" LBRACE
              ( Type_item_or_name VAR SEMICOLON )* RBRACE
              VAR [ HASH struct_arg_list ]
              [ deriving_clause ] SEMICOLON
          | "union" "tagged"
              LBRACE (Member)+ RBRACE
              VAR
              [ HASH
                  ( struct_arg
                  | struct_arg_list
                  )
              ]
              [ deriving_clause ] SEMICOLON
          )
  
  