diff --git a/stdpp/base.v b/stdpp/base.v
index f9daa20054439c6bfc59142581733fd1d275d3dd..0ce5b754b5ff1c8b7370194c85ad7064b56b2626 100644
--- a/stdpp/base.v
+++ b/stdpp/base.v
@@ -1201,7 +1201,7 @@ Notation "'guard' P 'as' H ; z" := (mguard P (λ H, z))
 on maps. In the file [fin_maps] we will axiomatize finite maps.
 The function look up [m !! k] should yield the element at key [k] in [m]. *)
 Class Lookup (K A M : Type) := lookup: K → M → option A.
-Global Hint Mode Lookup + + ! : typeclass_instances.
+Global Hint Mode Lookup - + ! : typeclass_instances.
 Global Hint Mode Lookup - - + : typeclass_instances.
 Global Instance: Params (@lookup) 4 := {}.
 Notation "m !! i" := (lookup i m) (at level 20) : stdpp_scope.
@@ -1213,7 +1213,7 @@ Global Arguments lookup _ _ _ _ !_ !_ / : simpl nomatch, assert.
 (** The function [lookup_total] should be the total over-approximation
 of the partial [lookup] function. *)
 Class LookupTotal (K A M : Type) := lookup_total : K → M → A.
-Global Hint Mode LookupTotal + + ! : typeclass_instances.
+Global Hint Mode LookupTotal - + ! : typeclass_instances.
 Global Hint Mode LookupTotal - - + : typeclass_instances.
 Global Instance: Params (@lookup_total) 4 := {}.
 Notation "m !!! i" := (lookup_total i m) (at level 20) : stdpp_scope.
@@ -1224,7 +1224,7 @@ Global Arguments lookup_total _ _ _ _ !_ !_ / : simpl nomatch, assert.
 
 (** The singleton map *)
 Class SingletonM K A M := singletonM: K → A → M.
-Global Hint Mode SingletonM + + ! : typeclass_instances.
+Global Hint Mode SingletonM - + ! : typeclass_instances.
 Global Hint Mode SingletonM - - + : typeclass_instances.
 Global Instance: Params (@singletonM) 5 := {}.
 Notation "{[ k := a ]}" := (singletonM k a) (at level 1) : stdpp_scope.
@@ -1232,7 +1232,7 @@ Notation "{[ k := a ]}" := (singletonM k a) (at level 1) : stdpp_scope.
 (** The function insert [<[k:=a]>m] should update the element at key [k] with
 value [a] in [m]. *)
 Class Insert (K A M : Type) := insert: K → A → M → M.
-Global Hint Mode Insert + + ! : typeclass_instances.
+Global Hint Mode Insert - + ! : typeclass_instances.
 Global Hint Mode Insert - - + : typeclass_instances.
 Global Instance: Params (@insert) 5 := {}.
 Notation "<[ k := a ]>" := (insert k a)
@@ -1312,7 +1312,6 @@ Notation "{[ k1 := a1 ; k2 := a2 ; k3 := a3 ; k4 := a4 ; k5 := a5 ; k6 := a6 ; k
 [m]. If the key [k] is not a member of [m], the original map should be
 returned. *)
 Class Delete (K M : Type) := delete: K → M → M.
-Global Hint Mode Delete + ! : typeclass_instances.
 Global Hint Mode Delete - + : typeclass_instances.
 Global Instance: Params (@delete) 4 := {}.
 Global Arguments delete _ _ _ !_ !_ / : simpl nomatch, assert.
@@ -1320,7 +1319,7 @@ Global Arguments delete _ _ _ !_ !_ / : simpl nomatch, assert.
 (** The function [alter f k m] should update the value at key [k] using the
 function [f], which is called with the original value. *)
 Class Alter (K A M : Type) := alter: (A → A) → K → M → M.
-Global Hint Mode Alter + + ! : typeclass_instances.
+Global Hint Mode Alter - + ! : typeclass_instances.
 Global Hint Mode Alter - - + : typeclass_instances.
 Global Instance: Params (@alter) 4 := {}.
 Global Arguments alter {_ _ _ _} _ !_ !_ / : simpl nomatch, assert.
@@ -1331,7 +1330,7 @@ if [k] is not a member of [m]. The value at [k] should be deleted if [f]
 yields [None]. *)
 Class PartialAlter (K A M : Type) :=
   partial_alter: (option A → option A) → K → M → M.
-Global Hint Mode PartialAlter + + ! : typeclass_instances.
+Global Hint Mode PartialAlter - + ! : typeclass_instances.
 Global Hint Mode PartialAlter - - + : typeclass_instances.
 Global Instance: Params (@partial_alter) 4 := {}.
 Global Arguments partial_alter _ _ _ _ _ !_ !_ / : simpl nomatch, assert.