anchor.diff:  
   from_iterator_inner(W, eof) ->
       Key = {W#writer.last_index, W#writer.last_field, W#writer.last_term},
  -    ets:insert(W#writer.offsets_table, {Key, W#writer.pos, W#writer.bloom}),
  -    W#writer { count = 0,
  -               offset = W#writer.pos}.
  +    Offsets = tl(lists:reverse(W#writer.offsets)),
  +    ets:insert(W#writer.offsets_table, {Key, W#writer.pos, Offsets, W#writer.bloom}),
  +    W#writer { count=0 }.
   
   %% return the number of results under this IFT.
   %% TODO - Fix this.
  
positive.code: 
  %% Iterate over the segment file until we find the start of the values
  %% section we want.
  iterate_term(File, Key) ->
      case read_seg_value(File) of
          {key, CurrKey} when CurrKey < Key ->
              iterate_term(File, Key);
          {key, CurrKey} when CurrKey == Key ->
              iterate_term_values(File, Key);
          {value, _} ->
              iterate_term(File, Key);
          _ ->
              file:close(File),
              eof
  
negative.code: 
  -record(writer, { data_file,
                    offsets_table,
                    start_pos = 0,
                    pos = 0,
                    last_offset = 0,
                    offsets = [],
                    count = 0,
                    last_index,
                    last_field,
  