Livaanderiamarum, мне кажется или так проще?
var FunctionX = Function;
var a = FunctionX('', 'return 1');
FunctionX.prototype.proto1 = function() {
return 2;
};
Function.prototype.proto2 = function() {
return 3;
};
alert([
a(), //1
a.proto1(), //2
a.proto2(), //3
a instanceof FunctionX, //true
a instanceof Function //true
])
PS: не читал весь тред