anchor.diff:           merkle_sync        = []                                     :: [merkle_sync()],
            misc               = []                                     :: [{atom(), term()}], % any optional parameters an algorithm wants to keep
            kv_list            = []                                     :: db_chunk_kv(),
  +         k_list             = []                                     :: [?RT:key()],
            stats              = rr_recon_stats:new()                   :: rr_recon_stats:stats(),
            to_resolve         = {[], []}                               :: {ToSend::rr_resolve:kvv_list(), ToReq::[?RT:key()]}
            }).
  
positive.code: 
  %% @doc De-compresses a bitstring with indices of SigSize number of bits
  %%      into a list of keys from the original KV list.
  -spec decompress_k_list(CompressedBin::bitstring(), KVList::db_chunk_kv(),
                           SigSize::signature_size(), AccPos::non_neg_integer())
          -> ResKeys::[?RT:key()].
  decompress_k_list(<<>>, _, _SigSize, _AccPos) ->
      [];
  decompress_k_list(Bin, KVList, SigSize, AccPos) ->
      <<KeyPos:SigSize/integer-unit:1, T/bitstring>> = Bin,
      [{Key, _Version} | KVList2] = lists:nthtail(KeyPos - AccPos, KVList),
      [Key | decompress_k_list(T, KVList2, SigSize, KeyPos + 1)].
  
  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  % SHash specific
  
negative.code:                   % we will get one reply from a subsequent ?key_upd resolve
                    NewStats = rr_recon_stats:inc([{resolve_started, 1},
                                                   {build_time, BuildTime}], Stats),
                    NewState#rr_recon_state{stats = NewStats, stage = resolve,
                                            params = Params1,
                                            kv_list = [], k_list = KList};
                StartResolve -> % andalso OtherItemCount =:= 0 ->
                    ?DBG_ASSERT(OtherItemCount =:= 0),
                    % no need to send resolve_req message - the non-initiator already shut down
                    % the other node does not have any items but there is a diff at our node!
                    % start a resolve here:
                    SID = rr_recon_stats:get(session_id, Stats),
                    KList = [element(1, KV) || KV <- NewKVList],
                    send_local(OwnerL, {request_resolve, SID,
                                        {key_upd_send, DestRRPid, KList, []},
                                        [{feedback_request, comm:make_global(OwnerL)},
                                         {from_my_node, 1}]}),
                    % we will get one reply from a subsequent ?key_upd resolve
  