define(function () {

    function F(){}

    /**
     * Do fn.apply on a constructor.
     */
    function ctorApply(ctor, args) {
        F.prototype = ctor.prototype;
        var instance = new F();
        ctor.apply(instance, args);
        return instance;
    }

    return ctorApply;

});

@@ -23,22 +23,41 @@
     
-function F()%7B%7D
+var bind = Function.protype.bind;
 %0A%0A  
@@ -156,97 +156,62 @@
     
-F.prototype = ctor.prototype;%0A        var instance = new F();%0A        ctor.apply(instance
+var bound = bind.bind(ctor, undefined).apply(undefined
 , ar
@@ -234,16 +234,19 @@
 urn 
-instance
+new bound()
 ;%0A  

Use Function.prototype.bind to support ES6 classes