1 var FunctionPrototype = Function.prototype;
2 var bind = FunctionPrototype.bind;
3 var call = FunctionPrototype.call;
4 var callBind = bind && bind.bind(call);
6 module.exports = bind ? function (fn) {
7 return fn && callBind(call, fn);
9 return fn && function () {
10 return call.apply(fn, arguments);