docs: function UnwrappedUnionType(attrs, opts) {
    UnionType.call(this, attrs, opts);
  
    this._logicalBranches = null;
    this._bucketIndices = {};
    this._types.forEach(function (type, index) {
      if (Type.isType(type, 'logical')) {
        if (!this._logicalBranches) {
          this._logicalBranches = [];
        }
        this._logicalBranches.push({index: index, type: type});
      } else {
        var bucket = getTypeBucket(type);
        if (this._bucketIndices[bucket] !== undefined) {
          throw new Error(f('ambiguous unwrapped union: %j', this));
        }
        this._bucketIndices[bucket] = index;
      }
    }, this);
  }