diff --git a/compiler/hsSyn/HsTypes.hs b/compiler/hsSyn/HsTypes.hs
index 993b0202d805a05fa4baa873e97cedfd56ad170b..4ab15b2625b8c7e9d226b3c473823c8d5d30100f 100644
--- a/compiler/hsSyn/HsTypes.hs
+++ b/compiler/hsSyn/HsTypes.hs
@@ -1444,7 +1444,7 @@ ppr_fun_ty ty1 ty2
   = let p1 = ppr_mono_lty ty1
         p2 = ppr_mono_lty ty2
     in
-    sep [p1, text "->" <+> p2]
+    sep [p1, arrow <+> p2]
 
 --------------------------
 ppr_tylit :: HsTyLit -> SDoc
diff --git a/testsuite/tests/ghci/scripts/T8959b.stderr b/testsuite/tests/ghci/scripts/T8959b.stderr
index 28b48fdba836dd858a14d395e31063d18002137c..a814d2e5cbd46923a1cb773002aac86f3f785448 100644
--- a/testsuite/tests/ghci/scripts/T8959b.stderr
+++ b/testsuite/tests/ghci/scripts/T8959b.stderr
@@ -12,5 +12,5 @@ T8959b.hs:8:7: error:
 T8959b.hs:10:7: error:
     • Couldn't match expected type ‘(∀ a2. a2 → a2) → a1’
                   with actual type ‘()’
-    • In the expression: () ∷ (∀ a. a -> a) -> a
-      In an equation for ‘baz’: baz = () ∷ (∀ a. a -> a) -> a
+    • In the expression: () ∷ (∀ a. a → a) → a
+      In an equation for ‘baz’: baz = () ∷ (∀ a. a → a) → a