anchor.diff:          new_expression/2,
           call_expression/2,
           member_expression/3,
  +        arrow_expression/6,
  +        yield_expression/1,
  +        generator_expression/3,
  +        comprehension_expression/3,
  +        comprehension_block/3,
  +        comprehension_if/1,
   
           empty_statement/0,
           expression_statement/1,
  
positive.code: 
  %% Generates a SourceLocation node
  -spec source_location(pos_integer(),
                       non_neg_integer(),
                       non_neg_integer()) -> source_location_node().
  source_location(LineNumber, ColStart, ColEnd) ->
      %?spec([{LineNumber, integer}, {ColStart, integer}, {ColEnd, integer}]),
      node("SourceLocation", [{"source", null},
  
negative.code: 
  %% Updates a given node with the given NodeFields
  -spec update_record(es_node(),
                      es_node_fields()) -> es_node().
  update_record({_, _, NodeFields}, NewFields) ->
      UpdatedNodeFields = merge_node_fields(NodeFields, NewFields),
      {_, NodeType} = lists:keyfind("type", 1, UpdatedNodeFields),
  