diff --git a/compiler/GHC/Parser/Annotation.hs b/compiler/GHC/Parser/Annotation.hs
index de074daad0e9d170077bd1e594bf8e4d6d8b257b..2728a7d4c11adbb798583f04abd154ffc43d4580 100644
--- a/compiler/GHC/Parser/Annotation.hs
+++ b/compiler/GHC/Parser/Annotation.hs
@@ -1393,7 +1393,7 @@ instance (Semigroup a) => Semigroup (EpAnn a) where
    -- annotations must follow it. So we combine them which yields the
    -- largest span
 
-instance Semigroup Anchor where
+instance Semigroup EpaLocation where
   EpaSpan s1 m1    <> EpaSpan s2 m2     = EpaSpan (combineRealSrcSpans s1 s2) (liftA2 combineBufSpans m1 m2)
   EpaSpan s1 m1    <> _                 = EpaSpan s1 m1
   _                <> EpaSpan s2 m2     = EpaSpan s2 m2
diff --git a/utils/check-exact/Orphans.hs b/utils/check-exact/Orphans.hs
index c4e04ef5c0b16286e49639a3d1bac712360a0084..4d5a50a96a724dcc8f15025a50e1c579398be0ad 100644
--- a/utils/check-exact/Orphans.hs
+++ b/utils/check-exact/Orphans.hs
@@ -5,65 +5,61 @@ module Orphans where
 
 import GHC hiding (EpaComment)
 
--- ---------------------------------------------------------------------
--- Orphan NoAnn instances. See https://gitlab.haskell.org/ghc/ghc/-/issues/20372
+-- -- ---------------------------------------------------------------------
 
 instance NoAnn [a] where
   noAnn = []
 
-instance NoAnn AnnPragma where
-  noAnn = AnnPragma noAnn noAnn noAnn
-
-instance NoAnn EpAnnImportDecl where
-  noAnn = EpAnnImportDecl noAnn  Nothing  Nothing  Nothing  Nothing  Nothing
+instance (NoAnn a, NoAnn b) => NoAnn (a, b) where
+  noAnn = (noAnn, noAnn)
 
-instance NoAnn AnnParen where
-  noAnn = AnnParen AnnParens noAnn noAnn
+instance NoAnn EpaLocation where
+  noAnn = EpaDelta (SameLine 0) []
 
-instance NoAnn HsRuleAnn where
-  noAnn = HsRuleAnn Nothing Nothing noAnn
+instance NoAnn EpAnnSumPat where
+  noAnn = EpAnnSumPat [] [] []
 
-instance NoAnn AnnSig where
-  noAnn = AnnSig noAnn  noAnn
+instance NoAnn AnnPragma where
+  noAnn = AnnPragma noAnn noAnn []
 
-instance NoAnn GrhsAnn where
-  noAnn = GrhsAnn Nothing  noAnn
+instance NoAnn AddEpAnn where
+  noAnn = AddEpAnn noAnn noAnn
 
-instance NoAnn EpAnnUnboundVar where
-  noAnn = EpAnnUnboundVar noAnn  noAnn
+instance NoAnn AnnKeywordId where
+  noAnn = Annlarrowtail  {- gotta pick one -}
 
-instance (NoAnn a, NoAnn b) => NoAnn (a, b) where
-  noAnn = (noAnn, noAnn)
+instance NoAnn AnnParen where
+  noAnn = AnnParen AnnParens noAnn noAnn
 
-instance NoAnn AnnExplicitSum where
-  noAnn = AnnExplicitSum noAnn  noAnn  noAnn  noAnn
+instance NoAnn AnnsIf where
+  noAnn = AnnsIf noAnn noAnn noAnn Nothing Nothing
 
 instance NoAnn EpAnnHsCase where
   noAnn = EpAnnHsCase noAnn noAnn noAnn
 
-instance NoAnn AnnsIf where
-  noAnn = AnnsIf noAnn noAnn noAnn noAnn noAnn
-
-instance NoAnn (Maybe a) where
-  noAnn = Nothing
+instance NoAnn AnnFieldLabel where
+  noAnn = AnnFieldLabel Nothing
 
 instance NoAnn AnnProjection where
   noAnn = AnnProjection noAnn noAnn
 
-instance NoAnn AnnFieldLabel where
-  noAnn = AnnFieldLabel Nothing
+instance NoAnn AnnExplicitSum where
+  noAnn = AnnExplicitSum noAnn noAnn noAnn noAnn
 
-instance NoAnn EpaLocation where
-  noAnn = EpaDelta (SameLine 0) []
+instance NoAnn EpAnnUnboundVar where
+  noAnn = EpAnnUnboundVar noAnn  noAnn
 
-instance NoAnn AddEpAnn where
-  noAnn = AddEpAnn noAnn noAnn
+instance NoAnn GrhsAnn where
+  noAnn = GrhsAnn Nothing noAnn
 
-instance NoAnn AnnKeywordId where
-  noAnn = Annlarrowtail  {- gotta pick one -}
+instance NoAnn HsRuleAnn where
+  noAnn = HsRuleAnn Nothing Nothing noAnn
 
-instance NoAnn EpAnnSumPat where
-  noAnn = EpAnnSumPat noAnn  noAnn  noAnn
+instance NoAnn AnnSig where
+  noAnn = AnnSig noAnn noAnn
+
+instance NoAnn EpAnnImportDecl where
+  noAnn = EpAnnImportDecl noAnn  Nothing  Nothing  Nothing  Nothing  Nothing
 
 instance NoAnn AnnsModule where
-  noAnn = AnnsModule [] mempty Nothing
+  noAnn = AnnsModule [] [] Nothing