anchor.diff:  insert(Key, ObjHash, State) ->
       insert(Key, ObjHash, State, []).
   
  --spec insert(binary(), binary(), hashtree(), proplist()) -> hashtree().
  +-spec insert(binary(), binary() | tombstone, hashtree(), proplist()) -> hashtree().
  +insert(Key, tombstone, State, Opts) ->
  +    insert(Key, ?TOMBSTONE, State, Opts);
  +
   insert(Key, ObjHash, State, Opts) ->
       Hash = erlang:phash2(Key),
       Segment = Hash rem State#state.segments,
  
positive.code:     case should_insert(HKey, Opts, State) of
          true ->
              State2 = enqueue_action({put, HKey, ObjHash}, State),
              %% Dirty = gb_sets:add_element(Segment, State2#state.dirty_segments),
              Dirty = bitarray_set(Segment, State2#state.dirty_segments),
              State2#state{dirty_segments=Dirty};
          false ->
  
negative.code:             end || {KBin, Diff} <- Delta],
      Keys.
  
  
  key_diff_type({?TOMBSTONE , _}) ->
      tombstone_diff;
  key_diff_type({_ , ?TOMBSTONE}) ->
      tombstone_diff;
  key_diff_type({'$none', _}) ->
      missing;
  key_diff_type({_, '$none'}) ->
  