anchor.diff:      {check_nodes_response, CmpResults::[merkle_cmp_result()]} |
       % dht node response
       {create_struct2, {get_state_response, MyI::intervals:interval()}} |
  -    {create_struct2, DestI::intervals:interval(), {get_chunk_response, {intervals:interval(), db_chunk()}}} |
  +    {create_struct2, DestI::intervals:interval(),
  +     {get_chunk_response, {intervals:interval(), db_chunk()}}} |
       {reconcile, {get_chunk_response, {intervals:interval(), db_chunk()}}} |
       % internal
       {shutdown, exit_reason()} |
  
positive.code: shutdown(Reason, #rr_recon_state{ownerPid = OwnerL, stats = Stats,
                                   initiator = Initiator, dest_rr_pid = DestRR,
                                   dest_recon_pid = DestRC}) ->
      ?TRACE("SHUTDOWN Session=~p Reason=~p", [rr_recon_stats:get(session_id, Stats), Reason]),
      Status = exit_reason_to_rc_status(Reason),
      NewStats = rr_recon_stats:set([{status, Status}], Stats),
      send_local(OwnerL, {recon_progress_report, comm:this(), Initiator, DestRR, DestRC, NewStats}),
      kill.
  
  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  % Merkle Tree specific
  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  
  -spec check_node([merkle_cmp_request()], merkle_tree:merkle_tree() | NodeList)
          -> {[merkle_cmp_result()], RestTree::NodeList, ResolveReq::NodeList}
      when is_subtype(NodeList, [merkle_tree:mt_node()]).
  check_node(L, Tree) ->
  
negative.code:             [_|_] ->
                  send_local(OwnerL, {request_resolve, SID, {key_upd_send, DestRU_Pid, Diff},
                                      [{feedback_request, comm:make_global(OwnerL)}]}),
                  %feedback causes 2 resolve runs
                  rr_recon_stats:inc([{resolve_started, 2}], Stats);
              [] -> Stats
          end,
      NewState = State#rr_recon_state{stats = NewStats},
  