lib/Object.js
function _cloneArray(source, depth, hook, nest) {
    var result = [];

    result.length = source.length;
    for (var i = 0, iz = source.length; i < iz; ++i) {
        if (i in source) {
            result[i] = _clone(source[i], depth, hook, nest + 1);
        }
    }
    return result;
}
function _cloneArray(source, depth, hook, nest) {
    var result = [];

    result.length = source.length;
    for (var i = 0, iz = source.length; i < iz; ++i) {
        if (i in source) {
            result[i] = _clone(source[i], depth, hook, nest + 1);
        }
    }
    return result;
}
function _getConstructorName(value) { // @arg Any   instance, exclude null and undefined. // @ret String // _getConstructorName(new (function Aaa() {})); -> "Aaa" return value.constructor["name"] || (value.constructor + "").split(" ")[1].split("\x28")[0]; // for IE }