From 2eac02880a4b8184c95261f91b53e02da8b36fb4 Mon Sep 17 00:00:00 2001
From: Simon Peyton Jones <simon.peytonjones@gmail.com>
Date: Tue, 11 Jun 2024 17:37:26 +0100
Subject: [PATCH] Wibble

---
 compiler/GHC/Tc/Zonk/TcType.hs | 18 ++++++++++--------
 1 file changed, 10 insertions(+), 8 deletions(-)

diff --git a/compiler/GHC/Tc/Zonk/TcType.hs b/compiler/GHC/Tc/Zonk/TcType.hs
index 471623762a12..cd932c8441ec 100644
--- a/compiler/GHC/Tc/Zonk/TcType.hs
+++ b/compiler/GHC/Tc/Zonk/TcType.hs
@@ -657,18 +657,18 @@ tidyCt env = updCtEvidence (tidyCtEvidence env)
 tidyCtEvidence :: TidyEnv -> CtEvidence -> CtEvidence
      -- NB: we do not tidy the ctev_evar field because we don't
      --     show it in error messages
-tidyCtEvidence env ctev = ctev { ctev_pred = tidyOpenType env ty }
-  where
-    ty  = ctev_pred ctev
+tidyCtEvidence env ctev
+  = ctev { ctev_pred = tidyType env $ ctev_pred ctev }
+  -- No need for tidyOpenType because all the free tyvars are already tidied
 
 tidyHole :: TidyEnv -> Hole -> Hole
-tidyHole env h@(Hole { hole_ty = ty }) = h { hole_ty = tidyOpenType env ty }
+tidyHole env h@(Hole { hole_ty = ty })
+  = h { hole_ty = tidyType env ty }
+  -- No need for tidyOpenType because all the free tyvars are already tidied
 
 tidyDelayedError :: TidyEnv -> DelayedError -> DelayedError
-tidyDelayedError env (DE_Hole hole)
-  = DE_Hole $ tidyHole env hole
-tidyDelayedError env (DE_NotConcrete err)
-  = DE_NotConcrete $ tidyConcreteError env err
+tidyDelayedError env (DE_Hole hole)       = DE_Hole        $ tidyHole env hole
+tidyDelayedError env (DE_NotConcrete err) = DE_NotConcrete $ tidyConcreteError env err
 
 tidyConcreteError :: TidyEnv -> NotConcreteError -> NotConcreteError
 tidyConcreteError env err@(NCE_FRR { nce_frr_origin = frr_orig })
@@ -677,7 +677,9 @@ tidyConcreteError env err@(NCE_FRR { nce_frr_origin = frr_orig })
 tidyFRROrigin :: TidyEnv -> FixedRuntimeRepOrigin -> FixedRuntimeRepOrigin
 tidyFRROrigin env (FixedRuntimeRepOrigin ty orig)
   = FixedRuntimeRepOrigin (tidyType env ty) orig
+  -- No need for tidyOpenType because all the free tyvars are already tidied
 
 ----------------
 tidyEvVar :: TidyEnv -> EvVar -> EvVar
 tidyEvVar env var = updateIdTypeAndMult (tidyType env) var
+  -- No need for tidyOpenType because all the free tyvars are already tidied
-- 
GitLab