add(fn, scope) {
    const item = this.getUnusedItem_();
    item.set(fn, scope);

    if (this.workTail_) {
      this.workTail_.next = item;
      this.workTail_ = item;
    } else {
      assert(!this.workHead_);
      this.workHead_ = item;
      this.workTail_ = item;
    }
  }
@param {function()} fn
@param {Object|null|undefined} scope