anchor.diff:  switchStatement(Expression, Cases, HasLexScope) ->
       switchStatement(Expression, [Cases], HasLexScope).
   
  +switchCase(Test, Consequent) when is_list(Consequent) ->
  +   updateRecord(statement(), [{"type", <<"SwitchCase">>}, {"test", Test}, {"consequent", Consequent}]);
  +switchCase(Test, Consequent) ->
  +    switchCase(Test, [Consequent]).
  +
   % Generates a return statement
   returnStatement(Expression) ->
       updateRecord(statement(), [{"type", <<"ReturnStatement">>}, {"argument", Expression}]).
  
positive.code:     updateRecord(whileStatement(Expression, Body), [{"type", <<"ForStatement">>}, {"init", Init}, {"update", Update}]).
  
  % Generates a forIn statement
  forInStatement(Left, Right, Body) when is_list(Body) ->
      updateRecord(statement(), [{"type", <<"ForInStatement">>}, {"left", Left}, {"right", Right}, {"each", false}, {"body", Body}]);
  forInStatement(Left, Right, Body) ->
      forInStatement(Left, Right, [Body]).
  
  
  % ------ Intenal ------ %
  
  
negative.code: % Generates a try statement
  tryStatement(BlockStatement, Handler, GuardedHandler, Finalizer) ->
      updateRecord(statement(), [{"type", <<"TryStatement">>}, {"block", BlockStatement}, {"handler", Handler}, {"guardedHandler", GuardedHandler}, {"finalizer", Finalizer}]).
  
  catchClause(Param, Guard, Body) ->
      updateRecord(statement(), [{"type", <<"CatchClause">>}, {"param", Param}, {"guard", Guard}, {"body", Body}]).
  
  % Generates a while statement
  whileStatement(Expression, Body) when is_list(Body) ->
  