anchor.diff:                               SyncIN, AccCmp + 1, AccSkip,
                                NextLvlNodesActOUT, HashCmpI_OUT, HashCmpL_IN);
          (not IsLeafNode) andalso IsLeafHash ->
  +           % don't compare hashes -> this is an exact process based on the tags
              {MyKVItems, LeafCount} = merkle_tree:get_items([Node]),
              Sync = {MyMaxItemsCount, MyKVItems, LeafCount},
              merkle_check_node(TK, TN, SigSizeI, SigSizeL,
  
positive.code:                   SyncAccDRK1 = SyncAccDRK,
                    SyncAccDRLCount1 = SyncAccDRLCount,
                    HashCmpL_OUT = HashCmpL_IN + 1;
                IsLeafHash ->
                    % empty leaf hash on the other node - we can resolve
                    % this case without a trivial sub process
                    SyncAccSend1 = SyncAccSend,
  
negative.code:                              NextLvlNodesActIN, HashCmpI_IN, HashCmpL_IN);
         IsLeafNode ->
             if IsLeafHash andalso Hash =/= none ->
                    % leaf mismatch (our node may be empty)
                    SyncAccSend1 =
                        [{erlang:min(Params#merkle_params.bucket_size,
                                     OtherMaxItemsCount), merkle_tree:get_bucket(Node),
  