code: function _handleMultipleAPIs(obj, method, f) {
      if (this._wrapped) {
          f = this._wrapped;
          this._wrapped = method(f, obj);
          return this;
      } else if (f === undefined) {
          f = this;
          return method(f, obj);
      } else {
          return method(f, obj);
      }
  }
docs: Handle multiple APIs. Either this was wrapped `construct(f).pre(pre)` or This was called from the function prototype `f.pre(pre)` or this was called from the Construct object `Construct.pre(pre, f)`