anchor.diff:                      expression_node(),
                       statement_node()) -> for_statement_node().
   for_statement(Init, Update, Expression, Body) ->
  -    %?spec([{Init, [expression, variableDeclaration, null]},
  -    %       {Update, [expression, null]},
  -    %       {Expression, expression},
  -    %       {Body, statement}]),
       update_record(while_statement(Expression, Body), [{"type", <<"ForStatement">>},
                                                         {"init", Init},
                                                         {"update", Update}]).
  
positive.code: -spec switch_case(expression_node(),
                    [statement_node()]) -> switch_case_statement_node().
  switch_case(Test, Consequent) ->
      %?spec([{Test, expression}, {Consequent, list_of_statement}]),
      update_record(statement(), [{"type", <<"SwitchCase">>},
                                  {"test", Test},
                                  {"consequent", Consequent}]).
  
negative.code:                        statement_node(),
                         boolean()) -> for_in_statement_node().
  for_in_statement(Left, Right, Body, Each) ->
      update_record(statement(), [{"type", <<"ForInStatement">>},
                                  {"left", Left},
                                  {"right", Right},
  