anchor.diff:  gauge_metric(Value)           -> gauge_metric([], Value).
   
   -spec gauge_metric(Labels, Value) -> prometheus_model:'Metric'() when
  -    Labels :: [{Name, Value}],
  -    Name   :: atom(),
  +    Labels :: [label()],
       Value  :: non_neg_integer().
   gauge_metric(Labels, Value) ->
     #'Metric'{label = label_pairs(Labels),
  
positive.code: 
  -spec summary_metric(Spec) -> prometheus_model:'Metric'() when
      Spec   :: {Labels, Count, Sum} | {Count, Sum},
      Labels :: [{_, _}],                         % FIXME: refine
      Count  :: non_neg_integer(),
      Sum    :: non_neg_integer().
  summary_metric({Labels, Count, Sum}) -> summary_metric(Labels, Count, Sum);
  
negative.code: label_pairs(Labels) -> lists:map(fun label_pair/1, Labels).
  
  %% FIXME: refine
  -spec label_pair(label()) -> prometheus_model:'LabelPair'().
  label_pair({Name, Value}) ->
    #'LabelPair'{name  = ensure_binary(Name),
                 value = ensure_binary(Value)}.
  