anchor.diff:  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   %% Exported functions and types
   %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  --export([new/1, new/2, inc/2, set/2, get/2, merge/2, print/1]).
  +-export([new/1, new/2, inc/2, set/2, get/2, print/1]).
   
   -export_type([stats/0, status/0]).
   
  
positive.code: get(tree_nodesCompared , #rr_recon_stats{tree_nodesCompared  = X}) -> X;
  get(tree_leavesSynced  , #rr_recon_stats{tree_leavesSynced   = X}) -> X;
  get(tree_compareSkipped, #rr_recon_stats{tree_compareSkipped = X}) -> X;
  get(build_time         , #rr_recon_stats{build_time          = X}) -> X;
  get(recon_time         , #rr_recon_stats{recon_time          = X}) -> X;
  get(rs_expected        , #rr_recon_stats{rs_expected         = X}) -> X;
  get(status             , #rr_recon_stats{status              = X}) -> X.
  
  -spec merge(stats(), stats()) -> stats().
  merge(A, #rr_recon_stats{ tree_size = TS,
                            tree_nodesCompared = TNC,
                            tree_leavesSynced = TLS,
                            tree_compareSkipped = TCS,
                            build_time = BT,
                            recon_time = RC,
                            rs_expected = RS }) ->
      inc([{tree_size, TS},
           {tree_nodesCompared, TNC},
           {tree_leavesSynced, TLS},
           {tree_compareSkipped, TCS},
           {build_time, BT},
           {recon_time, RC},
           {rs_expected, RS}], A).
  
  -spec print(stats()) -> [any()].
  print(Stats) ->
  
negative.code:                {rs_expected, non_neg_integer()}].
  
  -type field_list2()  ::
            [{status, status()} | {p1e_phase1, float()} | {p1e_phase2, float()}]
              | field_list1().
  
  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  %% API Functions
  