define(function () {

    /**
     * Description
     * @method F
     * @return 
     */
    function F(){}

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

    return ctorApply;

});
