anchor.diff:  new() ->
       #rr_recon_stats{}.
   
  --spec new(field_list()) -> stats().
  +-spec new(field_list2()) -> stats().
   new(KVList) ->
       set(KVList, #rr_recon_stats{}).
   
   % @doc increases the record field with name key by value
  --spec inc(field_list(), Old::Stats) -> New::Stats when
  -    is_subtype(Stats, stats()).
  +-spec inc(field_list1(), Old::stats()) -> New::stats().
   inc([], Stats) -> 
       Stats;
   inc([{K, V} | L], Stats) ->
  
positive.code:     inc(L, NS).
  
  % @doc sets the value of record field with name of key to the given value
  -spec set(field_list(), Old::Stats) -> New::Stats when
      is_subtype(Stats, stats()).
  set([], Stats) ->
      Stats;
  set([{K, V} | L], Stats) ->
  
negative.code:         build_time -> Stats#rr_recon_stats.build_time;
          recon_time -> Stats#rr_recon_stats.recon_time;
          resolve_started -> Stats#rr_recon_stats.resolve_started;
          status -> Stats#rr_recon_stats.status
      end.
  
  -spec merge(stats(), stats()) -> stats().
  