constructor(iterable) {
      if (this == null ||
          (typeof this !== 'object' && typeof this !== 'function')) {
        throw new TypeError('Wrong set object type.');
      }

      initSet(this);

      if (iterable != null) {
        var it = toIterator(iterable);
        var next;
        while (!(next = it.next()).done) {
          this.add(next.value);
        }
      }
    }
23.2.1.1

Takes an optional `iterable` (which is basically any object that
implements a Symbol.iterator (@@iterator) method). That is a collection
of values used to instantiate the set.

@param {*} iterable