diff --git a/src/added.js b/src/added.js
index 168fe7f..0dd7d22 100644
--- a/src/added.js
+++ b/src/added.js
@@ -13,10 +13,12 @@ const addedDiff = (lhs, rhs) => {
 
       if (isObject(difference) && isEmpty(difference)) return acc;
 
-      return { ...acc, [key]: difference };
+      acc[key] = difference;
+      return acc;
     }
 
-    return { ...acc, [key]: r[key] };
+    acc[key] = r[key];
+    return acc;
   }, {});
 };
 
diff --git a/src/deleted.js b/src/deleted.js
index 9f8990e..50feb17 100644
--- a/src/deleted.js
+++ b/src/deleted.js
@@ -12,10 +12,12 @@ const deletedDiff = (lhs, rhs) => {
 
       if (isObject(difference) && isEmpty(difference)) return acc;
 
-      return { ...acc, [key]: difference };
+      acc[key] = difference;
+      return acc;
     }
 
-    return { ...acc, [key]: undefined };
+    acc[key] = undefined;
+    return acc;
   }, {});
 };
 
diff --git a/src/diff.js b/src/diff.js
index 9f33af4..b433b14 100644
--- a/src/diff.js
+++ b/src/diff.js
@@ -9,7 +9,12 @@ const diff = (lhs, rhs) => {
   const r = rhs;
 
   const deletedValues = Object.keys(l).reduce((acc, key) => {
-    return hasOwnProperty(r, key) ? acc : { ...acc, [key]: undefined };
+    if (!hasOwnProperty(r, key)) {
+      acc[key] = undefined;
+      
+    }
+
+    return acc;
   }, {});
 
   if (isDate(l) || isDate(r)) {
@@ -18,7 +23,10 @@ const diff = (lhs, rhs) => {
   }
 
   return Object.keys(r).reduce((acc, key) => {
-    if (!hasOwnProperty(l, key)) return { ...acc, [key]: r[key] }; // return added r key
+    if (!hasOwnProperty(l, key)){
+      acc[key] = r[key]; // return added r key
+      return acc;
+    } 
 
     const difference = diff(l[key], r[key]);
 
@@ -26,7 +34,8 @@ const diff = (lhs, rhs) => {
     if (isEmptyObject(difference) && !isDate(difference) && (isEmptyObject(l[key]) || !isEmptyObject(r[key])))
       return acc; // return no diff
 
-    return { ...acc, [key]: difference }; // return updated key
+    acc[key] = difference // return updated key
+    return acc; // return updated key
   }, deletedValues);
 };
 
diff --git a/src/updated.js b/src/updated.js
index 749d1b3..8ab87ab 100644
--- a/src/updated.js
+++ b/src/updated.js
@@ -21,7 +21,8 @@ const updatedDiff = (lhs, rhs) => {
       if (isEmptyObject(difference) && !isDate(difference) && (isEmptyObject(l[key]) || !isEmptyObject(r[key])))
         return acc; // return no diff
 
-      return { ...acc, [key]: difference };
+      acc[key] = difference;
+      return acc;
     }
 
     return acc;