diff --git a/theories/algebra/big_op.v b/theories/algebra/big_op.v
index 30b192b9e55f55e2a88ef2886c3606bd318f4690..4ea5f8f7bb50e5b822991dd3b7b8bf75830395dd 100644
--- a/theories/algebra/big_op.v
+++ b/theories/algebra/big_op.v
@@ -101,7 +101,8 @@ Section list.
   Lemma big_opL_unit l : ([^o list] k↦y ∈ l, monoid_unit) ≡ (monoid_unit : M).
   Proof. induction l; rewrite /= ?left_id //. Qed.
 
-  Lemma big_opL_gen_proper_2 (R : relation M) f g l1 l2 :
+  Lemma big_opL_gen_proper_2 {B} (R : relation M) f (g : nat → B → M)
+        l1 (l2 : list B) :
     R monoid_unit monoid_unit →
     Proper (R ==> R ==> R) o →
     (∀ k,
@@ -207,28 +208,31 @@ Proof.
 Qed.
 
 (** ** Big ops over finite maps *)
+
+Lemma big_opM_empty `{Countable K} {B} (f : K → B → M) :
+  ([^o map] k↦x ∈ ∅, f k x) = monoid_unit.
+Proof. by rewrite big_opM_eq /big_opM_def map_to_list_empty. Qed.
+
+Lemma big_opM_insert `{Countable K} {B} (f : K → B → M) (m : gmap K B) i x :
+  m !! i = None →
+  ([^o map] k↦y ∈ <[i:=x]> m, f k y) ≡ f i x `o` [^o map] k↦y ∈ m, f k y.
+Proof. intros ?. by rewrite big_opM_eq /big_opM_def map_to_list_insert. Qed.
+
+Lemma big_opM_delete `{Countable K} {B} (f : K → B → M) (m : gmap K B) i x :
+  m !! i = Some x →
+  ([^o map] k↦y ∈ m, f k y) ≡ f i x `o` [^o map] k↦y ∈ delete i m, f k y.
+Proof.
+  intros. rewrite -big_opM_insert ?lookup_delete //.
+  by rewrite insert_delete insert_id.
+Qed.
+
 Section gmap.
   Context `{Countable K} {A : Type}.
   Implicit Types m : gmap K A.
   Implicit Types f g : K → A → M.
 
-  Lemma big_opM_empty f : ([^o map] k↦x ∈ ∅, f k x) = monoid_unit.
-  Proof. by rewrite big_opM_eq /big_opM_def map_to_list_empty. Qed.
-
-  Lemma big_opM_insert f m i x :
-    m !! i = None →
-    ([^o map] k↦y ∈ <[i:=x]> m, f k y) ≡ f i x `o` [^o map] k↦y ∈ m, f k y.
-  Proof. intros ?. by rewrite big_opM_eq /big_opM_def map_to_list_insert. Qed.
-
-  Lemma big_opM_delete f m i x :
-    m !! i = Some x →
-    ([^o map] k↦y ∈ m, f k y) ≡ f i x `o` [^o map] k↦y ∈ delete i m, f k y.
-  Proof.
-    intros. rewrite -big_opM_insert ?lookup_delete //.
-    by rewrite insert_delete insert_id.
-  Qed.
-
-  Lemma big_opM_gen_proper_2 (R : relation M) f g m1 m2 :
+  Lemma big_opM_gen_proper_2 {B} (R : relation M) f (g : K → B → M)
+        m1 (m2 : gmap K B) :
     subrelation (≡) R → Equivalence R →
     Proper (R ==> R ==> R) o →
     (∀ k,