{"ScriptPreparationCode":"// intial data\r\nvar source = {a:1,b:1,c:1,d:1,e:1,f:1,g:1,h:{a:-1,b:1,c:1,d:1,e:1,f:1,g:1}};\r\nvar fp = _.noConflict();","TestCases":[{"Name":"Lodash","Code":"var result = _.cloneDeep(source);\r\n \r\n // adding checking to prevent compiler optimization\r\n if (result.h.a != -1) throw new Error(\u0027Object not clonned\u0027);\r\n result.h.a = Math.random();","IsDeferred":false},{"Name":"Ramda without relying on currying or composition","Code":"var result = R.clone(source);\r\n \r\n // adding checking to prevent compiler optimization\r\n if (result.h.a != -1) throw new Error(\u0027Object not clonned\u0027);\r\n result.h.a = Math.random();","IsDeferred":false},{"Name":"Fast Clone","Code":"var result = fp.cloneDeep(source);\r\n\r\n// adding checking to prevent compiler optimization\r\n if (result.h.a != -1) throw new Error(\u0027Object not clonned\u0027);\r\n result.h.a = Math.random();","IsDeferred":false}]}