docs: function add(file) {
    var self = this
    var origin
  
    if (string(file)) {
      file = vfile(file)
    }
  
    /* Prevent files from being added multiple times. */
    origin = file.history[0]
  
    if (self.origins.indexOf(origin) !== -1) {
      return self
    }
  
    self.origins.push(origin)
  
    /* Add. */
    self.valueOf().push(file)
    self.expected++
  
    /* Force an asynchronous operation.
     * This ensures that files which fall through
     * the file pipeline immediately (e.g., when
     * already fatally failed) still queue up
     * correctly. */
    setImmediate(add)
  
    return self
  
    function add() {
      self.emit('add', file)
    }
  }