anchor.diff:                               SyncAccSend1, SyncAccRcv, SyncAccRcvLeafCount,
                                MySyncAccDRK, MySyncAccDRLCount, OtherSyncAccDRLCount,
                                SyncIN, AccCmp + 1, AccSkip,
  -                             NextLvlNodesActIN, HashCmpI_IN, HashCmpL_OUT);
  +                             NextLvlNodesActIN, HashCmpI_IN, HashCmpL_IN);
          (NonEmptyLeafNode orelse not IsLeafNode) andalso EmptyLeafHash ->
              % non-empty leaf or inner node here, empty leaf there
              % no need to compare hashes - this is an exact process based on the tags
  
positive.code:             % non-empty leaf on this node, empty leaf on the other node
              % -> resolve directly here, i.e. without a trivial sub process
              NextLvlNodesActOUT = NextLvlNodesActIN,
              HashCmpI_OUT = HashCmpI_IN,
              RestTreeAcc1 = RestTreeAcc,
              MyKVItems = merkle_tree:get_bucket(Node),
              MySyncAccDRK1 = [element(1, X) || X <- MyKVItems] ++ MySyncAccDRK,
  
negative.code:         end,
      EmptyLeafHash = IsLeafHash andalso Hash =:= none,
      NonEmptyLeafHash = IsLeafHash andalso Hash =/= none,
      % note that only hash matches(!) count for HashCmpI_OUT and HashCmpL_OUT
      % since mismatches are always correct (the items must differ!)
      % -> don't count mismatches since these values ebter the failure probability
      if Hash =:= NodeHash andalso IsLeafHash =:= IsLeafNode ->
             Skipped = merkle_tree:size(Node) - 1,
             if EmptyLeafHash -> % empty leaf hash on both nodes - this was exact!
  