anchor.diff:                             misc = [{one_leaf_p1e, P1EOneLeaf}]})
     when is_bitstring(Hashes) ->
       ?TRACE1(_Msg, State),
  +    ?DBG_ASSERT(?implies(not IsInitiator, Hashes =/= <<>>)),
       {BinIdxList, NStats} =
           merkle_resolve_leaves_receive(MerkleSyncRcv, Hashes, DestRRPid, Stats,
                                         OwnerL, Params, P1EOneLeaf, IsInitiator),
  -    ?DBG_ASSERT(Hashes =/= <<>>),
       comm:send(DestRCPid, {resolve_req, idx, BinIdxList}),
       % free up some memory:
       NewState = State#rr_recon_state{merkle_sync = {MerkleSyncSend, []},
  
positive.code: merkle_resolve_leaves_receive(Sync, Hashes, DestRRPid, Stats, OwnerL, Params,
                                P1EOneLeaf, IsInitiator) ->
      BucketSizeBits = merkle_max_bucket_size_bits(Params),
      {<<>>, ToSend, ToResolve, ResolveNonEmpty, LeafNAcc} =
          lists:foldl(
            fun({MyMaxItemsCount, MyKVItems, LeafCount},
                {HashesAcc, ToSend, ToResolve, ResolveNonEmpty, LeafNAcc}) ->
                    % inner-leaf mismatch to resolve
                    {NHashes, OBucketTree, _OrigDBChunkLen, SigSize, VSize} =
                        merkle_resolve_retrieve_leaf_hashes(
                          HashesAcc, P1EOneLeaf, MyMaxItemsCount, BucketSizeBits),
  
negative.code:                                 [erlang:byte_size(Hashes),
                                   erlang:byte_size(
                                     erlang:term_to_binary(Hashes, [compressed]))]),
                    % note: Hashes may be <<>> if only direct resolves exist
                    % (leaf-leaf mismatches with empty leaves on the other node)
                    send(DestReconPid, {resolve_req, Hashes}),
                    NewState#rr_recon_state{stage = resolve, stats = NStats2,
                                            misc = [{one_leaf_p1e, P1EOneLeaf}]};
  