code: function bind(func, thisArg) {
          var curryArgs = Array.prototype.slice.call(arguments, 2);
          return function() {
              var args = curryArgs.concat(Array.prototype.slice.call(arguments, 0));
              return func.apply(thisArg, args);
          };
      }
docs: only really needed for phantom