diff --git a/iris/base_logic/lib/ghost_var.v b/iris/base_logic/lib/ghost_var.v
index 9c17c521a5af42ac34c2de0cca128624a8b5b6ee..db43d867af226b078aa02980ec806504b89ff9d7 100644
--- a/iris/base_logic/lib/ghost_var.v
+++ b/iris/base_logic/lib/ghost_var.v
@@ -10,7 +10,10 @@ From iris.prelude Require Import options.
 Class ghost_varG Σ (A : Type) := GhostVarG {
   ghost_var_inG :> inG Σ (frac_agreeR $ leibnizO A);
 }.
-Definition ghost_varΣ (A : Type) : gFunctors := #[ GFunctor (frac_agreeR $ leibnizO A) ].
+Global Hint Mode ghost_varG - ! : typeclass_instances.
+
+Definition ghost_varΣ (A : Type) : gFunctors :=
+  #[ GFunctor (frac_agreeR $ leibnizO A) ].
 
 Instance subG_ghost_varΣ Σ A : subG (ghost_varΣ A) Σ → ghost_varG Σ A.
 Proof. solve_inG. Qed.
@@ -26,7 +29,7 @@ Local Ltac unseal := rewrite ?ghost_var_eq /ghost_var_def.
 
 Section lemmas.
   Context `{!ghost_varG Σ A}.
-  Implicit Types (a : A) (q : Qp).
+  Implicit Types (a b : A) (q : Qp).
 
   Global Instance ghost_var_timeless γ q a : Timeless (ghost_var γ q a).
   Proof. unseal. apply _. Qed.
diff --git a/iris/base_logic/lib/gset_bij.v b/iris/base_logic/lib/gset_bij.v
index d2774d16c479c21cec1392d80cf9797b0cb50e82..636f42c09a9b7e13fe771feb4d2ae0257f076467 100644
--- a/iris/base_logic/lib/gset_bij.v
+++ b/iris/base_logic/lib/gset_bij.v
@@ -27,16 +27,17 @@ From iris.proofmode Require Import tactics.
 From iris.prelude Require Import options.
 
 (* The uCMRA we need. *)
-Class gset_bijG A B `{Countable A, Countable B} Σ :=
+Class gset_bijG Σ A B `{Countable A, Countable B} :=
   GsetBijG { gset_bijG_inG :> inG Σ (gset_bijR A B); }.
+Global Hint Mode gset_bijG - ! ! - - - - : typeclass_instances.
 
 Definition gset_bijΣ A B `{Countable A, Countable B}: gFunctors :=
   #[ GFunctor (gset_bijR A B) ].
 Global Instance subG_gset_bijΣ `{Countable A, Countable B} Σ :
-  subG (gset_bijΣ A B) Σ → gset_bijG A B Σ.
+  subG (gset_bijΣ A B) Σ → gset_bijG Σ A B.
 Proof. solve_inG. Qed.
 
-Definition gset_bij_own_auth_def `{gset_bijG A B Σ} (γ : gname)
+Definition gset_bij_own_auth_def `{gset_bijG Σ A B} (γ : gname)
     (q : Qp) (L : gset (A * B)) : iProp Σ :=
   own γ (gset_bij_auth q L).
 Definition gset_bij_own_auth_aux : seal (@gset_bij_own_auth_def). Proof. by eexists. Qed.
@@ -45,7 +46,7 @@ Definition gset_bij_own_auth_eq :
   @gset_bij_own_auth = @gset_bij_own_auth_def := seal_eq gset_bij_own_auth_aux.
 Arguments gset_bij_own_auth {_ _ _ _ _ _ _ _}.
 
-Definition gset_bij_own_elem_def `{gset_bijG A B Σ} (γ : gname)
+Definition gset_bij_own_elem_def `{gset_bijG Σ A B} (γ : gname)
   (a : A) (b : B) : iProp Σ := own γ (gset_bij_elem a b).
 Definition gset_bij_own_elem_aux : seal (@gset_bij_own_elem_def). Proof. by eexists. Qed.
 Definition gset_bij_own_elem := unseal gset_bij_own_elem_aux.
@@ -54,7 +55,7 @@ Definition gset_bij_own_elem_eq :
 Arguments gset_bij_own_elem {_ _ _ _ _ _ _ _}.
 
 Section gset_bij.
-  Context `{gset_bijG A B Σ}.
+  Context `{gset_bijG Σ A B}.
   Implicit Types (L : gset (A * B)) (a : A) (b : B).
 
   Global Instance gset_bij_own_auth_timeless γ q L :