diff --git a/src/core/utils.js b/src/core/utils.js
index c0146b132045e183cb53fce60f9207a49ebf20c8..a145f8e67094263ee9cfc795fa30dc24c9d392e9 100644
--- a/src/core/utils.js
+++ b/src/core/utils.js
@@ -193,18 +193,7 @@ function merge(a, b) {
 }
 
 function clone(obj) {
-  if (!obj || typeof obj !== 'object') {
-    return obj;
-  }
-
-  if (Array.isArray(obj)) {
-    return obj.map(x => clone(x));
-  }
-
-  return Object.keys(obj).reduce((prev, cur) => {
-    prev[cur] = clone(obj[cur]);
-    return prev;
-  }, {});
+  return JSON.parse(JSON.stringify(obj));
 }
 
 function short(schema) {