anchor.diff:  
   -spec build_struct(DBList::db_chunk_kv(), DestI::intervals:non_empty_interval(),
                      RestI::intervals:interval(), state()) -> state() | kill.
  -build_struct(DBList, DestI, RestI,
  +build_struct(DBList, SyncI, RestI,
                State = #rr_recon_state{method = RMethod, params = Params,
                                        struct = OldSyncStruct,
                                        initiator = Initiator, stats = Stats,
                                        dhtNodePid = DhtNodePid, stage = Stage,
                                        kv_list = KVList}) ->
  -    ?ASSERT(not intervals:is_empty(DestI)),
  -    % bloom may fork more recon processes if un-synced elements remain
  +    ?ASSERT(not intervals:is_empty(SyncI)),
  +    % note: RestI already is a sub-interval of the sync interval
       BeginSync =
           case intervals:is_empty(RestI) of
               false ->
  -                SubSyncI = map_interval(DestI, RestI),
  -                case intervals:is_empty(SubSyncI) of
  -                    false ->
  -                        MySubSyncI = map_interval(RestI, DestI), % mapped to my range
  -                        Reconcile =
  -                            if Initiator andalso (Stage =:= reconciliation) -> reconcile;
  -                               true -> create_struct
  -                            end,
  -                        send_chunk_req(DhtNodePid, self(), MySubSyncI, SubSyncI,
  -                                       get_max_items(), Reconcile),
  -                        false;
  -                    true -> true
  -                end;
  +                Reconcile =
  +                    if Initiator andalso (Stage =:= reconciliation) -> reconcile;
  +                       true -> create_struct
  +                    end,
  +                send_chunk_req(DhtNodePid, self(), RestI, SyncI,
  +                               get_max_items(), Reconcile),
  +                false;
               true -> true
           end,
       NewKVList = lists:append(KVList, DBList),
  
positive.code:     is_subtype(LPid,        comm:erl_local_pid()),
      is_subtype(I,           intervals:interval()).
  send_chunk_req(DhtPid, SrcPid, I, _DestI, MaxItems, reconcile) ->
      ?ASSERT(I =:= _DestI),
      SrcPidReply = comm:reply_as(SrcPid, 2, {reconcile, '_'}),
      send_local(DhtPid,
                 {get_chunk, SrcPidReply, I, fun get_chunk_filter/1,
  
negative.code:            send_chunk_req(DhtNodePid, self(), RestI, RestI, get_max_items(), resolve);
         true -> ok
      end,
      ?TRACE("Reconcile Trivial Session=~p ; ToSend=~p ; ToReq=~p~n DBEntries=~p ; RestI=~p",
             [SID, length(ToSend1), length(ToReq1), length(DBList), RestI]),
      NewStats =
          if ToSend1 =/= [] orelse ToReq1 =/= [] orelse SyncFinished ->
                 send(DestRR_Pid, {request_resolve, SID,
  