anchor.diff:      {resolve_req, DBChunk::bitstring(), SigSize::signature_size(),
        VSize::signature_size(), SenderPid::comm:mypid()} |
       % merkle tree sync messages
  -    {?check_nodes, SenderPid::comm:mypid(), ToCheck::bitstring(), SigSizeI::signature_size(),
  -     SigSizeILeafDiff::signature_size() % = SigSizeL - SigSizeI
  -    } |
  +    {?check_nodes, SenderPid::comm:mypid(), ToCheck::bitstring(), SigSize::signature_size()} |
       {?check_nodes, ToCheck::bitstring(), SigSizeI::signature_size(),
  -     SigSizeILeafDiff::signature_size() % = SigSizeL - SigSizeI
  +     SigSizeILeafDiff::0 | signature_size() % = SigSizeL - SigSizeI
       } |
       {?check_nodes_response, FlagsBin::bitstring(), MaxLeafCount::non_neg_integer(),
        MaxLeafItemsCountDiff::non_neg_integer() % = MaxLeafCount * BranchFactor - MaxItemsCount
  
positive.code: %% merkle tree sync messages
  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  
  on({?check_nodes, SenderPid, ToCheck, SigSizeI, SigSizeILeafDiff}, State) ->
      NewState = State#rr_recon_state{dest_recon_pid = SenderPid},
      on({?check_nodes, ToCheck, SigSizeI, SigSizeILeafDiff}, NewState);
  
  on({?check_nodes, ToCheck0, SigSizeI, SigSizeILeafDiff},
     State = #rr_recon_state{stage = reconciliation,    initiator = false,
  
negative.code:                            params = #merkle_params{bucket_size = BucketSize} = Params,
                             struct = Tree,             ownerPid = OwnerL,
                             dest_rr_pid = DestNodePid, stats = Stats,
                             dest_recon_pid = DestReconPid})
    when is_bitstring(ToCheck0) andalso is_integer(SigSizeI) andalso is_integer(SigSizeILeafDiff) ->
      ?DBG_ASSERT(comm:is_valid(DestReconPid)),
      SigSizeL = SigSizeI + SigSizeILeafDiff,
      ToCheck = merkle_decompress_hashlist(ToCheck0, [], SigSizeI, SigSizeL),
  