anchor.diff:          | 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
  +        | TOKWHILE paren_expression ( statement_yielding_value | VAR SEMICOLON)
  +        | statement_yielding_value
   
       rule single_statement:
  -          function_declaration
  -        | let_statement
  -        | rule_statement
  -        | single_statement_not_decl
  +          statement_or_declaration
  +        | single_statement_no_declaration
   
       rule statement_list:
           ( single_statement )*
  
positive.code:     rule dep_item:
          VAR TOKDETERMINES VAR
  
      rule declaration_item:
            interface_declaration [SEMICOLON]
          | function_declaration
          | let_statement
          | rule_statement
          | method_declaration
          | TOKMODULE [ LBRACKET assign_rvalue RBRACKET ] typevar_item_or_var
              [ typevar_param_list ]
              [ provisos_clause ] SEMICOLON
              [
                  (   TOKENDMODULE [ COLON VAR]
                  |   ( declaration_item | single_statement)+ TOKENDMODULE [ COLON VAR]
                  )
              ]
          | TOKTYPEDEF ( single_type_definition | NUM VAR SEMICOLON )
  
negative.code:             )
              TOKENDCASE
  
      rule statement_or_declaration:
            TOKFUNCTION [ Type_list ]
              [function_name]
              [ formal_list ]
              [ provisos_clause ]
              ( equal_value SEMICOLON
              | SEMICOLON [ ( single_statement)+ TOKENDFUNCTION [ COLON  function_name] ]
              )
          | ( TOKLET ( VAR | LBRACE VAR (COMMA VAR)* RBRACE) assign_opvalue
            | typevar_item declared_item ( COMMA declared_item )*
            | expr<<[]>>
                [   ( declared_item ( COMMA declared_item )*
                    | assign_opvalue
                    )
                ]
            ) SEMICOLON
          | rule_statement
  
      rule single_statement_no_declaration:
            TOKFOR LPAREN
                  for_decl_item (COMMA for_decl_item)* SEMICOLON
                  assign_rvalue SEMICOLON
  