diff --git a/lib/reducers/message-reducer.js b/lib/reducers/message-reducer.js
--- a/lib/reducers/message-reducer.js
+++ b/lib/reducers/message-reducer.js
@@ -726,16 +726,12 @@
       action.payload.messagesResult.truncationStatuses,
     );
 
-    const {
-      messageStoreOperations,
-      messageStore: mergedMessageStore,
-    } = mergeNewMessages(
+    return mergeNewMessages(
       messageStore,
       messagesResult.rawMessageInfos,
       messagesResult.truncationStatuses,
       newThreadInfos,
     );
-    return { messageStoreOperations, messageStore: mergedMessageStore };
   } else if (action.type === processUpdatesActionType) {
     if (action.payload.updatesResult.newUpdates.length === 0) {
       return { messageStoreOperations: [], messageStore };
@@ -769,29 +765,21 @@
     action.type === processMessagesActionType
   ) {
     const { messagesResult } = action.payload;
-    const {
-      messageStoreOperations,
-      messageStore: mergedMessageStore,
-    } = mergeNewMessages(
+    return mergeNewMessages(
       messageStore,
       messagesResult.rawMessageInfos,
       messagesResult.truncationStatuses,
       newThreadInfos,
     );
-    return { messageStoreOperations, messageStore: mergedMessageStore };
   } else if (
     action.type === fetchSingleMostRecentMessagesFromThreadsActionTypes.success
   ) {
-    const {
-      messageStoreOperations,
-      messageStore: mergedMessageStore,
-    } = mergeNewMessages(
+    return mergeNewMessages(
       messageStore,
       action.payload.rawMessageInfos,
       action.payload.truncationStatuses,
       newThreadInfos,
     );
-    return { messageStoreOperations, messageStore: mergedMessageStore };
   } else if (
     action.type === fetchMessagesBeforeCursorActionTypes.success ||
     action.type === fetchMostRecentMessagesActionTypes.success
@@ -831,102 +819,74 @@
       action.payload.newMessageInfos,
       action.payload.updatesResult.newUpdates,
     );
-    const {
-      messageStoreOperations,
-      messageStore: mergedMessageStore,
-    } = mergeNewMessages(
+    return mergeNewMessages(
       messageStore,
       messagesResult.rawMessageInfos,
       messagesResult.truncationStatuses,
       newThreadInfos,
     );
-    return { messageStoreOperations, messageStore: mergedMessageStore };
   } else if (action.type === registerActionTypes.success) {
     const truncationStatuses = {};
     for (const messageInfo of action.payload.rawMessageInfos) {
       truncationStatuses[messageInfo.threadID] =
         messageTruncationStatus.EXHAUSTIVE;
     }
-    const {
-      messageStoreOperations,
-      messageStore: mergedMessageStore,
-    } = mergeNewMessages(
+    return mergeNewMessages(
       messageStore,
       action.payload.rawMessageInfos,
       truncationStatuses,
       newThreadInfos,
     );
-    return { messageStoreOperations, messageStore: mergedMessageStore };
   } else if (
     action.type === changeThreadSettingsActionTypes.success ||
     action.type === removeUsersFromThreadActionTypes.success ||
     action.type === changeThreadMemberRolesActionTypes.success
   ) {
-    const {
-      messageStoreOperations,
-      messageStore: mergedMessageStore,
-    } = mergeNewMessages(
+    return mergeNewMessages(
       messageStore,
       action.payload.newMessageInfos,
       { [action.payload.threadID]: messageTruncationStatus.UNCHANGED },
       newThreadInfos,
     );
-    return { messageStoreOperations, messageStore: mergedMessageStore };
   } else if (
     action.type === createEntryActionTypes.success ||
     action.type === saveEntryActionTypes.success
   ) {
-    const {
-      messageStoreOperations,
-      messageStore: mergedMessageStore,
-    } = mergeNewMessages(
+    return mergeNewMessages(
       messageStore,
       action.payload.newMessageInfos,
       { [action.payload.threadID]: messageTruncationStatus.UNCHANGED },
       newThreadInfos,
     );
-    return { messageStoreOperations, messageStore: mergedMessageStore };
   } else if (action.type === deleteEntryActionTypes.success) {
     const payload = action.payload;
     if (payload) {
-      const {
-        messageStoreOperations,
-        messageStore: mergedMessageStore,
-      } = mergeNewMessages(
+      return mergeNewMessages(
         messageStore,
         payload.newMessageInfos,
         { [payload.threadID]: messageTruncationStatus.UNCHANGED },
         newThreadInfos,
       );
-      return { messageStoreOperations, messageStore: mergedMessageStore };
     }
   } else if (action.type === restoreEntryActionTypes.success) {
     const { threadID } = action.payload;
-    const {
-      messageStoreOperations,
-      messageStore: mergedMessageStore,
-    } = mergeNewMessages(
+    return mergeNewMessages(
       messageStore,
       action.payload.newMessageInfos,
       { [threadID]: messageTruncationStatus.UNCHANGED },
       newThreadInfos,
     );
-    return { messageStoreOperations, messageStore: mergedMessageStore };
   } else if (action.type === joinThreadActionTypes.success) {
     const messagesResult = mergeUpdatesWithMessageInfos(
       action.payload.rawMessageInfos,
       action.payload.updatesResult.newUpdates,
     );
-    const {
-      messageStoreOperations,
-      messageStore: mergedMessageStore,
-    } = mergeNewMessages(
+    return mergeNewMessages(
       messageStore,
       messagesResult.rawMessageInfos,
       messagesResult.truncationStatuses,
       newThreadInfos,
     );
-    return { messageStoreOperations, messageStore: mergedMessageStore };
   } else if (
     action.type === sendTextMessageActionTypes.started ||
     action.type === sendMultimediaMessageActionTypes.started