anchor.diff:          end,
     BoundCounters = lists:duplicate(length(MFBuckets), 0),
     MetricSpec =
  -    [{Registry, Name, LabelValues}, lists:map(Fun, MFBuckets)]
  +    [key(Registry, Name, LabelValues), lists:map(Fun, MFBuckets)]
       ++ BoundCounters
       ++ [0],
     ets:insert(?TABLE, list_to_tuple(MetricSpec)),
  
positive.code:   MF = prometheus_metric:check_mf_exists(?TABLE, Registry, Name, LabelValues),
    Buckets = prometheus_metric:mf_data(MF),
    UpdateSpec = generate_update_spec(?BUCKETS_START, length(Buckets)),
    ets:update_element(?TABLE, {Registry, Name, LabelValues}, UpdateSpec).
  
  %% @equiv value(default, Name, [])
  value(Name) ->
  
negative.code:   erlang:error({histogram_invalid_bound, Bound}).
  
  dobserve_impl(Registry, Name, LabelValues, Value) ->
    case ets:lookup(?TABLE, key(Registry, Name, LabelValues)) of
      [Metric] ->
        {BucketPosition, SumPosition} =
          calculate_histogram_update_positions(Metric, Value),
        ets:update_element(?TABLE, key(Registry, Name, LabelValues),
                           {SumPosition, sum(Metric) + Value}),
        ets:update_counter(?TABLE, key(Registry, Name, LabelValues),
                           {BucketPosition, 1});
      [] ->
        insert_metric(Registry, Name, LabelValues, Value, fun dobserve_impl/4)
  