anchor.diff:           dest_recon_pid     = undefined                                 :: comm:mypid() | undefined, %dest recon process pid
            method             = undefined                                 :: method(),
            dest_interval      = intervals:empty()                         :: intervals:interval(),
  -         struct             = {}                                        :: struct() | {},
  +         struct             = {}                                        :: parameters() | {},
            stage              = req_shared_interval                       :: stage(),
            initiator          = false                                     :: boolean(),
            stats              = rr_recon_stats:new()                      :: rr_recon_stats:stats()
  
positive.code: -define(TRACE_SEND(Pid, Msg), ?TRACE("to ~.0p: ~.0p~n", [Pid, Msg])).
  -define(TRACE1(Msg, State),
          ?TRACE("~n  Msg: ~.0p~n"
                 "  State: method: ~.0p  stage: ~.0p  initiator: ~.0p~n"
                 "          destI: ~.0p~n"
                 "         params: ~.0p~n",
                 [Msg, State#rr_recon_state.method, State#rr_recon_state.stage,
  
negative.code:     % -> client creates recon structure based on common interval, sends it to initiator
      RMethod =:= merkle_tree andalso fd:subscribe(DestRRPid),
      SyncI = find_intersection(MyI, SenderI),
      % reduce SenderI to the sub-interval matching SyncI, i.e. a mapped SyncI
      SenderSyncI = find_intersection(SenderI, SyncI),
      NewState = State#rr_recon_state{stage = build_struct},
      case intervals:is_empty(SyncI) of
          false ->
              send_chunk_req(DhtPid, self(), SyncI, SenderSyncI, get_max_items(RMethod)),
              NewState;
          true ->
              shutdown(empty_interval, NewState)
  