code: function () {
            if (this === global || !exists(this)) {
              throw new TypeError('this is null or not defined for ' + method)
            }
            var args = Array.prototype.slice.call(arguments)
            args.unshift(this) // sets first arg as object instance
            return method.apply(this, args)
          }
docs: eslint-disable-line