static _quantizeMetricSavings(metricSavings) {
    if (!metricSavings) return;

    /** @type {LH.Audit.ProductMetricSavings} */
    const normalizedMetricSavings = {...metricSavings};

    // eslint-disable-next-line max-len
    for (const key of /** @type {Array<keyof LH.Audit.ProductMetricSavings>} */ (Object.keys(metricSavings))) {
      let value = metricSavings[key];
      if (value === undefined) continue;

      value = Math.max(value, 0);

      const precision = METRIC_SAVINGS_PRECISION[key];
      if (precision !== undefined) {
        value = Math.round(value / precision) * precision;
      }

      normalizedMetricSavings[key] = value;
    }

    return normalizedMetricSavings;
  }
@param {LH.Audit.ProductMetricSavings|undefined} metricSavings
@return {LH.Audit.ProductMetricSavings|undefined}