anchor.diff:  
   -type gauge_type() :: number().
   -type counter_type() :: number().
  +-type histogram_type() :: histogram:histogram() | histogram_normalized:histogram().
   -type timing_type() :: {Sum::number(), Sum2::number(), Count::pos_integer(), Min::number(), Max::number(), Hist::histogram:histogram()}.
   -type event_type(T) :: [{internal_time(), T}].
   -type data_type() :: gauge_type() | counter_type() | timing_type() | event_type(term()).
  
positive.code: event_update_fun(Time, undefined, New) -> [{Time, New}];
  event_update_fun(Time, Old, New) -> lists:append(Old, [{Time, New}]).
  
  -spec timing_update_fun(Time::internal_time(), Old::timing_type() | undefined, New::number())
          -> timing_type().
  timing_update_fun(_Time, undefined, New) ->
  
negative.code: %%      valid.
  -spec check_config() -> boolean().
  check_config() ->
      config:cfg_is_integer(rrd_timing_hist_size) andalso
      config:cfg_is_greater_than_equal(rrd_timing_hist_size, 0).
  
  -spec get_timing_hist_size() -> non_neg_integer().
  