              throw new Error(
                'Query.onSnapshot failed: Third argument must be a valid function.'
              );
-@@ -332,13 +332,13 @@ export default class Query {
+           }
+-          // $FlowExpectedError: Not coping with the overloaded method signature
+           observer = {
++            // $FlowExpectedError: Not coping with the overloaded method signature
+             next: observerOrOnNextOrOnError,
+             error: onError,
+           };
            // Called with Options, Observer
          } else if (
            observerOrOnNextOrOnError &&

           ) {
             throw new Error(
               'Query.onSnapshot failed: Observer.error must be a valid function.'
@@ -318,8 +318,8 @@ export default class Query {
       ) {
         metadataChanges = optionsOrObserverOrOnNext;
         // Called with: Options, onNext, ?onError

             ) {
               throw new Error(
                 'Query.onSnapshot failed: Observer.error must be a valid function.'
diff --git a/node_modules/react-native-firebase/dist/modules/firestore/SnapshotError.js.flow b/node_modules/react-native-firebase/dist/modules/firestore/SnapshotError.js.flow
index 105574d..c34819e 100644
--- a/node_modules/react-native-firebase/dist/modules/firestore/SnapshotError.js.flow
+++ b/node_modules/react-native-firebase/dist/modules/firestore/SnapshotError.js.flow
@@ -1,3 +1,5 @@
+// @flow
+
 import NativeError from '../../common/NativeError';
 import type { SnapshotErrorInterface } from './firestoreTypes.flow';
 import type { NativeErrorResponse } from '../../common/commonTypes.flow';
diff --git a/node_modules/react-native-firebase/dist/modules/firestore/Transaction.js.flow b/node_modules/react-native-firebase/dist/modules/firestore/Transaction.js.flow
index 0f96640..b564830 100644
--- a/node_modules/react-native-firebase/dist/modules/firestore/Transaction.js.flow
+++ b/node_modules/react-native-firebase/dist/modules/firestore/Transaction.js.flow
@@ -18,9 +18,9 @@ type Command = {
   options?: SetOptions | {},
 };
 
-type SetOptions = {
+type SetOptions = $Shape<{|
   merge: boolean,
-};
+|}>;
 
 // TODO docs state all get requests must be made FIRST before any modifications
 // TODO so need to validate that
diff --git a/node_modules/react-native-firebase/dist/modules/firestore/TransactionHandler.js.flow b/node_modules/react-native-firebase/dist/modules/firestore/TransactionHandler.js.flow
index 624acf0..f4b3039 100644
--- a/node_modules/react-native-firebase/dist/modules/firestore/TransactionHandler.js.flow
