'string' ||
          typeof value !== 'number') {
        throw new Error('Breakdown maps from strings to numbers');
      }
      this.values_.set(name, value);
    }

    /**
     * @param {string} name
     * @return {number}
     */
    get(name) {
      return this.values_.get(name) || 0;
    }

    * [Symbol.iterator]() {
      for (const pair of this.values_) {
        yield pair;
      }
    }

    get size() {
      return this.values_.size;
    }

    serialize(serializer) {
      const keys = [.