anchor.diff:            {My::inner, Other::leaf,  SigSize::signature_size(), LeafNodes::[merkle_tree:mt_node()],
              FoundHash::boolean()} |
             {My::leaf,  Other::leaf,  SigSize::signature_size(), LeafNode::merkle_tree:mt_node()} |
  -          {My::leaf,  Other::inner, SigSize::signature_size(), LeafNode::merkle_tree:mt_node()}.
  +          {My::leaf,  Other::inner, SigSize::signature_size(), LeafNode::merkle_tree:mt_node(),
  +           FoundHash::boolean()}.
   
   -record(rr_recon_state,
           {
  
positive.code: merkle_resolve_leaves_init([{leaf, leaf, SigSize, LeafNode} | TL], Hashes,
                             DestRRPid, Stats, OwnerL, ToSend, ToReq, ToResolve,
                             ResolveNonEmpty, LeafNAcc, HashesReply) ->
      % same handling as below -> simply convert:
      merkle_resolve_leaves_init(
        [{inner, leaf, SigSize, [LeafNode], false} | TL], Hashes,
        DestRRPid, Stats, OwnerL,
  
negative.code: -type state() :: #rr_recon_state{}.
  
  % keep in sync with check_node/2
  -define(recon_ok,                       1). % match
  -define(recon_fail_stop_leaf,           2). % mismatch, sending node has leaf node
  -define(recon_fail_stop_inner_found,    3). % mismatch, sending node has inner node, found match
  -define(recon_fail_stop_inner_notfound, 4). % mismatch, sending node has inner node, no match found
  -define(recon_fail_cont_inner,          0). % mismatch, both inner nodes (continue!)
  
  -type merkle_cmp_request() :: {Hash::merkle_tree:mt_node_key(), IsLeaf::boolean()}.
  
  