Function has the following interface. Inherits from Object.prototype.
function Function(p1, p2, ..., pn, body)
function new Function(p1, p2, ..., pn, body)
object Function.prototype = Object.prototype
int Function.length = 1
object Function.prototype.constructor = Function
string Function.prototype.toString()
mixed Function.prototype.apply(thisArg:mixed, argArray:array)
mixed Function.prototype.call(thisArg:mixed[, arg1:mixed[, arg2:mixed[, ...]]])
function Function.prototype.bind(thisArg:mixed[, arg1:mixed[, arg2:mixed[, ...]]])
mixed Function.prototype.[[Call]](ExtraArgs:array)
boolean Function.prototype.[[HasInstance]](V:object)
string Function.prototype.[[Class]] = "Function"
int Function.prototype.length
boolean Function.prototype.[[HasInstance]](V:object|mixed)
mixed Function.prototype.[[Get]](P:string)