diff --git a/theories/finite.v b/theories/finite.v
index ab14c0e092bd3098f9486593d00a2fe459fe80b2..a44bfe75385a3f9a890f4b57d4ba8cbdccd08975 100644
--- a/theories/finite.v
+++ b/theories/finite.v
@@ -72,7 +72,7 @@ Definition encode_fin `{Finite A} (x : A) : fin (card A) :=
   Fin.of_nat_lt (encode_lt_card x).
 Program Definition decode_fin `{Finite A} (i : fin (card A)) : A :=
   match Some_dec (decode_nat i) return _ with
-  | inleft (exist _ x _) => x | inright _ => _
+  | inleft (x ↾ _) => x | inright _ => _
   end.
 Next Obligation.
   intros A ?? i ?; exfalso.
diff --git a/theories/hlist.v b/theories/hlist.v
index ae4f934180b429c4ebf93f06a92a3da2ed36ad5f..046a419d7eeeedd814f8298d50eb3e0b2a64d5ec 100644
--- a/theories/hlist.v
+++ b/theories/hlist.v
@@ -40,10 +40,10 @@ Definition hlam {A As B} (f : A → himpl As B) : himpl (tcons A As) B := f.
 Arguments hlam _ _ _ _ _ / : assert.
 
 Definition hcurry {As B} (f : himpl As B) (xs : hlist As) : B :=
-  (fix go As xs :=
+  (fix go {As} xs :=
     match xs in hlist As return himpl As B → B with
     | hnil => λ f, f
-    | @hcons A As x xs => λ f, go As xs (f x)
+    | hcons x xs => λ f, go xs (f x)
     end) _ xs f.
 Coercion hcurry : himpl >-> Funclass.