docs: function functions() {
  		extend(Function.prototype, {
  			bind: function bind(oThis) {
  				if (typeof this !== "function") {
  					throw new TypeError("Function bind not callable");
  				}
  				var fSlice = Array.prototype.slice,
  					aArgs = fSlice.call(arguments, 1),
  					fToBind = this,
  					Fnop = function() {},
  					fBound = function() {
  						return fToBind.apply(
  							this instanceof Fnop ? this : oThis || window,
  							aArgs.concat(fSlice.call(arguments))
  						);
  					};
  				Fnop.prototype = this.prototype;
  				fBound.prototype = new Fnop();
  				return fBound;
  			}
  		});
  	}