function functionClone(arg) {
        // undefined inputs always return undefined
        if(typeof arg === 'undefined') {
            return undefined;
        }

        return JSON.parse(fn.string(arg));
    }
Clones an object
@param {Object} arg - object to clone (deep copy)
@returns {*} - the cloned object