anchor.diff:  -type windows_map() :: #{full_metric_id() => ts_windows:descending_windows_list()}.
   -type metrics_by_time_series() :: #{time_series_id() => [ts_metric:id()]}.
   
  --type time_series_range() :: time_series_id() | [time_series_id()].
  +-type time_series_range() :: time_series_id() | [time_series_id()] | all.
   -type metrics_range() :: ts_metric:id() | [ts_metric:id()].
   -type range() :: time_series_id() | {time_series_range(), metrics_range()}.
   -type request_range() :: range() | [range()].
  
positive.code: list_time_series_windows(_TimeSeriesCollectionHeads, [], _Options, PersistenceCtx) ->
      {#{}, PersistenceCtx};
  
  list_time_series_windows(TimeSeriesCollectionHeads, [{TimeSeriesIds, MetricIds} | RequestedMetrics], Options, PersistenceCtx) ->
      {Ans, UpdatedPersistenceCtx} = lists:foldl(fun(TimeSeriesId, Acc) ->
          MetricsMap = maps:get(TimeSeriesId, TimeSeriesCollectionHeads, #{}),
  
negative.code: select_heads(_TimeSeriesCollectionHeads, [], _ErrorHandlingMode) ->
      #{};
  
  select_heads(TimeSeriesCollectionHeads, [{all, MetricIds} | Tail], ErrorHandlingMode) ->
      NewRange = lists:map(fun(TimeSeriesId) -> {TimeSeriesId, MetricIds} end, maps:keys(TimeSeriesCollectionHeads)),
      select_heads(TimeSeriesCollectionHeads, NewRange ++ Tail, ErrorHandlingMode);
  
  select_heads(TimeSeriesCollectionHeads, [{TimeSeriesId, MetricIds} | Tail], ErrorHandlingMode) ->
      Ans = select_heads(TimeSeriesCollectionHeads, Tail, ErrorHandlingMode),
      case maps:get(TimeSeriesId, TimeSeriesCollectionHeads, undefined) of
  