fill() {
    // Increase the pool size.
    for (let i = free.size; i < this.size; i++) {
      free.add(shape());
    }

    // Decrease the pool size.
    if (this.size < free.size) {
      // Loop the set until pruning has completed.
      free.forEach(value => {
        if (free.size !== this.size) {
          free.delete(value);
        }
      });
    }
  }
As the Pool size is configurable, this method can be used to fill up the
pool after making it larger.