anchor.diff:                 _ ->
                      encode(Id, First, <<>>)
              end,
  -    IS2 = iterate(eleveldb:iterator_move(Itr, Seek), IS1),
  +    IS2 = iterate(iterator_move(Itr, Seek), IS1),
       #itr_state{current_segment=LastSegment,
                  segment_acc=LastAcc,
                  final_acc=FA} = IS2,
  
positive.code:             %% Still reading existing segment
              IS2 = IS#itr_state{current_segment=Segment,
                                 segment_acc=[{K,V} | Acc]},
              iterate(eleveldb:iterator_move(Itr, next), IS2);
          {Id, _, [Seg|Remaining]} ->
              %% Pointing at next segment we are interested in
              IS2 = IS#itr_state{current_segment=Seg,
                                 remaining_segments=Remaining,
                                 segment_acc=[{K,V}],
                                 final_acc=[{Segment, F(Acc)} | FinalAcc]},
              iterate(eleveldb:iterator_move(Itr, next), IS2);
          {Id, _, ['*']} ->
              %% Pointing at next segment we are interested in
              IS2 = IS#itr_state{current_segment=Seg,
                                 remaining_segments=['*'],
                                 segment_acc=[{K,V}],
                                 final_acc=[{Segment, F(Acc)} | FinalAcc]},
              iterate(eleveldb:iterator_move(Itr, next), IS2);
          {Id, _, [NextSeg|Remaining]} ->
              %% Pointing at uninteresting segment, seek to next interesting one
              IS2 = IS#itr_state{current_segment=NextSeg,
  
negative.code:             [];
          _ ->
              Result
      end.
  
  iterator_move(undefined, _Seek) ->
      {error, invalid_iterator};
  iterator_move(Itr, Seek) ->
      try
          eleveldb:iterator_move(Itr, Seek)
      catch
          _:badarg ->
              {error, invalid_iterator}
      end.
  
  -spec iterate({'error','invalid_iterator'} | {'ok',binary(),binary()},
  