From d6588276e819f088e29a6c16ba0a0c82acfd05cc Mon Sep 17 00:00:00 2001
From: Ian Lynagh <ian@well-typed.com>
Date: Sun, 24 Feb 2013 14:48:43 +0000
Subject: [PATCH] Update outputs following the unicode quote change in GHC's
 output

---
 .../annotations/should_fail/annfail01.stderr  |   4 +-
 .../annotations/should_fail/annfail02.stderr  |   4 +-
 .../annotations/should_fail/annfail03.stderr  |   5 +-
 .../annotations/should_fail/annfail04.stderr  |   5 +-
 .../annotations/should_fail/annfail06.stderr  |   5 +-
 .../annotations/should_fail/annfail07.stderr  |   4 +-
 .../annotations/should_fail/annfail08.stderr  |   2 +-
 .../annotations/should_fail/annfail09.stderr  |   4 +-
 .../annotations/should_fail/annfail10.stderr  |  18 +--
 .../annotations/should_fail/annfail11.stderr  |   4 +-
 .../tests/arrows/should_fail/T5380.stderr     |  12 +-
 .../arrows/should_fail/arrowfail001.stderr    |   4 +-
 .../arrows/should_fail/arrowfail002.stderr    |   2 +-
 .../arrows/should_fail/arrowfail004.stderr    |   2 +-
 .../deSugar/should_compile/GadtOverlap.stderr |   6 +-
 .../tests/deSugar/should_compile/T2395.stderr |   6 +-
 .../tests/deSugar/should_compile/T5117.stderr |   8 +-
 .../deSugar/should_compile/ds002.stderr-ghc   |  16 +--
 .../deSugar/should_compile/ds003.stderr-ghc   |  10 +-
 .../deSugar/should_compile/ds019.stderr-ghc   |  12 +-
 .../deSugar/should_compile/ds020.stderr-ghc   |  28 ++--
 .../deSugar/should_compile/ds022.stderr-ghc   |  10 +-
 .../deSugar/should_compile/ds041.stderr-ghc   |  10 +-
 .../deSugar/should_compile/ds051.stderr-ghc   |  18 +--
 .../deSugar/should_compile/ds053.stderr-ghc   |   2 +-
 .../tests/deSugar/should_compile/ds056.stderr |   6 +-
 .../deriving/should_compile/drv021.stderr     |   6 +-
 .../tests/deriving/should_fail/T1133A.stderr  |   6 +-
 .../tests/deriving/should_fail/T2394.stderr   |  12 +-
 .../tests/deriving/should_fail/T2604.stderr   |  20 +--
 .../tests/deriving/should_fail/T2701.stderr   |  10 +-
 .../tests/deriving/should_fail/T2721.stderr   |  12 +-
 .../tests/deriving/should_fail/T3101.stderr   |  12 +-
 .../tests/deriving/should_fail/T3833.stderr   |   6 +-
 .../tests/deriving/should_fail/T3834.stderr   |   6 +-
 .../tests/deriving/should_fail/T4528.stderr   |  14 +-
 .../tests/deriving/should_fail/T5287.stderr   |  20 +--
 .../tests/deriving/should_fail/T5478.stderr   |  10 +-
 .../tests/deriving/should_fail/T5686.stderr   |  10 +-
 .../tests/deriving/should_fail/T5922.stderr   |   8 +-
 .../drvfail-foldable-traversable1.stderr      |  12 +-
 .../should_fail/drvfail-functor1.stderr       |  10 +-
 .../should_fail/drvfail-functor2.stderr       |  24 ++--
 .../deriving/should_fail/drvfail005.stderr    |  10 +-
 .../deriving/should_fail/drvfail009.stderr    |  46 +++---
 .../deriving/should_fail/drvfail011.stderr    |  10 +-
 .../deriving/should_fail/drvfail014.stderr    |  18 +--
 .../deriving/should_fail/drvfail015.stderr    |  26 ++--
 testsuite/tests/driver/T1372/T1372.stderr     |   2 +-
 testsuite/tests/driver/T5147/T5147.stderr     |   4 +-
 testsuite/tests/driver/T6037.stderr           |   4 +-
 testsuite/tests/driver/bug1677/bug1677.stderr |   4 +-
 testsuite/tests/driver/driver063.stderr       |   2 +-
 .../tests/driver/recomp001/recomp001.stderr   |   2 +-
 .../tests/driver/recomp005/recomp005.stderr   |   4 +-
 testsuite/tests/driver/werror.stderr          |  10 +-
 testsuite/tests/gadt/T3163.stderr             |  10 +-
 testsuite/tests/gadt/T3169.stderr             |   4 +-
 testsuite/tests/gadt/T3651.stderr             |  26 ++--
 testsuite/tests/gadt/T7293.stderr             |   6 +-
 testsuite/tests/gadt/T7294.stderr             |   6 +-
 testsuite/tests/gadt/gadt-escape1.stderr      |  38 ++---
 testsuite/tests/gadt/gadt10.stderr            |  14 +-
 testsuite/tests/gadt/gadt11.stderr            |  12 +-
 testsuite/tests/gadt/gadt13.stderr            |  32 ++---
 testsuite/tests/gadt/gadt21.stderr            |  15 +-
 testsuite/tests/gadt/gadt7.stderr             |  40 +++---
 testsuite/tests/gadt/gadtSyntaxFail001.stderr |  12 +-
 testsuite/tests/gadt/gadtSyntaxFail002.stderr |  12 +-
 testsuite/tests/gadt/gadtSyntaxFail003.stderr |  12 +-
 testsuite/tests/gadt/lazypat.stderr           |   2 +-
 testsuite/tests/gadt/records-fail1.stderr     |  10 +-
 testsuite/tests/gadt/rw.stderr                |  14 +-
 .../tests/generics/GenCannotDoRep0.stderr     |  16 +--
 .../tests/generics/GenCannotDoRep1.stderr     |  16 +--
 .../tests/generics/GenCannotDoRep1_0.stderr   |   4 +-
 .../tests/generics/GenCannotDoRep1_1.stderr   |   4 +-
 .../tests/generics/GenCannotDoRep1_2.stderr   |   4 +-
 .../tests/generics/GenCannotDoRep1_3.stderr   |   6 +-
 .../tests/generics/GenCannotDoRep1_4.stderr   |   6 +-
 .../tests/generics/GenCannotDoRep1_5.stderr   |   6 +-
 .../tests/generics/GenCannotDoRep1_6.stderr   |   6 +-
 .../tests/generics/GenCannotDoRep1_7.stderr   |   4 +-
 .../tests/generics/GenCannotDoRep1_8.stderr   |   6 +-
 .../tests/generics/GenCannotDoRep2.stderr     |   4 +-
 .../tests/generics/GenShouldFail0.stderr      |   4 +-
 .../tests/generics/GenShouldFail1_0.stderr    |   4 +-
 .../ghc-api/apirecomp001/apirecomp001.stderr  |  20 +--
 testsuite/tests/ghc-e/should_run/T2636.stderr |   2 +-
 .../ghci.debugger/scripts/break003.stderr     |   2 +-
 .../ghci.debugger/scripts/break006.stderr     |  20 +--
 .../ghci.debugger/scripts/break019.stderr     |   4 +-
 .../ghci.debugger/scripts/dynbrk001.stderr    |   2 +-
 .../ghci.debugger/scripts/dynbrk001.stdout    |   2 +-
 .../ghci.debugger/scripts/print019.stderr     |   4 +-
 .../ghci.debugger/scripts/print020.stderr     |   4 +-
 testsuite/tests/ghci/prog006/prog006.stderr   |   2 +-
 .../tests/ghci/prog009/ghci.prog009.stderr    |   4 +-
 testsuite/tests/ghci/prog012/prog012.stderr   |   2 +-
 testsuite/tests/ghci/scripts/T2452.stderr     |   2 +-
 testsuite/tests/ghci/scripts/T2816.stderr     |   2 +-
 testsuite/tests/ghci/scripts/T4127a.stderr    |   2 +-
 testsuite/tests/ghci/scripts/T5545.stdout     |   2 +-
 testsuite/tests/ghci/scripts/T5564.stderr     |   8 +-
 testsuite/tests/ghci/scripts/T5836.stderr     |   2 +-
 testsuite/tests/ghci/scripts/T5979.stderr     |   2 +-
 testsuite/tests/ghci/scripts/T6007.stderr     |   4 +-
 testsuite/tests/ghci/scripts/ghci008.stdout   |  16 +--
 testsuite/tests/ghci/scripts/ghci011.stdout   |  42 +++---
 testsuite/tests/ghci/scripts/ghci020.stdout   |   6 +-
 testsuite/tests/ghci/scripts/ghci021.stderr   |   2 +-
 testsuite/tests/ghci/scripts/ghci034.stderr   |   2 +-
 testsuite/tests/ghci/scripts/ghci036.stderr   |  16 +--
 testsuite/tests/ghci/scripts/ghci038.stderr   |   4 +-
 testsuite/tests/ghci/scripts/ghci044.stderr   |   4 +-
 testsuite/tests/ghci/scripts/ghci047.stderr   |   8 +-
 testsuite/tests/ghci/scripts/ghci048.stderr   |   4 +-
 testsuite/tests/ghci/scripts/ghci050.stderr   |   8 +-
 testsuite/tests/ghci/scripts/ghci051.stderr   |   4 +-
 testsuite/tests/ghci/scripts/ghci052.stderr   |  30 ++--
 testsuite/tests/ghci/scripts/ghci053.stderr   |  16 +--
 testsuite/tests/ghci/scripts/ghci057.stderr   |  34 ++---
 .../haddock_examples/haddock.Test.stderr      |   8 +-
 .../should_compile/Class3.stderr              |   6 +-
 .../should_compile/Simple14.stderr            |  10 +-
 .../should_compile/Simple2.stderr             |  60 ++++----
 .../should_fail/DerivUnsatFam.stderr          |  10 +-
 .../should_fail/ExtraTcsUntch.stderr          |   2 +-
 .../should_fail/GADTwrong1.stderr             |  42 +++---
 .../should_fail/NoMatchErr.stderr             |  26 ++--
 .../should_fail/NotRelaxedExamples.stderr     |  36 ++---
 .../should_fail/Overlap10.stderr              |  16 +--
 .../should_fail/Overlap11.stderr              |  16 +--
 .../indexed-types/should_fail/Overlap5.stderr |  12 +-
 .../indexed-types/should_fail/Overlap6.stderr |   6 +-
 .../indexed-types/should_fail/Overlap9.stderr |   4 +-
 .../should_fail/SimpleFail12.stderr           |   8 +-
 .../should_fail/SimpleFail13.stderr           |  16 +--
 .../should_fail/SimpleFail14.stderr           |  12 +-
 .../should_fail/SimpleFail15.stderr           |   2 +-
 .../should_fail/SimpleFail16.stderr           |  18 +--
 .../should_fail/SimpleFail1a.stderr           |   8 +-
 .../should_fail/SimpleFail1b.stderr           |   8 +-
 .../should_fail/SimpleFail2a.stderr           |   6 +-
 .../should_fail/SimpleFail3a.stderr           |  10 +-
 .../should_fail/SimpleFail4.stderr            |   6 +-
 .../should_fail/SimpleFail5a.stderr           |   6 +-
 .../should_fail/SimpleFail5b.stderr           |   4 +-
 .../should_fail/SimpleFail6.stderr            |   2 +-
 .../should_fail/SimpleFail7.stderr            |   8 +-
 .../should_fail/SimpleFail8.stderr            |  12 +-
 .../indexed-types/should_fail/T1897b.stderr   |  28 ++--
 .../indexed-types/should_fail/T1900.stderr    |  26 ++--
 .../indexed-types/should_fail/T2157.stderr    |   8 +-
 .../indexed-types/should_fail/T2203a.stderr   |   4 +-
 .../indexed-types/should_fail/T2239.stderr    |  56 ++++----
 .../indexed-types/should_fail/T2334A.stderr   |  12 +-
 .../indexed-types/should_fail/T2544.stderr    |  56 ++++----
 .../indexed-types/should_fail/T2627b.stderr   |  16 +--
 .../indexed-types/should_fail/T2664.stderr    |  46 +++---
 .../indexed-types/should_fail/T2693.stderr    |  86 +++++------
 .../indexed-types/should_fail/T3092.stderr    |  20 +--
 .../indexed-types/should_fail/T3330a.stderr   |  26 ++--
 .../indexed-types/should_fail/T3330c.stderr   |   6 +-
 .../indexed-types/should_fail/T3440.stderr    |  10 +-
 .../indexed-types/should_fail/T4093a.stderr   |   6 +-
 .../indexed-types/should_fail/T4093b.stderr   |   6 +-
 .../indexed-types/should_fail/T4099.stderr    |  46 +++---
 .../indexed-types/should_fail/T4174.stderr    |   4 +-
 .../indexed-types/should_fail/T4179.stderr    |   6 +-
 .../indexed-types/should_fail/T4272.stderr    |  10 +-
 .../indexed-types/should_fail/T4485.stderr    |  60 ++++----
 .../indexed-types/should_fail/T5439.stderr    |  56 ++++----
 .../indexed-types/should_fail/T5515.stderr    |   4 +-
 .../indexed-types/should_fail/T5934.stderr    |  14 +-
 .../indexed-types/should_fail/T6123.stderr    |  14 +-
 .../indexed-types/should_fail/T7010.stderr    |   6 +-
 .../indexed-types/should_fail/T7194.stderr    |   8 +-
 .../indexed-types/should_fail/T7354.stderr    |   4 +-
 .../indexed-types/should_fail/T7354a.stderr   |   6 +-
 .../indexed-types/should_fail/T7536.stderr    |   4 +-
 .../should_fail/TyFamArity1.stderr            |   8 +-
 .../should_fail/TyFamArity2.stderr            |   8 +-
 .../should_fail/TyFamUndec.stderr             |  36 ++---
 .../tests/mdo/should_fail/mdofail001.stderr   |   4 +-
 .../tests/mdo/should_fail/mdofail002.stderr   |   2 +-
 .../tests/mdo/should_fail/mdofail003.stderr   |   2 +-
 testsuite/tests/module/T414.stderr            |   2 +-
 testsuite/tests/module/mod1.stderr            |   2 +-
 testsuite/tests/module/mod10.stderr           |   2 +-
 testsuite/tests/module/mod101.stderr          |   4 +-
 testsuite/tests/module/mod102.stderr          |   4 +-
 testsuite/tests/module/mod110.stderr          |  10 +-
 testsuite/tests/module/mod114.stderr          |   2 +-
 testsuite/tests/module/mod116.stderr          |   2 +-
 testsuite/tests/module/mod120.stderr          |   2 +-
 testsuite/tests/module/mod121.stderr          |   4 +-
 testsuite/tests/module/mod122.stderr          |   2 +-
 testsuite/tests/module/mod123.stderr          |   2 +-
 testsuite/tests/module/mod124.stderr          |   2 +-
 testsuite/tests/module/mod125.stderr          |   2 +-
 testsuite/tests/module/mod126.stderr          |   2 +-
 testsuite/tests/module/mod127.stderr          |   2 +-
 testsuite/tests/module/mod128.stderr-ghc      |   2 +-
 testsuite/tests/module/mod130.stderr          |   2 +-
 testsuite/tests/module/mod131.stderr          |  10 +-
 testsuite/tests/module/mod132.stderr          |   2 +-
 testsuite/tests/module/mod134.stderr          |   8 +-
 testsuite/tests/module/mod136.stderr          |   6 +-
 testsuite/tests/module/mod138.stderr          |   2 +-
 testsuite/tests/module/mod14.stderr-ghc       |   5 +-
 testsuite/tests/module/mod142.stderr          |   8 +-
 testsuite/tests/module/mod143.stderr          |   8 +-
 testsuite/tests/module/mod144.stderr          |   8 +-
 testsuite/tests/module/mod145.stderr          |   8 +-
 testsuite/tests/module/mod146.stderr          |   8 +-
 testsuite/tests/module/mod147.stderr          |   2 +-
 testsuite/tests/module/mod150.stderr          |  10 +-
 testsuite/tests/module/mod151.stderr          |  10 +-
 testsuite/tests/module/mod152.stderr          |  20 +--
 testsuite/tests/module/mod153.stderr          |  10 +-
 testsuite/tests/module/mod155.stderr          |  10 +-
 testsuite/tests/module/mod158.stderr          |   2 +-
 testsuite/tests/module/mod160.stderr          |   4 +-
 testsuite/tests/module/mod161.stderr          |   2 +-
 testsuite/tests/module/mod164.stderr          |  10 +-
 testsuite/tests/module/mod165.stderr          |   8 +-
 testsuite/tests/module/mod17.stderr           |   2 +-
 testsuite/tests/module/mod174.stderr          |   2 +-
 testsuite/tests/module/mod176.stderr          |   6 +-
 testsuite/tests/module/mod177.stderr          |   8 +-
 testsuite/tests/module/mod178.stderr          |   4 +-
 testsuite/tests/module/mod18.stderr           |   2 +-
 testsuite/tests/module/mod180.stderr          |   4 +-
 testsuite/tests/module/mod19.stderr           |   4 +-
 testsuite/tests/module/mod2.stderr            |   2 +-
 testsuite/tests/module/mod20.stderr           |   2 +-
 testsuite/tests/module/mod21.stderr           |   2 +-
 testsuite/tests/module/mod22.stderr           |   2 +-
 testsuite/tests/module/mod23.stderr           |   2 +-
 testsuite/tests/module/mod24.stderr           |   2 +-
 testsuite/tests/module/mod25.stderr           |   2 +-
 testsuite/tests/module/mod26.stderr           |   2 +-
 testsuite/tests/module/mod29.stderr           |   2 +-
 testsuite/tests/module/mod3.stderr            |   2 +-
 testsuite/tests/module/mod36.stderr           |   2 +-
 testsuite/tests/module/mod38.stderr           |   2 +-
 testsuite/tests/module/mod4.stderr            |   2 +-
 testsuite/tests/module/mod40.stderr           |   4 +-
 testsuite/tests/module/mod41.stderr           |   4 +-
 testsuite/tests/module/mod42.stderr           |   4 +-
 testsuite/tests/module/mod43.stderr           |  10 +-
 testsuite/tests/module/mod45.stderr           |   2 +-
 testsuite/tests/module/mod46.stderr           |   2 +-
 testsuite/tests/module/mod47.stderr           |   2 +-
 testsuite/tests/module/mod49.stderr           |   2 +-
 testsuite/tests/module/mod5.stderr-ghc        |   4 +-
 testsuite/tests/module/mod50.stderr           |   2 +-
 testsuite/tests/module/mod53.stderr           |  10 +-
 testsuite/tests/module/mod55.stderr           |  12 +-
 testsuite/tests/module/mod56.stderr           |  16 +--
 testsuite/tests/module/mod59.stderr           |   2 +-
 testsuite/tests/module/mod60.stderr           |   4 +-
 testsuite/tests/module/mod61.stderr           |   2 +-
 testsuite/tests/module/mod62.stderr           |   4 +-
 testsuite/tests/module/mod63.stderr           |   2 +-
 testsuite/tests/module/mod66.stderr           |   2 +-
 testsuite/tests/module/mod67.stderr           |   2 +-
 testsuite/tests/module/mod68.stderr           |  10 +-
 testsuite/tests/module/mod7.stderr            |   2 +-
 testsuite/tests/module/mod72.stderr           |   2 +-
 testsuite/tests/module/mod73.stderr           |   8 +-
 testsuite/tests/module/mod74.stderr           |   2 +-
 testsuite/tests/module/mod77.stderr           |   2 +-
 testsuite/tests/module/mod79.stderr           |   2 +-
 testsuite/tests/module/mod80.stderr           |   2 +-
 testsuite/tests/module/mod81.stderr           |   2 +-
 testsuite/tests/module/mod87.stderr           |   2 +-
 testsuite/tests/module/mod88.stderr           |   2 +-
 testsuite/tests/module/mod89.stderr           |   2 +-
 testsuite/tests/module/mod9.stderr            |   2 +-
 testsuite/tests/module/mod90.stderr           |   8 +-
 testsuite/tests/module/mod91.stderr           |   2 +-
 testsuite/tests/module/mod97.stderr           |   2 +-
 .../should_fail/overloadedlistsfail01.stderr  |  32 ++---
 .../should_fail/overloadedlistsfail02.stderr  |   6 +-
 .../should_fail/overloadedlistsfail03.stderr  |   9 +-
 .../should_fail/overloadedlistsfail04.stderr  |  12 +-
 .../should_fail/overloadedlistsfail05.stderr  |   8 +-
 .../should_fail/overloadedlistsfail06.stderr  |   7 +-
 .../tests/parser/should_compile/T2245.stderr  |  54 +++----
 .../tests/parser/should_compile/T3303.stderr  |   2 +-
 .../parser/should_compile/read014.stderr-ghc  |  40 +++---
 .../tests/parser/should_fail/T3811d.stderr    |   8 +-
 .../parser/should_fail/readFail001.stderr     |  20 +--
 .../parser/should_fail/readFail008.stderr     |   6 +-
 .../parser/should_fail/readFail016.stderr     |   2 +-
 .../parser/should_fail/readFail021.stderr     |   3 +-
 .../parser/should_fail/readFail023.stderr     |   4 +-
 .../parser/should_fail/readFail025.stderr     |   8 +-
 .../parser/should_fail/readFail035.stderr     |   8 +-
 .../parser/should_fail/readFail036.stderr     |   4 +-
 .../parser/should_fail/readFail037.stderr     |   4 +-
 .../parser/should_fail/readFail039.stderr     |  12 +-
 .../parser/should_fail/readFail041.stderr     |   4 +-
 .../parser/should_fail/readFail042.stderr     |   4 +-
 .../parser/should_fail/readFail043.stderr     |  14 +-
 .../parser/should_fail/readFail046.stderr     |   2 +-
 testsuite/tests/parser/unicode/T2302.stderr   |   2 +-
 .../tests/perf/compiler/parsing001.stderr     |   2 +-
 testsuite/tests/plugins/plugins03.stderr      |   3 +-
 testsuite/tests/plugins/plugins04.stderr      |   2 +-
 testsuite/tests/polykinds/PolyKinds02.stderr  |   6 +-
 testsuite/tests/polykinds/PolyKinds04.stderr  |  12 +-
 testsuite/tests/polykinds/PolyKinds06.stderr  |  10 +-
 testsuite/tests/polykinds/PolyKinds07.stderr  |  14 +-
 testsuite/tests/polykinds/T5716.stderr        |   8 +-
 testsuite/tests/polykinds/T5716a.stderr       |  14 +-
 testsuite/tests/polykinds/T6021.stderr        |   8 +-
 testsuite/tests/polykinds/T6039.stderr        |   4 +-
 testsuite/tests/polykinds/T6054.stderr        |   6 +-
 testsuite/tests/polykinds/T6129.stderr        |  14 +-
 testsuite/tests/polykinds/T7053.stderr        |  16 +--
 testsuite/tests/polykinds/T7151.stderr        |   2 +-
 testsuite/tests/polykinds/T7224.stderr        |   6 +-
 testsuite/tests/polykinds/T7230.stderr        |   6 +-
 testsuite/tests/polykinds/T7278.stderr        |   4 +-
 testsuite/tests/polykinds/T7328.stderr        |   8 +-
 testsuite/tests/polykinds/T7341.stderr        |  12 +-
 testsuite/tests/polykinds/T7404.stderr        |   4 +-
 testsuite/tests/polykinds/T7433.stderr        |   6 +-
 testsuite/tests/polykinds/T7438.stderr        |  12 +-
 testsuite/tests/polykinds/T7594.stderr        |  10 +-
 .../tests/programs/hs-boot/hs-boot.stderr     |   2 +-
 testsuite/tests/quasiquotation/T3953.stderr   |   2 +-
 testsuite/tests/rebindable/rebindable6.stderr | 134 +++++++++---------
 .../rename/prog002/rename.prog002.stderr      |   2 +-
 .../rename/prog003/rename.prog003.stderr      |   2 +-
 .../tests/rename/should_compile/T1789.stderr  |  16 +--
 .../tests/rename/should_compile/T1972.stderr  |  16 +--
 .../rename/should_compile/T3262.stderr-ghc    |  12 +-
 .../tests/rename/should_compile/T3371.stderr  |   2 +-
 .../tests/rename/should_compile/T3449.stderr  |   2 +-
 .../tests/rename/should_compile/T3823.stderr  |   6 +-
 .../tests/rename/should_compile/T4489.stderr  |  12 +-
 .../tests/rename/should_compile/T5331.stderr  |  26 ++--
 .../tests/rename/should_compile/T5334.stderr  |  12 +-
 .../tests/rename/should_compile/T5867.stderr  |   4 +-
 .../tests/rename/should_compile/T7145b.stderr |   2 +-
 .../tests/rename/should_compile/T7167.stderr  |   2 +-
 .../tests/rename/should_compile/T7336.stderr  |   6 +-
 .../rename/should_compile/mc10.stderr-ghc     |   2 +-
 .../rename/should_compile/rn037.stderr-ghc    |   8 +-
 .../rename/should_compile/rn039.stderr-ghc    |   8 +-
 .../rename/should_compile/rn040.stderr-ghc    |   4 +-
 .../rename/should_compile/rn041.stderr-ghc    |   6 +-
 .../rename/should_compile/rn046.stderr-ghc    |  12 +-
 .../rename/should_compile/rn047.stderr-ghc    |   2 +-
 .../tests/rename/should_compile/rn050.stderr  |   4 +-
 .../tests/rename/should_compile/rn063.stderr  |   4 +-
 .../tests/rename/should_compile/rn064.stderr  |   6 +-
 .../tests/rename/should_compile/rn066.stderr  |   4 +-
 .../tests/rename/should_fail/T1595a.stderr    |   2 +-
 .../tests/rename/should_fail/T2310.stderr     |   6 +-
 .../tests/rename/should_fail/T2723.stderr     |   6 +-
 .../tests/rename/should_fail/T2901.stderr     |   4 +-
 .../tests/rename/should_fail/T2993.stderr     |   2 +-
 .../tests/rename/should_fail/T3265.stderr     |   4 +-
 .../tests/rename/should_fail/T5211.stderr     |   4 +-
 .../tests/rename/should_fail/T5281.stderr     |   2 +-
 .../tests/rename/should_fail/T5372.stderr     |   6 +-
 .../tests/rename/should_fail/T5385.stderr     |   8 +-
 .../tests/rename/should_fail/T5533.stderr     |   2 +-
 .../tests/rename/should_fail/T5589.stderr     |  10 +-
 .../tests/rename/should_fail/T5657.stderr     |   2 +-
 .../tests/rename/should_fail/T5745.stderr     |   2 +-
 .../tests/rename/should_fail/T5892a.stderr    |   4 +-
 .../tests/rename/should_fail/T5892b.stderr    |   8 +-
 .../tests/rename/should_fail/T7164.stderr     |   2 +-
 .../tests/rename/should_fail/T7338.stderr     |   2 +-
 .../tests/rename/should_fail/T7338a.stderr    |   4 +-
 .../tests/rename/should_fail/T7454.stderr     |   2 +-
 .../tests/rename/should_fail/mc13.stderr      |   2 +-
 .../tests/rename/should_fail/mc14.stderr      |   2 +-
 .../tests/rename/should_fail/rn_dup.stderr    |   8 +-
 .../tests/rename/should_fail/rnfail001.stderr |   4 +-
 .../tests/rename/should_fail/rnfail002.stderr |   2 +-
 .../tests/rename/should_fail/rnfail003.stderr |   2 +-
 .../tests/rename/should_fail/rnfail004.stderr |   4 +-
 .../tests/rename/should_fail/rnfail007.stderr |   2 +-
 .../tests/rename/should_fail/rnfail008.stderr |   2 +-
 .../tests/rename/should_fail/rnfail009.stderr |   2 +-
 .../tests/rename/should_fail/rnfail010.stderr |   2 +-
 .../tests/rename/should_fail/rnfail011.stderr |   2 +-
 .../tests/rename/should_fail/rnfail012.stderr |   2 +-
 .../tests/rename/should_fail/rnfail013.stderr |   2 +-
 .../tests/rename/should_fail/rnfail015.stderr |   2 +-
 .../tests/rename/should_fail/rnfail017.stderr |   4 +-
 .../tests/rename/should_fail/rnfail018.stderr |   8 +-
 .../tests/rename/should_fail/rnfail019.stderr |   6 +-
 .../tests/rename/should_fail/rnfail022.stderr |   4 +-
 .../tests/rename/should_fail/rnfail023.stderr |   6 +-
 .../tests/rename/should_fail/rnfail024.stderr |   4 +-
 .../tests/rename/should_fail/rnfail025.stderr |   2 +-
 .../tests/rename/should_fail/rnfail026.stderr |   8 +-
 .../tests/rename/should_fail/rnfail027.stderr |   2 +-
 .../tests/rename/should_fail/rnfail029.stderr |  10 +-
 .../tests/rename/should_fail/rnfail030.stderr |   2 +-
 .../tests/rename/should_fail/rnfail031.stderr |   2 +-
 .../tests/rename/should_fail/rnfail032.stderr |   8 +-
 .../tests/rename/should_fail/rnfail033.stderr |   8 +-
 .../tests/rename/should_fail/rnfail034.stderr |   4 +-
 .../tests/rename/should_fail/rnfail035.stderr |   2 +-
 .../tests/rename/should_fail/rnfail040.stderr |  10 +-
 .../tests/rename/should_fail/rnfail041.stderr |   4 +-
 .../tests/rename/should_fail/rnfail043.stderr |   2 +-
 .../tests/rename/should_fail/rnfail044.stderr |  10 +-
 .../tests/rename/should_fail/rnfail045.stderr |   4 +-
 .../tests/rename/should_fail/rnfail048.stderr |  18 +--
 .../tests/rename/should_fail/rnfail049.stderr |   2 +-
 .../tests/rename/should_fail/rnfail050.stderr |   2 +-
 .../tests/rename/should_fail/rnfail053.stderr |   2 +-
 .../tests/rename/should_fail/rnfail054.stderr |   4 +-
 .../tests/rename/should_fail/rnfail055.stderr |  20 +--
 .../tests/rename/should_fail/rnfail057.stderr |   2 +-
 .../safeHaskell/flags/SafeFlags22.stderr      |   2 +-
 .../safeHaskell/flags/SafeFlags23.stderr      |   2 +-
 .../safeHaskell/flags/SafeFlags25.stderr      |   2 +-
 .../safeHaskell/flags/SafeFlags26.stderr      |   2 +-
 testsuite/tests/safeHaskell/ghci/p10.stderr   |   2 +-
 testsuite/tests/safeHaskell/ghci/p13.stderr   |   4 +-
 testsuite/tests/safeHaskell/ghci/p15.stderr   |   8 +-
 testsuite/tests/safeHaskell/ghci/p16.stderr   |  12 +-
 testsuite/tests/safeHaskell/ghci/p4.stderr    |   6 +-
 testsuite/tests/safeHaskell/ghci/p6.stderr    |   4 +-
 testsuite/tests/safeHaskell/ghci/p9.stderr    |   2 +-
 .../safeInfered/UnsafeInfered07.stderr        |   8 +-
 .../safeInfered/UnsafeInfered11.stderr        |   2 +-
 .../safeInfered/UnsafeInfered12.stderr        |   2 +-
 .../safeLanguage/SafeLang07.stderr            |   6 +-
 .../safeLanguage/SafeLang10.stderr            |   4 +-
 .../tests/safeHaskell/unsafeLibs/Dep01.stderr |   2 +-
 .../tests/safeHaskell/unsafeLibs/Dep02.stderr |   2 +-
 .../simplCore/should_compile/T4398.stderr     |   7 +-
 .../simplCore/should_compile/T5359b.stderr    |   2 +-
 .../should_compile/T6082-RULE.stderr          |   8 +-
 .../simplCore/should_compile/simpl016.stderr  |   6 +-
 .../simplCore/should_compile/simpl017.stderr  |  36 ++---
 .../simplCore/should_compile/simpl020.stderr  |  12 +-
 testsuite/tests/th/T2597b.stderr              |   2 +-
 testsuite/tests/th/T2674.stderr               |   2 +-
 testsuite/tests/th/T2713.stderr               |   8 +-
 testsuite/tests/th/T3177a.stderr              |  10 +-
 testsuite/tests/th/T3395.stderr               |   7 +-
 testsuite/tests/th/T5358.stderr               |  34 ++---
 testsuite/tests/th/T5795.stderr               |   4 +-
 testsuite/tests/th/T5971.stderr               |   2 +-
 testsuite/tests/th/T6114.stderr               |   4 +-
 testsuite/tests/th/T7276.stderr               |   4 +-
 testsuite/tests/th/T7276a.stdout              |   8 +-
 testsuite/tests/th/TH_1tuple.stderr           |   2 +-
 testsuite/tests/th/TH_dupdecl.stderr          |   2 +-
 testsuite/tests/th/TH_runIO.stderr            |   4 +-
 testsuite/tests/th/TH_spliceD1.stderr         |   4 +-
 testsuite/tests/th/TH_unresolvedInfix2.stderr |   8 +-
 .../tests/typecheck/bug1465/bug1465.stderr    |   6 +-
 .../prog001/typecheck.prog001.stderr-ghc      |   7 +-
 .../tests/typecheck/should_compile/FD1.stderr |   6 +-
 .../tests/typecheck/should_compile/FD2.stderr |  10 +-
 .../tests/typecheck/should_compile/FD3.stderr |  10 +-
 .../typecheck/should_compile/T2494.stderr     |  20 +--
 .../typecheck/should_compile/T2497.stderr     |   2 +-
 .../typecheck/should_compile/T5481.stderr     |   4 +-
 .../typecheck/should_compile/T7050.stderr     |   6 +-
 .../typecheck/should_compile/T7562.stderr     |   6 +-
 .../typecheck/should_compile/holes.stderr     |  24 ++--
 .../typecheck/should_compile/holes2.stderr    |  20 +--
 .../typecheck/should_compile/holes3.stderr    |  24 ++--
 .../typecheck/should_compile/tc056.stderr     |   6 +-
 .../typecheck/should_compile/tc115.stderr-ghc |   6 +-
 .../typecheck/should_compile/tc116.stderr-ghc |   6 +-
 .../typecheck/should_compile/tc125.stderr-ghc |  30 ++--
 .../typecheck/should_compile/tc126.stderr-ghc |  12 +-
 .../typecheck/should_compile/tc141.stderr     |  14 +-
 .../typecheck/should_compile/tc161.stderr-ghc |   6 +-
 .../typecheck/should_compile/tc167.stderr     |   4 +-
 .../typecheck/should_compile/tc168.stderr     |  22 +--
 .../typecheck/should_compile/tc211.stderr     |  14 +-
 .../typecheck/should_compile/tc254.stderr     |   6 +-
 .../typecheck/should_fail/AssocTyDef01.stderr |   2 +-
 .../typecheck/should_fail/AssocTyDef02.stderr |  12 +-
 .../typecheck/should_fail/AssocTyDef03.stderr |  10 +-
 .../typecheck/should_fail/AssocTyDef04.stderr |  14 +-
 .../typecheck/should_fail/AssocTyDef05.stderr |   4 +-
 .../typecheck/should_fail/AssocTyDef06.stderr |   4 +-
 .../typecheck/should_fail/AssocTyDef07.stderr |   2 +-
 .../typecheck/should_fail/AssocTyDef08.stderr |   2 +-
 .../typecheck/should_fail/AssocTyDef09.stderr |   2 +-
 .../should_fail/FDsFromGivens.stderr          |   8 +-
 .../FailDueToGivenOverlapping.stderr          |   6 +-
 .../should_fail/FrozenErrorTests.stderr       | 106 +++++++-------
 .../tests/typecheck/should_fail/IPFail.stderr |   4 +-
 .../should_fail/LongWayOverlapping.stderr     |   6 +-
 .../tests/typecheck/should_fail/SCLoop.stderr |   4 +-
 .../SilentParametersOverlapping.stderr        |   8 +-
 .../tests/typecheck/should_fail/T1595.stderr  |   4 +-
 .../tests/typecheck/should_fail/T1633.stderr  |   6 +-
 .../tests/typecheck/should_fail/T1897a.stderr |  22 +--
 .../tests/typecheck/should_fail/T1899.stderr  |   8 +-
 .../tests/typecheck/should_fail/T2126.stderr  |   4 +-
 .../tests/typecheck/should_fail/T2247.stderr  |   4 +-
 .../tests/typecheck/should_fail/T2354.stderr  |   4 +-
 .../tests/typecheck/should_fail/T2414.stderr  |   4 +-
 .../tests/typecheck/should_fail/T2534.stderr  |   6 +-
 .../tests/typecheck/should_fail/T2538.stderr  |   6 +-
 .../tests/typecheck/should_fail/T2688.stderr  |  14 +-
 .../tests/typecheck/should_fail/T2714.stderr  |  12 +-
 .../tests/typecheck/should_fail/T2806.stderr  |   8 +-
 .../tests/typecheck/should_fail/T2846b.stderr |   4 +-
 .../tests/typecheck/should_fail/T2994.stderr  |  18 +--
 .../tests/typecheck/should_fail/T3102.stderr  |   8 +-
 .../tests/typecheck/should_fail/T3176.stderr  |   4 +-
 .../tests/typecheck/should_fail/T3323.stderr  |   2 +-
 .../tests/typecheck/should_fail/T3406.stderr  |   6 +-
 .../tests/typecheck/should_fail/T3468.stderr  |  24 ++--
 .../tests/typecheck/should_fail/T3540.stderr  |  20 +--
 .../tests/typecheck/should_fail/T3592.stderr  |   8 +-
 .../tests/typecheck/should_fail/T3613.stderr  |  14 +-
 .../tests/typecheck/should_fail/T3966.stderr  |   6 +-
 .../tests/typecheck/should_fail/T4875.stderr  |  10 +-
 .../tests/typecheck/should_fail/T5051.stderr  |   8 +-
 .../tests/typecheck/should_fail/T5084.stderr  |   2 +-
 .../tests/typecheck/should_fail/T5095.stderr  |  56 ++++----
 .../tests/typecheck/should_fail/T5236.stderr  |  24 ++--
 .../tests/typecheck/should_fail/T5246.stderr  |   4 +-
 .../tests/typecheck/should_fail/T5300.stderr  |  64 ++++-----
 .../tests/typecheck/should_fail/T5570.stderr  |  18 +--
 .../tests/typecheck/should_fail/T5684.stderr  |  32 ++---
 .../tests/typecheck/should_fail/T5689.stderr  |  78 +++++-----
 .../tests/typecheck/should_fail/T5691.stderr  |  34 ++---
 .../tests/typecheck/should_fail/T5853.stderr  |   2 +-
 .../tests/typecheck/should_fail/T5858.stderr  |   6 +-
 .../tests/typecheck/should_fail/T5957.stderr  |   2 +-
 .../tests/typecheck/should_fail/T5978.stderr  |  20 +--
 .../tests/typecheck/should_fail/T6001.stderr  |   2 +-
 .../tests/typecheck/should_fail/T6069.stderr  |  14 +-
 .../tests/typecheck/should_fail/T6078.stderr  |   2 +-
 .../tests/typecheck/should_fail/T6161.stderr  |   4 +-
 .../tests/typecheck/should_fail/T7019.stderr  |   4 +-
 .../tests/typecheck/should_fail/T7019a.stderr |   6 +-
 .../tests/typecheck/should_fail/T7175.stderr  |   8 +-
 .../tests/typecheck/should_fail/T7210.stderr  |   6 +-
 .../tests/typecheck/should_fail/T7220.stderr  |   4 +-
 .../tests/typecheck/should_fail/T7264.stderr  |   8 +-
 .../tests/typecheck/should_fail/T7279.stderr  |   4 +-
 .../tests/typecheck/should_fail/T7368.stderr  |  14 +-
 .../tests/typecheck/should_fail/T7368a.stderr |  20 +--
 .../tests/typecheck/should_fail/T7410.stderr  |   8 +-
 .../tests/typecheck/should_fail/T7453.stderr  |  24 ++--
 .../tests/typecheck/should_fail/T7525.stderr  |   4 +-
 .../tests/typecheck/should_fail/T7545.stderr  |   2 +-
 .../tests/typecheck/should_fail/T7609.stderr  |  14 +-
 .../tests/typecheck/should_fail/T7645.stderr  |   8 +-
 .../should_fail/TcMultiWayIfFail.stderr       |   8 +-
 .../typecheck/should_fail/fd-loop.stderr      |  24 ++--
 .../tests/typecheck/should_fail/mc19.stderr   |   4 +-
 .../tests/typecheck/should_fail/mc20.stderr   |   2 +-
 .../tests/typecheck/should_fail/mc21.stderr   |   6 +-
 .../tests/typecheck/should_fail/mc22.stderr   |   6 +-
 .../tests/typecheck/should_fail/mc23.stderr   |   6 +-
 .../tests/typecheck/should_fail/mc24.stderr   |   6 +-
 .../tests/typecheck/should_fail/mc25.stderr   |   2 +-
 .../typecheck/should_fail/tcfail001.stderr    |   8 +-
 .../typecheck/should_fail/tcfail002.stderr    |   2 +-
 .../typecheck/should_fail/tcfail003.stderr    |   2 +-
 .../typecheck/should_fail/tcfail004.stderr    |   4 +-
 .../typecheck/should_fail/tcfail005.stderr    |   2 +-
 .../typecheck/should_fail/tcfail006.stderr    |   2 +-
 .../typecheck/should_fail/tcfail007.stderr    |   4 +-
 .../typecheck/should_fail/tcfail008.stderr    |  40 +++---
 .../typecheck/should_fail/tcfail009.stderr    |   4 +-
 .../typecheck/should_fail/tcfail010.stderr    |   4 +-
 .../typecheck/should_fail/tcfail011.stderr    |   2 +-
 .../typecheck/should_fail/tcfail012.stderr    |   2 +-
 .../typecheck/should_fail/tcfail013.stderr    |   4 +-
 .../typecheck/should_fail/tcfail014.stderr    |   4 +-
 .../typecheck/should_fail/tcfail015.stderr    |   4 +-
 .../typecheck/should_fail/tcfail016.stderr    |  12 +-
 .../typecheck/should_fail/tcfail017.stderr    |   2 +-
 .../typecheck/should_fail/tcfail018.stderr    |   2 +-
 .../typecheck/should_fail/tcfail019.stderr    |   2 +-
 .../typecheck/should_fail/tcfail020.stderr    |   2 +-
 .../typecheck/should_fail/tcfail027.stderr    |   4 +-
 .../typecheck/should_fail/tcfail028.stderr    |  10 +-
 .../typecheck/should_fail/tcfail029.stderr    |   4 +-
 .../typecheck/should_fail/tcfail030.stderr    |   2 +-
 .../typecheck/should_fail/tcfail031.stderr    |   4 +-
 .../typecheck/should_fail/tcfail032.stderr    |   6 +-
 .../typecheck/should_fail/tcfail033.stderr    |   2 +-
 .../typecheck/should_fail/tcfail034.stderr    |   6 +-
 .../typecheck/should_fail/tcfail036.stderr    |   8 +-
 .../typecheck/should_fail/tcfail037.stderr    |  10 +-
 .../typecheck/should_fail/tcfail038.stderr    |   4 +-
 .../typecheck/should_fail/tcfail040.stderr    |  18 +--
 .../typecheck/should_fail/tcfail041.stderr    |   2 +-
 .../typecheck/should_fail/tcfail042.stderr    |   2 +-
 .../typecheck/should_fail/tcfail043.stderr    |  80 +++++------
 .../typecheck/should_fail/tcfail044.stderr    |   8 +-
 .../typecheck/should_fail/tcfail047.stderr    |   4 +-
 .../typecheck/should_fail/tcfail048.stderr    |   2 +-
 .../typecheck/should_fail/tcfail049.stderr    |   2 +-
 .../typecheck/should_fail/tcfail050.stderr    |   2 +-
 .../typecheck/should_fail/tcfail051.stderr    |   4 +-
 .../typecheck/should_fail/tcfail052.stderr    |   2 +-
 .../typecheck/should_fail/tcfail053.stderr    |   2 +-
 .../typecheck/should_fail/tcfail054.stderr    |   2 +-
 .../typecheck/should_fail/tcfail055.stderr    |   4 +-
 .../typecheck/should_fail/tcfail056.stderr    |   2 +-
 .../typecheck/should_fail/tcfail057.stderr    |   4 +-
 .../typecheck/should_fail/tcfail058.stderr    |   6 +-
 .../typecheck/should_fail/tcfail061.stderr    |   8 +-
 .../typecheck/should_fail/tcfail062.stderr    |   4 +-
 .../typecheck/should_fail/tcfail063.stderr    |   6 +-
 .../typecheck/should_fail/tcfail065.stderr    |  10 +-
 .../typecheck/should_fail/tcfail067.stderr    |  28 ++--
 .../typecheck/should_fail/tcfail068.stderr    |  40 +++---
 .../typecheck/should_fail/tcfail069.stderr    |   4 +-
 .../typecheck/should_fail/tcfail070.stderr    |  10 +-
 .../typecheck/should_fail/tcfail072.stderr    |  32 ++---
 .../typecheck/should_fail/tcfail073.stderr    |   2 +-
 .../typecheck/should_fail/tcfail076.stderr    |  10 +-
 .../typecheck/should_fail/tcfail077.stderr    |   2 +-
 .../typecheck/should_fail/tcfail078.stderr    |   4 +-
 .../typecheck/should_fail/tcfail079.stderr    |   8 +-
 .../typecheck/should_fail/tcfail080.stderr    |  26 ++--
 .../typecheck/should_fail/tcfail082.stderr    |   2 +-
 .../typecheck/should_fail/tcfail083.stderr    |  40 +++---
 .../typecheck/should_fail/tcfail084.stderr    |   4 +-
 .../typecheck/should_fail/tcfail085.stderr    |   4 +-
 .../typecheck/should_fail/tcfail086.stderr    |  12 +-
 .../typecheck/should_fail/tcfail088.stderr    |   2 +-
 .../typecheck/should_fail/tcfail090.stderr    |   4 +-
 .../typecheck/should_fail/tcfail092.stderr    |   2 +-
 .../typecheck/should_fail/tcfail097.stderr    |  18 +--
 .../typecheck/should_fail/tcfail098.stderr    |  20 +--
 .../typecheck/should_fail/tcfail099.stderr    |  10 +-
 .../typecheck/should_fail/tcfail100.stderr    |   8 +-
 .../typecheck/should_fail/tcfail101.stderr    |   4 +-
 .../typecheck/should_fail/tcfail102.stderr    |   6 +-
 .../typecheck/should_fail/tcfail103.stderr    |  10 +-
 .../typecheck/should_fail/tcfail104.stderr    |   8 +-
 .../typecheck/should_fail/tcfail106.stderr    |   2 +-
 .../typecheck/should_fail/tcfail107.stderr    |   4 +-
 .../typecheck/should_fail/tcfail108.stderr    |   2 +-
 .../typecheck/should_fail/tcfail109.stderr    |   2 +-
 .../typecheck/should_fail/tcfail110.stderr    |   6 +-
 .../typecheck/should_fail/tcfail112.stderr    |  12 +-
 .../typecheck/should_fail/tcfail113.stderr    |  16 +--
 .../typecheck/should_fail/tcfail114.stderr    |   4 +-
 .../typecheck/should_fail/tcfail116.stderr    |   4 +-
 .../typecheck/should_fail/tcfail117.stderr    |  26 ++--
 .../typecheck/should_fail/tcfail119.stderr    |   4 +-
 .../typecheck/should_fail/tcfail121.stderr    |   7 +-
 .../typecheck/should_fail/tcfail122.stderr    |   4 +-
 .../typecheck/should_fail/tcfail123.stderr    |   6 +-
 .../typecheck/should_fail/tcfail125.stderr    |   4 +-
 .../typecheck/should_fail/tcfail127.stderr    |   2 +-
 .../typecheck/should_fail/tcfail128.stderr    |  42 +++---
 .../typecheck/should_fail/tcfail129.stderr    |   8 +-
 .../typecheck/should_fail/tcfail130.stderr    |   5 +-
 .../typecheck/should_fail/tcfail131.stderr    |   6 +-
 .../typecheck/should_fail/tcfail132.stderr    |   8 +-
 .../typecheck/should_fail/tcfail133.stderr    |  52 +++----
 .../typecheck/should_fail/tcfail134.stderr    |   8 +-
 .../typecheck/should_fail/tcfail135.stderr    |   8 +-
 .../typecheck/should_fail/tcfail136.stderr    |  10 +-
 .../typecheck/should_fail/tcfail137.stderr    |   4 +-
 .../typecheck/should_fail/tcfail139.stderr    |  10 +-
 .../typecheck/should_fail/tcfail140.stderr    |  32 ++---
 .../typecheck/should_fail/tcfail142.stderr    |  20 +--
 .../typecheck/should_fail/tcfail143.stderr    |   8 +-
 .../typecheck/should_fail/tcfail146.stderr    |   8 +-
 .../typecheck/should_fail/tcfail147.stderr    |  10 +-
 .../typecheck/should_fail/tcfail148.stderr    |  14 +-
 .../typecheck/should_fail/tcfail151.stderr    |  16 +--
 .../typecheck/should_fail/tcfail152.stderr    |   6 +-
 .../typecheck/should_fail/tcfail153.stderr    |   8 +-
 .../typecheck/should_fail/tcfail154.stderr    |  12 +-
 .../typecheck/should_fail/tcfail155.stderr    |  12 +-
 .../typecheck/should_fail/tcfail156.stderr    |   6 +-
 .../typecheck/should_fail/tcfail157.stderr    |  24 ++--
 .../typecheck/should_fail/tcfail158.stderr    |   6 +-
 .../typecheck/should_fail/tcfail159.stderr    |   2 +-
 .../typecheck/should_fail/tcfail160.stderr    |   6 +-
 .../typecheck/should_fail/tcfail161.stderr    |   6 +-
 .../typecheck/should_fail/tcfail162.stderr    |  14 +-
 .../typecheck/should_fail/tcfail164.stderr    |   6 +-
 .../typecheck/should_fail/tcfail165.stderr    |  10 +-
 .../typecheck/should_fail/tcfail167.stderr    |   6 +-
 .../typecheck/should_fail/tcfail168.stderr    |   6 +-
 .../typecheck/should_fail/tcfail170.stderr    |   8 +-
 .../typecheck/should_fail/tcfail171.stderr    |   4 +-
 .../typecheck/should_fail/tcfail173.stderr    |   2 +-
 .../typecheck/should_fail/tcfail174.stderr    |   8 +-
 .../typecheck/should_fail/tcfail175.stderr    |  10 +-
 .../typecheck/should_fail/tcfail176.stderr    |   8 +-
 .../typecheck/should_fail/tcfail177.stderr    | 114 +++++++--------
 .../typecheck/should_fail/tcfail178.stderr    |  12 +-
 .../typecheck/should_fail/tcfail179.stderr    |   8 +-
 .../typecheck/should_fail/tcfail180.stderr    |   2 +-
 .../typecheck/should_fail/tcfail181.stderr    |  30 ++--
 .../typecheck/should_fail/tcfail182.stderr    |   6 +-
 .../typecheck/should_fail/tcfail184.stderr    |  14 +-
 .../typecheck/should_fail/tcfail185.stderr    |  24 ++--
 .../typecheck/should_fail/tcfail186.stderr    |   6 +-
 .../typecheck/should_fail/tcfail187.stderr    |   4 +-
 .../typecheck/should_fail/tcfail189.stderr    |   6 +-
 .../typecheck/should_fail/tcfail190.stderr    |   2 +-
 .../typecheck/should_fail/tcfail191.stderr    |   6 +-
 .../typecheck/should_fail/tcfail192.stderr    |   6 +-
 .../typecheck/should_fail/tcfail193.stderr    |   4 +-
 .../typecheck/should_fail/tcfail194.stderr    |   6 +-
 .../typecheck/should_fail/tcfail195.stderr    |  10 +-
 .../typecheck/should_fail/tcfail196.stderr    |   2 +-
 .../typecheck/should_fail/tcfail197.stderr    |   2 +-
 .../typecheck/should_fail/tcfail198.stderr    |   6 +-
 .../typecheck/should_fail/tcfail199.stderr    |   4 +-
 .../typecheck/should_fail/tcfail200.stderr    |   4 +-
 .../typecheck/should_fail/tcfail201.stderr    |   4 +-
 .../typecheck/should_fail/tcfail203.stderr    |  32 ++---
 .../typecheck/should_fail/tcfail204.stderr    |  16 +--
 .../typecheck/should_fail/tcfail206.stderr    |  16 +--
 .../typecheck/should_fail/tcfail207.stderr    |  20 +--
 .../typecheck/should_fail/tcfail208.stderr    |   4 +-
 .../typecheck/should_fail/tcfail209.stderr    |  10 +-
 .../typecheck/should_fail/tcfail209a.stderr   |   2 +-
 .../typecheck/should_fail/tcfail210.stderr    |   2 +-
 .../typecheck/should_fail/tcfail211.stderr    |   7 +-
 .../typecheck/should_fail/tcfail212.stderr    |  12 +-
 .../typecheck/should_fail/tcfail213.stderr    |  14 +-
 .../typecheck/should_fail/tcfail214.stderr    |  14 +-
 .../typecheck/should_fail/tcfail215.stderr    |   4 +-
 .../typecheck/should_fail/tcfail216.stderr    |   2 +-
 .../typecheck/should_fail/tcfail217.stderr    |   2 +-
 .../typecheck/should_run/tcrun035.stderr      |  22 +--
 745 files changed, 3464 insertions(+), 3475 deletions(-)

diff --git a/testsuite/tests/annotations/should_fail/annfail01.stderr b/testsuite/tests/annotations/should_fail/annfail01.stderr
index 70553f983f09..160575cf9222 100644
--- a/testsuite/tests/annotations/should_fail/annfail01.stderr
+++ b/testsuite/tests/annotations/should_fail/annfail01.stderr
@@ -1,4 +1,4 @@
 
-annfail01.hs:4:1: Not in scope: type constructor or class `Foo'
+annfail01.hs:4:1: Not in scope: type constructor or class ‛Foo’
 
-annfail01.hs:5:1: Not in scope: `f'
+annfail01.hs:5:1: Not in scope: ‛f’
diff --git a/testsuite/tests/annotations/should_fail/annfail02.stderr b/testsuite/tests/annotations/should_fail/annfail02.stderr
index 83d54f9840a3..21f7aff82113 100644
--- a/testsuite/tests/annotations/should_fail/annfail02.stderr
+++ b/testsuite/tests/annotations/should_fail/annfail02.stderr
@@ -1,4 +1,4 @@
 
-annfail02.hs:6:1: Not in scope: data constructor `Foo'
+annfail02.hs:6:1: Not in scope: data constructor ‛Foo’
 
-annfail02.hs:7:1: Not in scope: type constructor or class `Bar'
+annfail02.hs:7:1: Not in scope: type constructor or class ‛Bar’
diff --git a/testsuite/tests/annotations/should_fail/annfail03.stderr b/testsuite/tests/annotations/should_fail/annfail03.stderr
index a7be7feb93c7..9c158550760a 100644
--- a/testsuite/tests/annotations/should_fail/annfail03.stderr
+++ b/testsuite/tests/annotations/should_fail/annfail03.stderr
@@ -1,7 +1,8 @@
 
 annfail03.hs:17:1:
-    GHC stage restriction: instance for `Data InModule'
-      is used in a top-level splice or annotation,
+    GHC stage restriction:
+      instance for ‛Data
+                      InModule’ is used in a top-level splice or annotation,
       and must be imported, not defined locally
     In the expression: InModule
     In the annotation: {-# ANN f InModule #-}
diff --git a/testsuite/tests/annotations/should_fail/annfail04.stderr b/testsuite/tests/annotations/should_fail/annfail04.stderr
index dcbe0e7945ec..9d7bf3977856 100644
--- a/testsuite/tests/annotations/should_fail/annfail04.stderr
+++ b/testsuite/tests/annotations/should_fail/annfail04.stderr
@@ -1,7 +1,8 @@
 
 annfail04.hs:14:12:
-    GHC stage restriction: instance for `Thing Int'
-      is used in a top-level splice or annotation,
+    GHC stage restriction:
+      instance for ‛Thing
+                      Int’ is used in a top-level splice or annotation,
       and must be imported, not defined locally
     In the expression: (thing :: Int)
     In the annotation: {-# ANN f (thing :: Int) #-}
diff --git a/testsuite/tests/annotations/should_fail/annfail06.stderr b/testsuite/tests/annotations/should_fail/annfail06.stderr
index c5082c386ea0..aec329d5fa2a 100644
--- a/testsuite/tests/annotations/should_fail/annfail06.stderr
+++ b/testsuite/tests/annotations/should_fail/annfail06.stderr
@@ -1,7 +1,8 @@
 
 annfail06.hs:21:1:
-    GHC stage restriction: instance for `Data InstancesInWrongModule'
-      is used in a top-level splice or annotation,
+    GHC stage restriction:
+      instance for ‛Data
+                      InstancesInWrongModule’ is used in a top-level splice or annotation,
       and must be imported, not defined locally
     In the expression: InstancesInWrongModule
     In the annotation: {-# ANN f InstancesInWrongModule #-}
diff --git a/testsuite/tests/annotations/should_fail/annfail07.stderr b/testsuite/tests/annotations/should_fail/annfail07.stderr
index 01f4b62c456b..678a1609ecdc 100644
--- a/testsuite/tests/annotations/should_fail/annfail07.stderr
+++ b/testsuite/tests/annotations/should_fail/annfail07.stderr
@@ -1,6 +1,6 @@
 
 annfail07.hs:9:17:
-    Couldn't match expected type `[a0]' with actual type `Bool'
-    In the first argument of `head', namely `True'
+    Couldn't match expected type ‛[a0]’ with actual type ‛Bool’
+    In the first argument of ‛head’, namely ‛True’
     In the expression: (head True)
     In the annotation: {-# ANN f (head True) #-}
diff --git a/testsuite/tests/annotations/should_fail/annfail08.stderr b/testsuite/tests/annotations/should_fail/annfail08.stderr
index df18d002ee65..b9023476f08c 100644
--- a/testsuite/tests/annotations/should_fail/annfail08.stderr
+++ b/testsuite/tests/annotations/should_fail/annfail08.stderr
@@ -6,6 +6,6 @@ annfail08.hs:9:1:
     In the annotation: {-# ANN f (id + 1) #-}
 
 annfail08.hs:9:15:
-    No instance for (Num (a0 -> a0)) arising from a use of `+'
+    No instance for (Num (a0 -> a0)) arising from a use of ‛+’
     In the expression: (id + 1)
     In the annotation: {-# ANN f (id + 1) #-}
diff --git a/testsuite/tests/annotations/should_fail/annfail09.stderr b/testsuite/tests/annotations/should_fail/annfail09.stderr
index 5eae63a012c7..4bddab8dd0cc 100644
--- a/testsuite/tests/annotations/should_fail/annfail09.stderr
+++ b/testsuite/tests/annotations/should_fail/annfail09.stderr
@@ -1,7 +1,7 @@
 
 annfail09.hs:11:11:
-    GHC stage restriction: `g'
-      is used in a top-level splice or annotation,
+    GHC stage restriction:
+      ‛g’ is used in a top-level splice or annotation,
       and must be imported, not defined locally
     In the expression: g
     In the annotation: {-# ANN f g #-}
diff --git a/testsuite/tests/annotations/should_fail/annfail10.stderr b/testsuite/tests/annotations/should_fail/annfail10.stderr
index c5b0356892c3..0fd7859ef7e2 100644
--- a/testsuite/tests/annotations/should_fail/annfail10.stderr
+++ b/testsuite/tests/annotations/should_fail/annfail10.stderr
@@ -1,27 +1,27 @@
 
 annfail10.hs:9:1:
     No instance for (Data.Data.Data a0) arising from an annotation
-    The type variable `a0' is ambiguous
+    The type variable ‛a0’ is ambiguous
     Note: there are several potential instances:
-      instance Data.Data.Data () -- Defined in `Data.Data'
+      instance Data.Data.Data () -- Defined in ‛Data.Data’
       instance (Data.Data.Data a, Data.Data.Data b) =>
                Data.Data.Data (a, b)
-        -- Defined in `Data.Data'
+        -- Defined in ‛Data.Data’
       instance (Data.Data.Data a, Data.Data.Data b, Data.Data.Data c) =>
                Data.Data.Data (a, b, c)
-        -- Defined in `Data.Data'
+        -- Defined in ‛Data.Data’
       ...plus 27 others
     In the expression: 1
     In the annotation: {-# ANN f 1 #-}
 
 annfail10.hs:9:11:
-    No instance for (Num a0) arising from the literal `1'
-    The type variable `a0' is ambiguous
+    No instance for (Num a0) arising from the literal ‛1’
+    The type variable ‛a0’ is ambiguous
     Note: there are several potential instances:
-      instance Num Double -- Defined in `GHC.Float'
-      instance Num Float -- Defined in `GHC.Float'
+      instance Num Double -- Defined in ‛GHC.Float’
+      instance Num Float -- Defined in ‛GHC.Float’
       instance Integral a => Num (GHC.Real.Ratio a)
-        -- Defined in `GHC.Real'
+        -- Defined in ‛GHC.Real’
       ...plus 11 others
     In the expression: 1
     In the annotation: {-# ANN f 1 #-}
diff --git a/testsuite/tests/annotations/should_fail/annfail11.stderr b/testsuite/tests/annotations/should_fail/annfail11.stderr
index 18769f746669..39ff0e82eb70 100644
--- a/testsuite/tests/annotations/should_fail/annfail11.stderr
+++ b/testsuite/tests/annotations/should_fail/annfail11.stderr
@@ -1,4 +1,4 @@
 
-annfail11.hs:3:1: Not in scope: `length'
+annfail11.hs:3:1: Not in scope: ‛length’
 
-annfail11.hs:4:1: Not in scope: type constructor or class `Integer'
+annfail11.hs:4:1: Not in scope: type constructor or class ‛Integer’
diff --git a/testsuite/tests/arrows/should_fail/T5380.stderr b/testsuite/tests/arrows/should_fail/T5380.stderr
index 1d3fa3a1ed11..567450ef2792 100644
--- a/testsuite/tests/arrows/should_fail/T5380.stderr
+++ b/testsuite/tests/arrows/should_fail/T5380.stderr
@@ -1,7 +1,7 @@
 
 T5380.hs:7:27:
-    Couldn't match expected type `Bool' with actual type `not_bool'
-      `not_bool' is a rigid type variable bound by
+    Couldn't match expected type ‛Bool’ with actual type ‛not_bool’
+      ‛not_bool’ is a rigid type variable bound by
                  the type signature for
                    testB :: not_bool -> (() -> ()) -> () -> not_unit
                  at T5380.hs:6:10
@@ -11,12 +11,12 @@ T5380.hs:7:27:
       b :: not_bool (bound at T5380.hs:7:7)
     In the expression: b
     In the expression: proc () -> if b then f -< () else f -< ()
-    In an equation for `testB':
+    In an equation for ‛testB’:
         testB b f = proc () -> if b then f -< () else f -< ()
 
 T5380.hs:7:34:
-    Couldn't match type `not_unit' with `()'
-      `not_unit' is a rigid type variable bound by
+    Couldn't match type ‛not_unit’ with ‛()’
+      ‛not_unit’ is a rigid type variable bound by
                  the type signature for
                    testB :: not_bool -> (() -> ()) -> () -> not_unit
                  at T5380.hs:6:10
@@ -27,5 +27,5 @@ T5380.hs:7:34:
         (bound at T5380.hs:7:1)
     In the expression: f
     In the expression: proc () -> if b then f -< () else f -< ()
-    In an equation for `testB':
+    In an equation for ‛testB’:
         testB b f = proc () -> if b then f -< () else f -< ()
diff --git a/testsuite/tests/arrows/should_fail/arrowfail001.stderr b/testsuite/tests/arrows/should_fail/arrowfail001.stderr
index 261aa278a407..6dc2cb76c4a1 100644
--- a/testsuite/tests/arrows/should_fail/arrowfail001.stderr
+++ b/testsuite/tests/arrows/should_fail/arrowfail001.stderr
@@ -1,7 +1,7 @@
 
 arrowfail001.hs:16:36:
-    No instance for (Foo a) arising from a use of `foo'
+    No instance for (Foo a) arising from a use of ‛foo’
     In the expression: foo
     In the expression: proc x -> case x of { Bar a -> foo -< a }
-    In an equation for `get':
+    In an equation for ‛get’:
         get = proc x -> case x of { Bar a -> foo -< a }
diff --git a/testsuite/tests/arrows/should_fail/arrowfail002.stderr b/testsuite/tests/arrows/should_fail/arrowfail002.stderr
index c653acc339d9..67a93db719a6 100644
--- a/testsuite/tests/arrows/should_fail/arrowfail002.stderr
+++ b/testsuite/tests/arrows/should_fail/arrowfail002.stderr
@@ -1,2 +1,2 @@
 
-arrowfail002.hs:6:17: Not in scope: `x'
+arrowfail002.hs:6:17: Not in scope: ‛x’
diff --git a/testsuite/tests/arrows/should_fail/arrowfail004.stderr b/testsuite/tests/arrows/should_fail/arrowfail004.stderr
index 8a20c6bcbb24..65cef2545b93 100644
--- a/testsuite/tests/arrows/should_fail/arrowfail004.stderr
+++ b/testsuite/tests/arrows/should_fail/arrowfail004.stderr
@@ -3,5 +3,5 @@ arrowfail004.hs:12:15:
     Proc patterns cannot use existential or GADT data constructors
     In the pattern: T x
     In the expression: proc (T x) -> do { returnA -< T x }
-    In an equation for `panic':
+    In an equation for ‛panic’:
         panic = proc (T x) -> do { returnA -< T x }
diff --git a/testsuite/tests/deSugar/should_compile/GadtOverlap.stderr b/testsuite/tests/deSugar/should_compile/GadtOverlap.stderr
index 423d69469fed..359a352edbc6 100644
--- a/testsuite/tests/deSugar/should_compile/GadtOverlap.stderr
+++ b/testsuite/tests/deSugar/should_compile/GadtOverlap.stderr
@@ -1,4 +1,4 @@
 
-GadtOverlap.hs:19:1:
-    Warning: Pattern match(es) are non-exhaustive
-             In an equation for `h': Patterns not matched: T3
+GadtOverlap.hs:19:1: Warning:
+    Pattern match(es) are non-exhaustive
+    In an equation for ‛h’: Patterns not matched: T3
diff --git a/testsuite/tests/deSugar/should_compile/T2395.stderr b/testsuite/tests/deSugar/should_compile/T2395.stderr
index 4bfd9d6bb8ec..241a767f7cf5 100644
--- a/testsuite/tests/deSugar/should_compile/T2395.stderr
+++ b/testsuite/tests/deSugar/should_compile/T2395.stderr
@@ -1,4 +1,4 @@
 
-T2395.hs:12:1:
-    Warning: Pattern match(es) are overlapped
-             In an equation for `bar': bar _ = ...
+T2395.hs:12:1: Warning:
+    Pattern match(es) are overlapped
+    In an equation for ‛bar’: bar _ = ...
diff --git a/testsuite/tests/deSugar/should_compile/T5117.stderr b/testsuite/tests/deSugar/should_compile/T5117.stderr
index e9ddba143ba4..2860940b0c83 100644
--- a/testsuite/tests/deSugar/should_compile/T5117.stderr
+++ b/testsuite/tests/deSugar/should_compile/T5117.stderr
@@ -1,4 +1,4 @@
-
-T5117.hs:15:1:
-    Warning: Pattern match(es) are overlapped
-             In an equation for `f3': f3 (MyString "a") = ...
+
+T5117.hs:15:1: Warning:
+    Pattern match(es) are overlapped
+    In an equation for ‛f3’: f3 (MyString "a") = ...
diff --git a/testsuite/tests/deSugar/should_compile/ds002.stderr-ghc b/testsuite/tests/deSugar/should_compile/ds002.stderr-ghc
index baf7ffde5339..c526e0db48b0 100644
--- a/testsuite/tests/deSugar/should_compile/ds002.stderr-ghc
+++ b/testsuite/tests/deSugar/should_compile/ds002.stderr-ghc
@@ -1,10 +1,10 @@
 
-ds002.hs:7:1:
-    Warning: Pattern match(es) are overlapped
-             In an equation for `f':
-                 f y = ...
-                 f z = ...
+ds002.hs:7:1: Warning:
+    Pattern match(es) are overlapped
+    In an equation for ‛f’:
+        f y = ...
+        f z = ...
 
-ds002.hs:11:1:
-    Warning: Pattern match(es) are overlapped
-             In an equation for `g': g x y z = ...
+ds002.hs:11:1: Warning:
+    Pattern match(es) are overlapped
+    In an equation for ‛g’: g x y z = ...
diff --git a/testsuite/tests/deSugar/should_compile/ds003.stderr-ghc b/testsuite/tests/deSugar/should_compile/ds003.stderr-ghc
index 5b1bd3949f6a..f12789da42da 100644
--- a/testsuite/tests/deSugar/should_compile/ds003.stderr-ghc
+++ b/testsuite/tests/deSugar/should_compile/ds003.stderr-ghc
@@ -1,6 +1,6 @@
 
-ds003.hs:5:1:
-    Warning: Pattern match(es) are overlapped
-             In an equation for `f':
-                 f (x : x1 : x2 : x3) ~(y, ys) z = ...
-                 f x y True = ...
+ds003.hs:5:1: Warning:
+    Pattern match(es) are overlapped
+    In an equation for ‛f’:
+        f (x : x1 : x2 : x3) ~(y, ys) z = ...
+        f x y True = ...
diff --git a/testsuite/tests/deSugar/should_compile/ds019.stderr-ghc b/testsuite/tests/deSugar/should_compile/ds019.stderr-ghc
index 68816686b1c1..fd13ec7203f6 100644
--- a/testsuite/tests/deSugar/should_compile/ds019.stderr-ghc
+++ b/testsuite/tests/deSugar/should_compile/ds019.stderr-ghc
@@ -1,7 +1,7 @@
 
-ds019.hs:5:1:
-    Warning: Pattern match(es) are overlapped
-             In an equation for `f':
-                 f d (j, k) p = ...
-                 f (e, f, g) l q = ...
-                 f h (m, n) r = ...
+ds019.hs:5:1: Warning:
+    Pattern match(es) are overlapped
+    In an equation for ‛f’:
+        f d (j, k) p = ...
+        f (e, f, g) l q = ...
+        f h (m, n) r = ...
diff --git a/testsuite/tests/deSugar/should_compile/ds020.stderr-ghc b/testsuite/tests/deSugar/should_compile/ds020.stderr-ghc
index 3f9205a729ef..42323200253b 100644
--- a/testsuite/tests/deSugar/should_compile/ds020.stderr-ghc
+++ b/testsuite/tests/deSugar/should_compile/ds020.stderr-ghc
@@ -1,18 +1,18 @@
 
-ds020.hs:8:1:
-    Warning: Pattern match(es) are overlapped
-             In an equation for `a': a ~(~[], ~[], ~[]) = ...
+ds020.hs:8:1: Warning:
+    Pattern match(es) are overlapped
+    In an equation for ‛a’: a ~(~[], ~[], ~[]) = ...
 
-ds020.hs:11:1:
-    Warning: Pattern match(es) are overlapped
-             In an equation for `b': b ~(~x : ~xs : ~ys) = ...
+ds020.hs:11:1: Warning:
+    Pattern match(es) are overlapped
+    In an equation for ‛b’: b ~(~x : ~xs : ~ys) = ...
 
-ds020.hs:16:1:
-    Warning: Pattern match(es) are overlapped
-             In an equation for `d':
-                 d ~(n+43) = ...
-                 d ~(n+999) = ...
+ds020.hs:16:1: Warning:
+    Pattern match(es) are overlapped
+    In an equation for ‛d’:
+        d ~(n+43) = ...
+        d ~(n+999) = ...
 
-ds020.hs:22:1:
-    Warning: Pattern match(es) are overlapped
-             In an equation for `f': f x@(~[]) = ...
+ds020.hs:22:1: Warning:
+    Pattern match(es) are overlapped
+    In an equation for ‛f’: f x@(~[]) = ...
diff --git a/testsuite/tests/deSugar/should_compile/ds022.stderr-ghc b/testsuite/tests/deSugar/should_compile/ds022.stderr-ghc
index ce6d4a52c112..7dd50a2610d6 100644
--- a/testsuite/tests/deSugar/should_compile/ds022.stderr-ghc
+++ b/testsuite/tests/deSugar/should_compile/ds022.stderr-ghc
@@ -1,6 +1,6 @@
 
-ds022.hs:20:1:
-    Warning: Pattern match(es) are overlapped
-             In an equation for `i':
-                 i 1 0.011e2 = ...
-                 i 2 2.20000 = ...
+ds022.hs:20:1: Warning:
+    Pattern match(es) are overlapped
+    In an equation for ‛i’:
+        i 1 0.011e2 = ...
+        i 2 2.20000 = ...
diff --git a/testsuite/tests/deSugar/should_compile/ds041.stderr-ghc b/testsuite/tests/deSugar/should_compile/ds041.stderr-ghc
index acf3e1ae6fb1..48129316fe73 100644
--- a/testsuite/tests/deSugar/should_compile/ds041.stderr-ghc
+++ b/testsuite/tests/deSugar/should_compile/ds041.stderr-ghc
@@ -1,8 +1,8 @@
 
-ds041.hs:1:14:
-    Warning: -XDatatypeContexts is deprecated: It was widely considered a misfeature, and has been removed from the Haskell language.
+ds041.hs:1:14: Warning:
+    -XDatatypeContexts is deprecated: It was widely considered a misfeature, and has been removed from the Haskell language.
 
-ds041.hs:16:7:
-    Warning: Fields of `Foo' not initialised: x
+ds041.hs:16:7: Warning:
+    Fields of ‛Foo’ not initialised: x
     In the expression: Foo {}
-    In an equation for `foo': foo = Foo {}
+    In an equation for ‛foo’: foo = Foo {}
diff --git a/testsuite/tests/deSugar/should_compile/ds051.stderr-ghc b/testsuite/tests/deSugar/should_compile/ds051.stderr-ghc
index a098efee3344..c40c44620eca 100644
--- a/testsuite/tests/deSugar/should_compile/ds051.stderr-ghc
+++ b/testsuite/tests/deSugar/should_compile/ds051.stderr-ghc
@@ -1,12 +1,12 @@
 
-ds051.hs:6:1:
-    Warning: Pattern match(es) are overlapped
-             In an equation for `f1': f1 "ab" = ...
+ds051.hs:6:1: Warning:
+    Pattern match(es) are overlapped
+    In an equation for ‛f1’: f1 "ab" = ...
 
-ds051.hs:11:1:
-    Warning: Pattern match(es) are overlapped
-             In an equation for `f2': f2 ('a' : 'b' : []) = ...
+ds051.hs:11:1: Warning:
+    Pattern match(es) are overlapped
+    In an equation for ‛f2’: f2 ('a' : 'b' : []) = ...
 
-ds051.hs:16:1:
-    Warning: Pattern match(es) are overlapped
-             In an equation for `f3': f3 "ab" = ...
+ds051.hs:16:1: Warning:
+    Pattern match(es) are overlapped
+    In an equation for ‛f3’: f3 "ab" = ...
diff --git a/testsuite/tests/deSugar/should_compile/ds053.stderr-ghc b/testsuite/tests/deSugar/should_compile/ds053.stderr-ghc
index 3bce90686922..861e66b84797 100644
--- a/testsuite/tests/deSugar/should_compile/ds053.stderr-ghc
+++ b/testsuite/tests/deSugar/should_compile/ds053.stderr-ghc
@@ -1,2 +1,2 @@
 
-ds053.hs:5:1: Warning: Defined but not used: `f'
+ds053.hs:5:1: Warning: Defined but not used: ‛f’
diff --git a/testsuite/tests/deSugar/should_compile/ds056.stderr b/testsuite/tests/deSugar/should_compile/ds056.stderr
index 6e0972bef46b..f4d2e81b5168 100644
--- a/testsuite/tests/deSugar/should_compile/ds056.stderr
+++ b/testsuite/tests/deSugar/should_compile/ds056.stderr
@@ -1,4 +1,4 @@
 
-ds056.hs:8:1:
-    Warning: Pattern match(es) are overlapped
-             In an equation for `g': g _ = ...
+ds056.hs:8:1: Warning:
+    Pattern match(es) are overlapped
+    In an equation for ‛g’: g _ = ...
diff --git a/testsuite/tests/deriving/should_compile/drv021.stderr b/testsuite/tests/deriving/should_compile/drv021.stderr
index 8143dfee6c90..2071183c5366 100644
--- a/testsuite/tests/deriving/should_compile/drv021.stderr
+++ b/testsuite/tests/deriving/should_compile/drv021.stderr
@@ -1,13 +1,13 @@
 
 drv021.hs:9:1: Warning:
-    Module `Data.OldTypeable' is deprecated: Use Data.Typeable instead
+    Module ‛Data.OldTypeable’ is deprecated: Use Data.Typeable instead
 
 drv021.hs:14:19: Warning:
-    In the use of type constructor or class `Typeable1'
+    In the use of type constructor or class ‛Typeable1’
     (imported from Data.OldTypeable, but defined in Data.OldTypeable.Internal):
     Deprecated: "Use Data.Typeable.Internal instead"
 
 drv021.hs:15:19: Warning:
-    In the use of type constructor or class `Typeable2'
+    In the use of type constructor or class ‛Typeable2’
     (imported from Data.OldTypeable, but defined in Data.OldTypeable.Internal):
     Deprecated: "Use Data.Typeable.Internal instead"
diff --git a/testsuite/tests/deriving/should_fail/T1133A.stderr b/testsuite/tests/deriving/should_fail/T1133A.stderr
index 734081ede580..c1830b143e75 100644
--- a/testsuite/tests/deriving/should_fail/T1133A.stderr
+++ b/testsuite/tests/deriving/should_fail/T1133A.stderr
@@ -1,7 +1,7 @@
 
 T1133A.hs:6:28:
-    Can't make a derived instance of `Enum X':
-      `X' must be an enumeration type
+    Can't make a derived instance of ‛Enum X’:
+      ‛X’ must be an enumeration type
       (an enumeration consists of one or more nullary, non-GADT constructors)
       Try -XGeneralizedNewtypeDeriving for GHC's newtype-deriving extension
-    In the newtype declaration for `X'
+    In the newtype declaration for ‛X’
diff --git a/testsuite/tests/deriving/should_fail/T2394.stderr b/testsuite/tests/deriving/should_fail/T2394.stderr
index 9972186ed5f5..f8ccbda848f0 100644
--- a/testsuite/tests/deriving/should_fail/T2394.stderr
+++ b/testsuite/tests/deriving/should_fail/T2394.stderr
@@ -1,6 +1,6 @@
-
-T2394.hs:9:1:
-    Can't make a derived instance of `Data (a -> b)':
-      The last argument of the instance must be a data or newtype application
-    In the stand-alone deriving instance for
-      `(Data a, Data b) => Data (a -> b)'
+
+T2394.hs:9:1:
+    Can't make a derived instance of ‛Data (a -> b)’:
+      The last argument of the instance must be a data or newtype application
+    In the stand-alone deriving instance for
+      ‛(Data a, Data b) => Data (a -> b)’
diff --git a/testsuite/tests/deriving/should_fail/T2604.stderr b/testsuite/tests/deriving/should_fail/T2604.stderr
index 8fe5ffff5250..fc5320030f65 100644
--- a/testsuite/tests/deriving/should_fail/T2604.stderr
+++ b/testsuite/tests/deriving/should_fail/T2604.stderr
@@ -1,10 +1,10 @@
-
-T2604.hs:7:35:
-    Can't make a derived instance of `Typeable * (DList a)':
-      You need -XDeriveDataTypeable to derive an instance for this class
-    In the data declaration for `DList'
-
-T2604.hs:9:38:
-    Can't make a derived instance of `Typeable * (NList a)':
-      You need -XDeriveDataTypeable to derive an instance for this class
-    In the newtype declaration for `NList'
+
+T2604.hs:7:35:
+    Can't make a derived instance of ‛Typeable * (DList a)’:
+      You need -XDeriveDataTypeable to derive an instance for this class
+    In the data declaration for ‛DList’
+
+T2604.hs:9:38:
+    Can't make a derived instance of ‛Typeable * (NList a)’:
+      You need -XDeriveDataTypeable to derive an instance for this class
+    In the newtype declaration for ‛NList’
diff --git a/testsuite/tests/deriving/should_fail/T2701.stderr b/testsuite/tests/deriving/should_fail/T2701.stderr
index 150add58c670..722c0c12bf34 100644
--- a/testsuite/tests/deriving/should_fail/T2701.stderr
+++ b/testsuite/tests/deriving/should_fail/T2701.stderr
@@ -1,5 +1,5 @@
-
-T2701.hs:10:32:
-    Can't make a derived instance of `Data Foo':
-      Don't know how to derive `Data' for type `Int#'
-    In the data declaration for `Foo'
+
+T2701.hs:10:32:
+    Can't make a derived instance of ‛Data Foo’:
+      Don't know how to derive ‛Data’ for type ‛Int#’
+    In the data declaration for ‛Foo’
diff --git a/testsuite/tests/deriving/should_fail/T2721.stderr b/testsuite/tests/deriving/should_fail/T2721.stderr
index 03339d3bfa24..64e93c3d1233 100644
--- a/testsuite/tests/deriving/should_fail/T2721.stderr
+++ b/testsuite/tests/deriving/should_fail/T2721.stderr
@@ -1,6 +1,6 @@
-
-T2721.hs:15:28:
-    Can't make a derived instance of `C N'
-      (even with cunning newtype deriving):
-      the class has associated types
-    In the newtype declaration for `N'
+
+T2721.hs:15:28:
+    Can't make a derived instance of ‛C N’
+      (even with cunning newtype deriving):
+      the class has associated types
+    In the newtype declaration for ‛N’
diff --git a/testsuite/tests/deriving/should_fail/T3101.stderr b/testsuite/tests/deriving/should_fail/T3101.stderr
index b49175938119..b07e2570afb6 100644
--- a/testsuite/tests/deriving/should_fail/T3101.stderr
+++ b/testsuite/tests/deriving/should_fail/T3101.stderr
@@ -1,6 +1,6 @@
-
-T3101.hs:9:12:
-    Can't make a derived instance of `Show Boom':
-      Constructor `Boom' must have a Haskell-98 type
-      Possible fix: use a standalone deriving declaration instead
-    In the data declaration for `Boom'
+
+T3101.hs:9:12:
+    Can't make a derived instance of ‛Show Boom’:
+      Constructor ‛Boom’ must have a Haskell-98 type
+      Possible fix: use a standalone deriving declaration instead
+    In the data declaration for ‛Boom’
diff --git a/testsuite/tests/deriving/should_fail/T3833.stderr b/testsuite/tests/deriving/should_fail/T3833.stderr
index 2d31cc13647d..3221c355ba75 100644
--- a/testsuite/tests/deriving/should_fail/T3833.stderr
+++ b/testsuite/tests/deriving/should_fail/T3833.stderr
@@ -1,6 +1,6 @@
 
 T3833.hs:9:1:
-    Can't make a derived instance of `Monoid (DecodeMap e)':
-      `Monoid' is not a derivable class
+    Can't make a derived instance of ‛Monoid (DecodeMap e)’:
+      ‛Monoid’ is not a derivable class
       Try -XGeneralizedNewtypeDeriving for GHC's newtype-deriving extension
-    In the stand-alone deriving instance for `Monoid (DecodeMap e)'
+    In the stand-alone deriving instance for ‛Monoid (DecodeMap e)’
diff --git a/testsuite/tests/deriving/should_fail/T3834.stderr b/testsuite/tests/deriving/should_fail/T3834.stderr
index 199b4bb79973..ba51c74d536d 100644
--- a/testsuite/tests/deriving/should_fail/T3834.stderr
+++ b/testsuite/tests/deriving/should_fail/T3834.stderr
@@ -1,6 +1,6 @@
 
 T3834.hs:8:1:
-    Can't make a derived instance of `C T':
-      `C' is not a derivable class
+    Can't make a derived instance of ‛C T’:
+      ‛C’ is not a derivable class
       Try -XGeneralizedNewtypeDeriving for GHC's newtype-deriving extension
-    In the stand-alone deriving instance for `C T'
+    In the stand-alone deriving instance for ‛C T’
diff --git a/testsuite/tests/deriving/should_fail/T4528.stderr b/testsuite/tests/deriving/should_fail/T4528.stderr
index 8f008e8908d1..174623915832 100644
--- a/testsuite/tests/deriving/should_fail/T4528.stderr
+++ b/testsuite/tests/deriving/should_fail/T4528.stderr
@@ -1,14 +1,14 @@
 
 T4528.hs:9:1:
-    Can't make a derived instance of `Enum (Foo a)':
-      `Foo' must be an enumeration type
+    Can't make a derived instance of ‛Enum (Foo a)’:
+      ‛Foo’ must be an enumeration type
       (an enumeration consists of one or more nullary, non-GADT constructors)
-    In the stand-alone deriving instance for `Enum (Foo a)'
+    In the stand-alone deriving instance for ‛Enum (Foo a)’
 
 T4528.hs:10:1:
-    Can't make a derived instance of `Bounded (Foo a)':
-      `Foo' must be an enumeration type
+    Can't make a derived instance of ‛Bounded (Foo a)’:
+      ‛Foo’ must be an enumeration type
       (an enumeration consists of one or more nullary, non-GADT constructors)
         or
-      `Foo' must have precisely one constructor
-    In the stand-alone deriving instance for `Bounded (Foo a)'
+      ‛Foo’ must have precisely one constructor
+    In the stand-alone deriving instance for ‛Bounded (Foo a)’
diff --git a/testsuite/tests/deriving/should_fail/T5287.stderr b/testsuite/tests/deriving/should_fail/T5287.stderr
index 9de62ef2fc41..8bacf0634b4e 100644
--- a/testsuite/tests/deriving/should_fail/T5287.stderr
+++ b/testsuite/tests/deriving/should_fail/T5287.stderr
@@ -1,10 +1,10 @@
-
-T5287.hs:6:10:
-    Could not deduce (A a oops0)
-      arising from the ambiguity check for an instance declaration
-    from the context (A a oops)
-      bound by an instance declaration: A a oops => Read (D a)
-      at T5287.hs:6:10-31
-    The type variable `oops0' is ambiguous
-    In the ambiguity check for: forall a oops. A a oops => Read (D a)
-    In the instance declaration for `Read (D a)'
+
+T5287.hs:6:10:
+    Could not deduce (A a oops0)
+      arising from the ambiguity check for an instance declaration
+    from the context (A a oops)
+      bound by an instance declaration: A a oops => Read (D a)
+      at T5287.hs:6:10-31
+    The type variable ‛oops0’ is ambiguous
+    In the ambiguity check for: forall a oops. A a oops => Read (D a)
+    In the instance declaration for ‛Read (D a)’
diff --git a/testsuite/tests/deriving/should_fail/T5478.stderr b/testsuite/tests/deriving/should_fail/T5478.stderr
index a49b188da773..e3c968f62f21 100644
--- a/testsuite/tests/deriving/should_fail/T5478.stderr
+++ b/testsuite/tests/deriving/should_fail/T5478.stderr
@@ -1,5 +1,5 @@
-
-T5478.hs:6:38:
-    Can't make a derived instance of `Show Foo':
-      Don't know how to derive `Show' for type `ByteArray#'
-    In the data declaration for `Foo'
+
+T5478.hs:6:38:
+    Can't make a derived instance of ‛Show Foo’:
+      Don't know how to derive ‛Show’ for type ‛ByteArray#’
+    In the data declaration for ‛Foo’
diff --git a/testsuite/tests/deriving/should_fail/T5686.stderr b/testsuite/tests/deriving/should_fail/T5686.stderr
index 27f998fe9d01..0bffdf56976b 100644
--- a/testsuite/tests/deriving/should_fail/T5686.stderr
+++ b/testsuite/tests/deriving/should_fail/T5686.stderr
@@ -1,5 +1,5 @@
-
-T5686.hs:4:29:
-    Can't make a derived instance of `Functor U':
-      Constructor `U' must use the type variable only as the last argument of a data type
-    In the data declaration for `U'
+
+T5686.hs:4:29:
+    Can't make a derived instance of ‛Functor U’:
+      Constructor ‛U’ must use the type variable only as the last argument of a data type
+    In the data declaration for ‛U’
diff --git a/testsuite/tests/deriving/should_fail/T5922.stderr b/testsuite/tests/deriving/should_fail/T5922.stderr
index 8b8de18d2867..1b58511d95ce 100644
--- a/testsuite/tests/deriving/should_fail/T5922.stderr
+++ b/testsuite/tests/deriving/should_fail/T5922.stderr
@@ -1,4 +1,4 @@
-
-T5922.hs:3:42:
-    Illegal deriving item `show'
-    In the data declaration for `Proposition'
+
+T5922.hs:3:42:
+    Illegal deriving item ‛show’
+    In the data declaration for ‛Proposition’
diff --git a/testsuite/tests/deriving/should_fail/drvfail-foldable-traversable1.stderr b/testsuite/tests/deriving/should_fail/drvfail-foldable-traversable1.stderr
index fa5633e7861c..e4c07b5220fd 100644
--- a/testsuite/tests/deriving/should_fail/drvfail-foldable-traversable1.stderr
+++ b/testsuite/tests/deriving/should_fail/drvfail-foldable-traversable1.stderr
@@ -16,11 +16,11 @@ drvfail-foldable-traversable1.hs:13:22:
     When deriving the instance for (Traversable Trivial2)
 
 drvfail-foldable-traversable1.hs:17:22:
-    Can't make a derived instance of `Foldable Infinite':
-      Constructor `Infinite' must not contain function types
-    In the data declaration for `Infinite'
+    Can't make a derived instance of ‛Foldable Infinite’:
+      Constructor ‛Infinite’ must not contain function types
+    In the data declaration for ‛Infinite’
 
 drvfail-foldable-traversable1.hs:21:22:
-    Can't make a derived instance of `Traversable (Cont r)':
-      Constructor `Cont' must not contain function types
-    In the data declaration for `Cont'
+    Can't make a derived instance of ‛Traversable (Cont r)’:
+      Constructor ‛Cont’ must not contain function types
+    In the data declaration for ‛Cont’
diff --git a/testsuite/tests/deriving/should_fail/drvfail-functor1.stderr b/testsuite/tests/deriving/should_fail/drvfail-functor1.stderr
index 54632ba05ed2..ec0e79499a65 100644
--- a/testsuite/tests/deriving/should_fail/drvfail-functor1.stderr
+++ b/testsuite/tests/deriving/should_fail/drvfail-functor1.stderr
@@ -1,5 +1,5 @@
-
-drvfail-functor1.hs:6:14:
-    Can't make a derived instance of `Functor List':
-      You need -XDeriveFunctor to derive an instance for this class
-    In the data declaration for `List'
+
+drvfail-functor1.hs:6:14:
+    Can't make a derived instance of ‛Functor List’:
+      You need -XDeriveFunctor to derive an instance for this class
+    In the data declaration for ‛List’
diff --git a/testsuite/tests/deriving/should_fail/drvfail-functor2.stderr b/testsuite/tests/deriving/should_fail/drvfail-functor2.stderr
index 54dc6f7019aa..8691b38719bf 100644
--- a/testsuite/tests/deriving/should_fail/drvfail-functor2.stderr
+++ b/testsuite/tests/deriving/should_fail/drvfail-functor2.stderr
@@ -3,24 +3,24 @@ drvfail-functor2.hs:1:29: Warning:
     -XDatatypeContexts is deprecated: It was widely considered a misfeature, and has been removed from the Haskell language.
 
 drvfail-functor2.hs:7:14:
-    Can't make a derived instance of `Functor InFunctionArgument':
-      Constructor `InFunctionArgument' must not use the type variable in a function argument
-    In the newtype declaration for `InFunctionArgument'
+    Can't make a derived instance of ‛Functor InFunctionArgument’:
+      Constructor ‛InFunctionArgument’ must not use the type variable in a function argument
+    In the newtype declaration for ‛InFunctionArgument’
 
 drvfail-functor2.hs:10:14:
-    Can't make a derived instance of `Functor OnSecondArg':
-      Constructor `OnSecondArg' must use the type variable only as the last argument of a data type
-    In the newtype declaration for `OnSecondArg'
+    Can't make a derived instance of ‛Functor OnSecondArg’:
+      Constructor ‛OnSecondArg’ must use the type variable only as the last argument of a data type
+    In the newtype declaration for ‛OnSecondArg’
 
 drvfail-functor2.hs:15:14:
-    Cannot derive well-kinded instance of form `Functor (NoArguments ...)'
-      Class `Functor' expects an argument of kind `* -> *'
-    In the newtype declaration for `NoArguments'
+    Cannot derive well-kinded instance of form ‛Functor (NoArguments ...)’
+      Class ‛Functor’ expects an argument of kind ‛* -> *’
+    In the newtype declaration for ‛NoArguments’
 
 drvfail-functor2.hs:20:14:
-    Can't make a derived instance of `Functor StupidConstraint':
-      Data type `StupidConstraint' must not have a class context (Eq a)
-    In the data declaration for `StupidConstraint'
+    Can't make a derived instance of ‛Functor StupidConstraint’:
+      Data type ‛StupidConstraint’ must not have a class context (Eq a)
+    In the data declaration for ‛StupidConstraint’
 
 drvfail-functor2.hs:26:14:
     No instance for (Functor NoFunctor)
diff --git a/testsuite/tests/deriving/should_fail/drvfail005.stderr b/testsuite/tests/deriving/should_fail/drvfail005.stderr
index 327eb7c3ce74..c77f904dc289 100644
--- a/testsuite/tests/deriving/should_fail/drvfail005.stderr
+++ b/testsuite/tests/deriving/should_fail/drvfail005.stderr
@@ -1,5 +1,5 @@
-
-drvfail005.hs:4:13:
-    Can't make a derived instance of `Show a (Test a)':
-      `Show a' is not a class
-    In the data declaration for `Test'
+
+drvfail005.hs:4:13:
+    Can't make a derived instance of ‛Show a (Test a)’:
+      ‛Show a’ is not a class
+    In the data declaration for ‛Test’
diff --git a/testsuite/tests/deriving/should_fail/drvfail009.stderr b/testsuite/tests/deriving/should_fail/drvfail009.stderr
index 7594baef3988..d9592c46691e 100644
--- a/testsuite/tests/deriving/should_fail/drvfail009.stderr
+++ b/testsuite/tests/deriving/should_fail/drvfail009.stderr
@@ -1,23 +1,23 @@
-
-drvfail009.hs:10:31:
-    Can't make a derived instance of `C T1'
-      (even with cunning newtype deriving):
-      `C' does not have arity 1
-    In the newtype declaration for `T1'
-
-drvfail009.hs:13:31:
-    Cannot derive well-kinded instance of form `Monad (T2 ...)'
-      Class `Monad' expects an argument of kind `* -> *'
-    In the newtype declaration for `T2'
-
-drvfail009.hs:16:33:
-    Can't make a derived instance of `Monad T3'
-      (even with cunning newtype deriving):
-      cannot eta-reduce the representation type enough
-    In the newtype declaration for `T3'
-
-drvfail009.hs:19:42:
-    Can't make a derived instance of `Monad T4'
-      (even with cunning newtype deriving):
-      cannot eta-reduce the representation type enough
-    In the newtype declaration for `T4'
+
+drvfail009.hs:10:31:
+    Can't make a derived instance of ‛C T1’
+      (even with cunning newtype deriving):
+      ‛C’ does not have arity 1
+    In the newtype declaration for ‛T1’
+
+drvfail009.hs:13:31:
+    Cannot derive well-kinded instance of form ‛Monad (T2 ...)’
+      Class ‛Monad’ expects an argument of kind ‛* -> *’
+    In the newtype declaration for ‛T2’
+
+drvfail009.hs:16:33:
+    Can't make a derived instance of ‛Monad T3’
+      (even with cunning newtype deriving):
+      cannot eta-reduce the representation type enough
+    In the newtype declaration for ‛T3’
+
+drvfail009.hs:19:42:
+    Can't make a derived instance of ‛Monad T4’
+      (even with cunning newtype deriving):
+      cannot eta-reduce the representation type enough
+    In the newtype declaration for ‛T4’
diff --git a/testsuite/tests/deriving/should_fail/drvfail011.stderr b/testsuite/tests/deriving/should_fail/drvfail011.stderr
index 9bb04bfde777..6ec1df7a032e 100644
--- a/testsuite/tests/deriving/should_fail/drvfail011.stderr
+++ b/testsuite/tests/deriving/should_fail/drvfail011.stderr
@@ -1,10 +1,10 @@
 
 drvfail011.hs:8:1:
-    No instance for (Eq a) arising from a use of `=='
+    No instance for (Eq a) arising from a use of ‛==’
     Possible fix: add (Eq a) to the context of the instance declaration
     In the expression: ((a1 == b1))
-    In an equation for `==': == (T1 a1) (T1 b1) = ((a1 == b1))
-    When typechecking the code for  `=='
-      in a standalone derived instance for `Eq (T a)':
+    In an equation for ‛==’: == (T1 a1) (T1 b1) = ((a1 == b1))
+    When typechecking the code for  ‛==’
+      in a standalone derived instance for ‛Eq (T a)’:
       To see the code I am typechecking, use -ddump-deriv
-    In the instance declaration for `Eq (T a)'
+    In the instance declaration for ‛Eq (T a)’
diff --git a/testsuite/tests/deriving/should_fail/drvfail014.stderr b/testsuite/tests/deriving/should_fail/drvfail014.stderr
index 47b4aabf4b6b..93a4c781225f 100644
--- a/testsuite/tests/deriving/should_fail/drvfail014.stderr
+++ b/testsuite/tests/deriving/should_fail/drvfail014.stderr
@@ -1,9 +1,9 @@
-
-drvfail014.hs:8:28:
-    Use deriving( Typeable ) on a data type declaration
-    In the data declaration for `T1'
-
-drvfail014.hs:12:1:
-    Derived typeable instance must be of form (Typeable2 T2)
-    In the stand-alone deriving instance for
-      `(Typeable a, Typeable b) => Typeable (T2 a b)'
+
+drvfail014.hs:8:28:
+    Use deriving( Typeable ) on a data type declaration
+    In the data declaration for ‛T1’
+
+drvfail014.hs:12:1:
+    Derived typeable instance must be of form (Typeable2 T2)
+    In the stand-alone deriving instance for
+      ‛(Typeable a, Typeable b) => Typeable (T2 a b)’
diff --git a/testsuite/tests/deriving/should_fail/drvfail015.stderr b/testsuite/tests/deriving/should_fail/drvfail015.stderr
index a7d8ac6cf170..7a755c697f6d 100644
--- a/testsuite/tests/deriving/should_fail/drvfail015.stderr
+++ b/testsuite/tests/deriving/should_fail/drvfail015.stderr
@@ -1,13 +1,13 @@
-
-drvfail015.hs:10:19:
-    Illegal instance declaration for `Eq T'
-      (All instance types must be of the form (T t1 ... tn)
-       where T is not a synonym.
-       Use -XTypeSynonymInstances if you want to disable this.)
-    In the stand-alone deriving instance for `Eq T'
-
-drvfail015.hs:13:1:
-    Can't make a derived instance of `Eq Handle':
-      The data constructors of `Handle' are not all in scope
-        so you cannot derive an instance for it
-    In the stand-alone deriving instance for `Eq Handle'
+
+drvfail015.hs:10:19:
+    Illegal instance declaration for ‛Eq T’
+      (All instance types must be of the form (T t1 ... tn)
+       where T is not a synonym.
+       Use -XTypeSynonymInstances if you want to disable this.)
+    In the stand-alone deriving instance for ‛Eq T’
+
+drvfail015.hs:13:1:
+    Can't make a derived instance of ‛Eq Handle’:
+      The data constructors of ‛Handle’ are not all in scope
+        so you cannot derive an instance for it
+    In the stand-alone deriving instance for ‛Eq Handle’
diff --git a/testsuite/tests/driver/T1372/T1372.stderr b/testsuite/tests/driver/T1372/T1372.stderr
index f06f294daeb6..e332c563a3ab 100644
--- a/testsuite/tests/driver/T1372/T1372.stderr
+++ b/testsuite/tests/driver/T1372/T1372.stderr
@@ -1,2 +1,2 @@
 
-Main.hs:5:5: Not in scope: data constructor `T'
+Main.hs:5:5: Not in scope: data constructor ‛T’
diff --git a/testsuite/tests/driver/T5147/T5147.stderr b/testsuite/tests/driver/T5147/T5147.stderr
index 6e8427b940ec..43f0f935d312 100644
--- a/testsuite/tests/driver/T5147/T5147.stderr
+++ b/testsuite/tests/driver/T5147/T5147.stderr
@@ -1,5 +1,5 @@
 
 A.hs:6:15:
-    No instance for (Show (Fields v)) arising from a use of `show'
+    No instance for (Show (Fields v)) arising from a use of ‛show’
     In the expression: show a
-    In an equation for `showField': showField a = show a
+    In an equation for ‛showField’: showField a = show a
diff --git a/testsuite/tests/driver/T6037.stderr b/testsuite/tests/driver/T6037.stderr
index 3059288d10f6..7b7d07ecbf96 100644
--- a/testsuite/tests/driver/T6037.stderr
+++ b/testsuite/tests/driver/T6037.stderr
@@ -1,5 +1,5 @@
 
 T6037.hs:5:7:
-    Couldn't match expected type `Int' with actual type `()'
+    Couldn't match expected type ‛Int’ with actual type ‛()’
     In the expression: ()
-    In an equation for `f?o': f?o = ()
+    In an equation for ‛f?o’: f?o = ()
diff --git a/testsuite/tests/driver/bug1677/bug1677.stderr b/testsuite/tests/driver/bug1677/bug1677.stderr
index bc55b86c2fb0..9ee41b5cacfd 100644
--- a/testsuite/tests/driver/bug1677/bug1677.stderr
+++ b/testsuite/tests/driver/bug1677/bug1677.stderr
@@ -1,5 +1,5 @@
 
 Foo.hs:1:1:
     File name does not match module name:
-    Saw: `Main'
-    Expected: `Foo'
+    Saw: ‛Main’
+    Expected: ‛Foo’
diff --git a/testsuite/tests/driver/driver063.stderr b/testsuite/tests/driver/driver063.stderr
index 0a6801537ed8..a50340dc42e0 100644
--- a/testsuite/tests/driver/driver063.stderr
+++ b/testsuite/tests/driver/driver063.stderr
@@ -1,4 +1,4 @@
 
 D063.hs:2:8:
-    Could not find module `A063'
+    Could not find module ‛A063’
     It is not a module in the current program, or in any known package.
diff --git a/testsuite/tests/driver/recomp001/recomp001.stderr b/testsuite/tests/driver/recomp001/recomp001.stderr
index 4b95415c8995..bd75be7bde07 100644
--- a/testsuite/tests/driver/recomp001/recomp001.stderr
+++ b/testsuite/tests/driver/recomp001/recomp001.stderr
@@ -1,2 +1,2 @@
 
-C.hs:3:11: Module `B' does not export `foo'
+C.hs:3:11: Module ‛B’ does not export ‛foo’
diff --git a/testsuite/tests/driver/recomp005/recomp005.stderr b/testsuite/tests/driver/recomp005/recomp005.stderr
index 8e4ad938325f..130e56249cb7 100644
--- a/testsuite/tests/driver/recomp005/recomp005.stderr
+++ b/testsuite/tests/driver/recomp005/recomp005.stderr
@@ -1,4 +1,4 @@
 
 C.hs:7:11: Warning:
-    Rule "f/g" may never fire because `f' might inline first
-    Probable fix: add an INLINE[n] or NOINLINE[n] pragma on `f'
+    Rule "f/g" may never fire because ‛f’ might inline first
+    Probable fix: add an INLINE[n] or NOINLINE[n] pragma on ‛f’
diff --git a/testsuite/tests/driver/werror.stderr b/testsuite/tests/driver/werror.stderr
index 4bad5e6b44cb..45c00e93ef58 100644
--- a/testsuite/tests/driver/werror.stderr
+++ b/testsuite/tests/driver/werror.stderr
@@ -3,14 +3,14 @@ werror.hs:6:1: Warning:
     Top-level binding with no type signature: main :: IO ()
 
 werror.hs:7:13: Warning:
-    This binding for `main' shadows the existing binding
+    This binding for ‛main’ shadows the existing binding
       defined at werror.hs:6:1
 
-werror.hs:7:13: Warning: Defined but not used: `main'
+werror.hs:7:13: Warning: Defined but not used: ‛main’
 
 werror.hs:8:1: Warning: Tab character
 
-werror.hs:10:1: Warning: Defined but not used: `f'
+werror.hs:10:1: Warning: Defined but not used: ‛f’
 
 werror.hs:10:1: Warning:
     Top-level binding with no type signature:
@@ -18,11 +18,11 @@ werror.hs:10:1: Warning:
 
 werror.hs:10:1: Warning:
     Pattern match(es) are overlapped
-    In an equation for `f': f [] = ...
+    In an equation for ‛f’: f [] = ...
 
 werror.hs:10:1: Warning:
     Pattern match(es) are non-exhaustive
-    In an equation for `f': Patterns not matched: _ : _
+    In an equation for ‛f’: Patterns not matched: _ : _
 
 <no location info>: 
 Failing due to -Werror.
diff --git a/testsuite/tests/gadt/T3163.stderr b/testsuite/tests/gadt/T3163.stderr
index b93b52344117..ce64010857a8 100644
--- a/testsuite/tests/gadt/T3163.stderr
+++ b/testsuite/tests/gadt/T3163.stderr
@@ -1,5 +1,5 @@
-
-T3163.hs:8:5:
-    Illegal polymorphic or qualified type: forall s. s
-    In the definition of data constructor `Unreached'
-    In the data declaration for `Taker'
+
+T3163.hs:8:5:
+    Illegal polymorphic or qualified type: forall s. s
+    In the definition of data constructor ‛Unreached’
+    In the data declaration for ‛Taker’
diff --git a/testsuite/tests/gadt/T3169.stderr b/testsuite/tests/gadt/T3169.stderr
index 62f49d467b33..292342031a20 100644
--- a/testsuite/tests/gadt/T3169.stderr
+++ b/testsuite/tests/gadt/T3169.stderr
@@ -3,7 +3,7 @@ T3169.hs:13:22:
     Could not deduce (elt ~ Map b elt)
     from the context (Key a, Key b)
       bound by the instance declaration at T3169.hs:10:10-36
-      `elt' is a rigid type variable bound by
+      ‛elt’ is a rigid type variable bound by
             the type signature for
               lookup :: (a, b) -> Map (a, b) elt -> Maybe elt
             at T3169.hs:12:3
@@ -14,7 +14,7 @@ T3169.hs:13:22:
         (bound at T3169.hs:12:3)
       b :: b (bound at T3169.hs:12:13)
       m :: Map (a, b) elt (bound at T3169.hs:12:17)
-    In the second argument of `lookup', namely `m'
+    In the second argument of ‛lookup’, namely ‛m’
     In the expression: lookup a m :: Maybe (Map b elt)
     In the expression:
       case lookup a m :: Maybe (Map b elt) of {
diff --git a/testsuite/tests/gadt/T3651.stderr b/testsuite/tests/gadt/T3651.stderr
index 778fe0febf26..8f53dc05eff2 100644
--- a/testsuite/tests/gadt/T3651.stderr
+++ b/testsuite/tests/gadt/T3651.stderr
@@ -1,35 +1,35 @@
 
 T3651.hs:11:11:
-    Couldn't match type `Bool' with `()'
+    Couldn't match type ‛Bool’ with ‛()’
     Inaccessible code in
-      a pattern with constructor U :: Z (), in an equation for `unsafe1'
+      a pattern with constructor U :: Z (), in an equation for ‛unsafe1’
     In the pattern: U
-    In an equation for `unsafe1': unsafe1 B U = ()
+    In an equation for ‛unsafe1’: unsafe1 B U = ()
 
 T3651.hs:11:15:
-    Couldn't match type `Bool' with `()'
+    Couldn't match type ‛Bool’ with ‛()’
     Expected type: a
       Actual type: ()
     In the expression: ()
-    In an equation for `unsafe1': unsafe1 B U = ()
+    In an equation for ‛unsafe1’: unsafe1 B U = ()
 
 T3651.hs:14:11:
-    Couldn't match type `Bool' with `()'
+    Couldn't match type ‛Bool’ with ‛()’
     Inaccessible code in
-      a pattern with constructor U :: Z (), in an equation for `unsafe2'
+      a pattern with constructor U :: Z (), in an equation for ‛unsafe2’
     In the pattern: U
-    In an equation for `unsafe2': unsafe2 B U = ()
+    In an equation for ‛unsafe2’: unsafe2 B U = ()
 
 T3651.hs:14:15:
-    Couldn't match type `Bool' with `()'
+    Couldn't match type ‛Bool’ with ‛()’
     Expected type: a
       Actual type: ()
     In the expression: ()
-    In an equation for `unsafe2': unsafe2 B U = ()
+    In an equation for ‛unsafe2’: unsafe2 B U = ()
 
 T3651.hs:17:11:
-    Couldn't match type `Bool' with `()'
+    Couldn't match type ‛Bool’ with ‛()’
     Inaccessible code in
-      a pattern with constructor U :: Z (), in an equation for `unsafe3'
+      a pattern with constructor U :: Z (), in an equation for ‛unsafe3’
     In the pattern: U
-    In an equation for `unsafe3': unsafe3 B U = True
+    In an equation for ‛unsafe3’: unsafe3 B U = True
diff --git a/testsuite/tests/gadt/T7293.stderr b/testsuite/tests/gadt/T7293.stderr
index 61cdc25f3727..98a4fe402a77 100644
--- a/testsuite/tests/gadt/T7293.stderr
+++ b/testsuite/tests/gadt/T7293.stderr
@@ -1,9 +1,9 @@
 
 T7293.hs:24:5:
-    Couldn't match type 'False with 'True
+    Couldn't match type ‛'False’ with ‛'True’
     Inaccessible code in
       a pattern with constructor
         Nil :: forall a. Vec a 'Zero,
-      in an equation for `nth'
+      in an equation for ‛nth’
     In the pattern: Nil
-    In an equation for `nth': nth Nil _ = undefined
+    In an equation for ‛nth’: nth Nil _ = undefined
diff --git a/testsuite/tests/gadt/T7294.stderr b/testsuite/tests/gadt/T7294.stderr
index dc1eef1ca9b2..bfb64966fcda 100644
--- a/testsuite/tests/gadt/T7294.stderr
+++ b/testsuite/tests/gadt/T7294.stderr
@@ -1,9 +1,9 @@
 
 T7294.hs:25:5: Warning:
-    Couldn't match type 'False with 'True
+    Couldn't match type ‛'False’ with ‛'True’
     Inaccessible code in
       a pattern with constructor
         Nil :: forall a. Vec a 'Zero,
-      in an equation for `nth'
+      in an equation for ‛nth’
     In the pattern: Nil
-    In an equation for `nth': nth Nil _ = undefined
+    In an equation for ‛nth’: nth Nil _ = undefined
diff --git a/testsuite/tests/gadt/gadt-escape1.stderr b/testsuite/tests/gadt/gadt-escape1.stderr
index 53885ffaf219..fbc1b6703aa3 100644
--- a/testsuite/tests/gadt/gadt-escape1.stderr
+++ b/testsuite/tests/gadt/gadt-escape1.stderr
@@ -1,19 +1,19 @@
-
-gadt-escape1.hs:19:58:
-    Couldn't match type `t' with `ExpGADT Int'
-      `t' is untouchable
-        inside the constraints (t1 ~ Int)
-        bound by a pattern with constructor
-                   ExpInt :: Int -> ExpGADT Int,
-                 in a case alternative
-        at gadt-escape1.hs:19:43-50
-      `t' is a rigid type variable bound by
-          the inferred type of weird1 :: t at gadt-escape1.hs:19:1
-    Expected type: t
-      Actual type: ExpGADT t1
-    Relevant bindings include
-      weird1 :: t (bound at gadt-escape1.hs:19:1)
-    In the expression: a
-    In a case alternative: Hidden (ExpInt _) a -> a
-    In the expression:
-      case (hval :: Hidden) of { Hidden (ExpInt _) a -> a }
+
+gadt-escape1.hs:19:58:
+    Couldn't match type ‛t’ with ‛ExpGADT Int’
+      ‛t’ is untouchable
+        inside the constraints (t1 ~ Int)
+        bound by a pattern with constructor
+                   ExpInt :: Int -> ExpGADT Int,
+                 in a case alternative
+        at gadt-escape1.hs:19:43-50
+      ‛t’ is a rigid type variable bound by
+          the inferred type of weird1 :: t at gadt-escape1.hs:19:1
+    Expected type: t
+      Actual type: ExpGADT t1
+    Relevant bindings include
+      weird1 :: t (bound at gadt-escape1.hs:19:1)
+    In the expression: a
+    In a case alternative: Hidden (ExpInt _) a -> a
+    In the expression:
+      case (hval :: Hidden) of { Hidden (ExpInt _) a -> a }
diff --git a/testsuite/tests/gadt/gadt10.stderr b/testsuite/tests/gadt/gadt10.stderr
index e244eca0566e..fa485aade5d6 100644
--- a/testsuite/tests/gadt/gadt10.stderr
+++ b/testsuite/tests/gadt/gadt10.stderr
@@ -1,7 +1,7 @@
-
-gadt10.hs:6:24:
-    Expecting one more argument to `RInt'
-    Expected kind `*', but `RInt' has kind `k0 -> *'
-    In the type `RInt'
-    In the definition of data constructor `R'
-    In the data declaration for `RInt'
+
+gadt10.hs:6:24:
+    Expecting one more argument to ‛RInt’
+    Expected kind ‛*’, but ‛RInt’ has kind ‛k0 -> *’
+    In the type ‛RInt’
+    In the definition of data constructor ‛R’
+    In the data declaration for ‛RInt’
diff --git a/testsuite/tests/gadt/gadt11.stderr b/testsuite/tests/gadt/gadt11.stderr
index bfe38d43b380..96f636c0a606 100644
--- a/testsuite/tests/gadt/gadt11.stderr
+++ b/testsuite/tests/gadt/gadt11.stderr
@@ -1,6 +1,6 @@
-
-gadt11.hs:9:3:
-    Data constructor `B1' returns type `X []'
-      instead of an instance of its parent type `B a'
-    In the definition of data constructor `B1'
-    In the data declaration for `B'
+
+gadt11.hs:9:3:
+    Data constructor ‛B1’ returns type ‛X []’
+      instead of an instance of its parent type ‛B a’
+    In the definition of data constructor ‛B1’
+    In the data declaration for ‛B’
diff --git a/testsuite/tests/gadt/gadt13.stderr b/testsuite/tests/gadt/gadt13.stderr
index b03ff492facd..3b39f07b8f9e 100644
--- a/testsuite/tests/gadt/gadt13.stderr
+++ b/testsuite/tests/gadt/gadt13.stderr
@@ -1,16 +1,16 @@
-
-gadt13.hs:15:13:
-    Couldn't match expected type `t'
-                with actual type `String -> [Char]'
-      `t' is untouchable
-        inside the constraints (t1 ~ Int)
-        bound by a pattern with constructor
-                   I :: Int -> Term Int,
-                 in an equation for `shw'
-        at gadt13.hs:15:6-8
-      `t' is a rigid type variable bound by
-          the inferred type of shw :: Term t1 -> t at gadt13.hs:15:1
-    Relevant bindings include
-      shw :: Term t1 -> t (bound at gadt13.hs:15:1)
-    In the expression: ("I " ++) . shows t
-    In an equation for `shw': shw (I t) = ("I " ++) . shows t
+
+gadt13.hs:15:13:
+    Couldn't match expected type ‛t’
+                with actual type ‛String -> [Char]’
+      ‛t’ is untouchable
+        inside the constraints (t1 ~ Int)
+        bound by a pattern with constructor
+                   I :: Int -> Term Int,
+                 in an equation for ‛shw’
+        at gadt13.hs:15:6-8
+      ‛t’ is a rigid type variable bound by
+          the inferred type of shw :: Term t1 -> t at gadt13.hs:15:1
+    Relevant bindings include
+      shw :: Term t1 -> t (bound at gadt13.hs:15:1)
+    In the expression: ("I " ++) . shows t
+    In an equation for ‛shw’: shw (I t) = ("I " ++) . shows t
diff --git a/testsuite/tests/gadt/gadt21.stderr b/testsuite/tests/gadt/gadt21.stderr
index 061c5634650f..0293eaafb81e 100644
--- a/testsuite/tests/gadt/gadt21.stderr
+++ b/testsuite/tests/gadt/gadt21.stderr
@@ -1,20 +1,19 @@
 
 gadt21.hs:21:60:
-    Could not deduce (Ord a1) arising from a use of `f'
+    Could not deduce (Ord a1) arising from a use of ‛f’
     from the context (a ~ Set a1)
       bound by a pattern with constructor
                  TypeSet :: forall a. Type a -> Type (Set a),
-               in an equation for `withOrdDynExpr'
+               in an equation for ‛withOrdDynExpr’
       at gadt21.hs:21:35-43
     Possible fix:
       add (Ord a1) to the context of
-        the data constructor `TypeSet'
-        or the data constructor `DynExpr'
+        the data constructor ‛TypeSet’
+        or the data constructor ‛DynExpr’
         or the type signature for
              withOrdDynExpr :: DynExpr
-                               -> (forall a. Ord a => Expr a -> b)
-                               -> Maybe b
-    In the first argument of `Just', namely `(f e)'
+                               -> (forall a. Ord a => Expr a -> b) -> Maybe b
+    In the first argument of ‛Just’, namely ‛(f e)’
     In the expression: Just (f e)
-    In an equation for `withOrdDynExpr':
+    In an equation for ‛withOrdDynExpr’:
         withOrdDynExpr (DynExpr e@(Const (TypeSet _) _)) f = Just (f e)
diff --git a/testsuite/tests/gadt/gadt7.stderr b/testsuite/tests/gadt/gadt7.stderr
index 561b0b52b7b6..186bfd33fb5d 100644
--- a/testsuite/tests/gadt/gadt7.stderr
+++ b/testsuite/tests/gadt/gadt7.stderr
@@ -1,20 +1,20 @@
-
-gadt7.hs:16:38:
-    Couldn't match expected type `t' with actual type `t1'
-      `t1' is untouchable
-        inside the constraints (t2 ~ Int)
-        bound by a pattern with constructor
-                   K :: T Int,
-                 in a case alternative
-        at gadt7.hs:16:33
-      `t1' is a rigid type variable bound by
-           the inferred type of i1b :: T t2 -> t1 -> t at gadt7.hs:16:1
-      `t' is a rigid type variable bound by
-          the inferred type of i1b :: T t2 -> t1 -> t at gadt7.hs:16:1
-    Relevant bindings include
-      i1b :: T t2 -> t1 -> t (bound at gadt7.hs:16:1)
-      y :: t1 (bound at gadt7.hs:16:7)
-      y1 :: t1 (bound at gadt7.hs:16:16)
-    In the expression: y1
-    In a case alternative: K -> y1
-    In the expression: case t1 of { K -> y1 }
+
+gadt7.hs:16:38:
+    Couldn't match expected type ‛t’ with actual type ‛t1’
+      ‛t1’ is untouchable
+        inside the constraints (t2 ~ Int)
+        bound by a pattern with constructor
+                   K :: T Int,
+                 in a case alternative
+        at gadt7.hs:16:33
+      ‛t1’ is a rigid type variable bound by
+           the inferred type of i1b :: T t2 -> t1 -> t at gadt7.hs:16:1
+      ‛t’ is a rigid type variable bound by
+          the inferred type of i1b :: T t2 -> t1 -> t at gadt7.hs:16:1
+    Relevant bindings include
+      i1b :: T t2 -> t1 -> t (bound at gadt7.hs:16:1)
+      y :: t1 (bound at gadt7.hs:16:7)
+      y1 :: t1 (bound at gadt7.hs:16:16)
+    In the expression: y1
+    In a case alternative: K -> y1
+    In the expression: case t1 of { K -> y1 }
diff --git a/testsuite/tests/gadt/gadtSyntaxFail001.stderr b/testsuite/tests/gadt/gadtSyntaxFail001.stderr
index aa837b7a8919..53b198a14da4 100644
--- a/testsuite/tests/gadt/gadtSyntaxFail001.stderr
+++ b/testsuite/tests/gadt/gadtSyntaxFail001.stderr
@@ -1,6 +1,6 @@
-
-gadtSyntaxFail001.hs:8:5:
-    Data constructor `C2' has existential type variables, a context, or a specialised result type
-      (Use -XExistentialQuantification or -XGADTs to allow this)
-    In the definition of data constructor `C2'
-    In the data declaration for `Foo'
+
+gadtSyntaxFail001.hs:8:5:
+    Data constructor ‛C2’ has existential type variables, a context, or a specialised result type
+      (Use -XExistentialQuantification or -XGADTs to allow this)
+    In the definition of data constructor ‛C2’
+    In the data declaration for ‛Foo’
diff --git a/testsuite/tests/gadt/gadtSyntaxFail002.stderr b/testsuite/tests/gadt/gadtSyntaxFail002.stderr
index a2b101a977d5..ca1060d8ee8b 100644
--- a/testsuite/tests/gadt/gadtSyntaxFail002.stderr
+++ b/testsuite/tests/gadt/gadtSyntaxFail002.stderr
@@ -1,6 +1,6 @@
-
-gadtSyntaxFail002.hs:8:5:
-    Data constructor `C2' has existential type variables, a context, or a specialised result type
-      (Use -XExistentialQuantification or -XGADTs to allow this)
-    In the definition of data constructor `C2'
-    In the data declaration for `Foo'
+
+gadtSyntaxFail002.hs:8:5:
+    Data constructor ‛C2’ has existential type variables, a context, or a specialised result type
+      (Use -XExistentialQuantification or -XGADTs to allow this)
+    In the definition of data constructor ‛C2’
+    In the data declaration for ‛Foo’
diff --git a/testsuite/tests/gadt/gadtSyntaxFail003.stderr b/testsuite/tests/gadt/gadtSyntaxFail003.stderr
index 3cd4611cd38a..eb2e370a6677 100644
--- a/testsuite/tests/gadt/gadtSyntaxFail003.stderr
+++ b/testsuite/tests/gadt/gadtSyntaxFail003.stderr
@@ -1,6 +1,6 @@
-
-gadtSyntaxFail003.hs:7:5:
-    Data constructor `C1' has existential type variables, a context, or a specialised result type
-      (Use -XExistentialQuantification or -XGADTs to allow this)
-    In the definition of data constructor `C1'
-    In the data declaration for `Foo'
+
+gadtSyntaxFail003.hs:7:5:
+    Data constructor ‛C1’ has existential type variables, a context, or a specialised result type
+      (Use -XExistentialQuantification or -XGADTs to allow this)
+    In the definition of data constructor ‛C1’
+    In the data declaration for ‛Foo’
diff --git a/testsuite/tests/gadt/lazypat.stderr b/testsuite/tests/gadt/lazypat.stderr
index d64f40e487b3..460c600b3580 100644
--- a/testsuite/tests/gadt/lazypat.stderr
+++ b/testsuite/tests/gadt/lazypat.stderr
@@ -4,4 +4,4 @@ lazypat.hs:7:5:
       inside a lazy (~) pattern
     In the pattern: T x f
     In the pattern: ~(T x f)
-    In an equation for `f': f ~(T x f) = f x
+    In an equation for ‛f’: f ~(T x f) = f x
diff --git a/testsuite/tests/gadt/records-fail1.stderr b/testsuite/tests/gadt/records-fail1.stderr
index 829114e51f18..690649d46bc1 100644
--- a/testsuite/tests/gadt/records-fail1.stderr
+++ b/testsuite/tests/gadt/records-fail1.stderr
@@ -1,5 +1,5 @@
-
-records-fail1.hs:7:1:
-    Constructors T1 and T4 have a common field `x',
-      but have different result types
-    In the data declaration for `T'
+
+records-fail1.hs:7:1:
+    Constructors T1 and T4 have a common field ‛x’,
+      but have different result types
+    In the data declaration for ‛T’
diff --git a/testsuite/tests/gadt/rw.stderr b/testsuite/tests/gadt/rw.stderr
index ef5453ca6fbd..584c94475b59 100644
--- a/testsuite/tests/gadt/rw.stderr
+++ b/testsuite/tests/gadt/rw.stderr
@@ -1,20 +1,20 @@
 
 rw.hs:14:47:
-    Couldn't match expected type `a' with actual type `Int'
-      `a' is a rigid type variable bound by
+    Couldn't match expected type ‛a’ with actual type ‛Int’
+      ‛a’ is a rigid type variable bound by
           the type signature for writeInt :: T a -> IORef a -> IO ()
           at rw.hs:12:12
     Relevant bindings include
       writeInt :: T a -> IORef a -> IO () (bound at rw.hs:13:1)
       v :: T a (bound at rw.hs:13:10)
       ref :: IORef a (bound at rw.hs:13:12)
-    In the second argument of `writeIORef', namely `(1 :: Int)'
+    In the second argument of ‛writeIORef’, namely ‛(1 :: Int)’
     In the expression: writeIORef ref (1 :: Int)
     In a case alternative: ~(Li x) -> writeIORef ref (1 :: Int)
 
 rw.hs:19:51:
-    Couldn't match type `a' with `Bool'
-      `a' is a rigid type variable bound by
+    Couldn't match type ‛a’ with ‛Bool’
+      ‛a’ is a rigid type variable bound by
           the type signature for readBool :: T a -> IORef a -> IO ()
           at rw.hs:16:12
     Expected type: a -> Bool
@@ -23,6 +23,6 @@ rw.hs:19:51:
       readBool :: T a -> IORef a -> IO () (bound at rw.hs:17:1)
       v :: T a (bound at rw.hs:17:10)
       ref :: IORef a (bound at rw.hs:17:12)
-    In the second argument of `(.)', namely `not'
-    In the second argument of `(>>=)', namely `(print . not)'
+    In the second argument of ‛(.)’, namely ‛not’
+    In the second argument of ‛(>>=)’, namely ‛(print . not)’
     In the expression: readIORef ref >>= (print . not)
diff --git a/testsuite/tests/generics/GenCannotDoRep0.stderr b/testsuite/tests/generics/GenCannotDoRep0.stderr
index 291ab14b5ff6..d216a703b39c 100644
--- a/testsuite/tests/generics/GenCannotDoRep0.stderr
+++ b/testsuite/tests/generics/GenCannotDoRep0.stderr
@@ -3,21 +3,21 @@ GenCannotDoRep0.hs:6:14: Warning:
     -XDatatypeContexts is deprecated: It was widely considered a misfeature, and has been removed from the Haskell language.
 
 GenCannotDoRep0.hs:13:45:
-    Can't make a derived instance of `Generic Dynamic':
+    Can't make a derived instance of ‛Generic Dynamic’:
       Dynamic must be a vanilla data constructor
-    In the data declaration for `Dynamic'
+    In the data declaration for ‛Dynamic’
 
 GenCannotDoRep0.hs:17:1:
-    Can't make a derived instance of `Generic (P Int)':
+    Can't make a derived instance of ‛Generic (P Int)’:
       P must not be instantiated; try deriving `P a' instead
-    In the stand-alone deriving instance for `Generic (P Int)'
+    In the stand-alone deriving instance for ‛Generic (P Int)’
 
 GenCannotDoRep0.hs:26:1:
-    Can't make a derived instance of `Generic (D Char Char)':
+    Can't make a derived instance of ‛Generic (D Char Char)’:
       D must not be instantiated; try deriving `D Char b' instead
-    In the stand-alone deriving instance for `Generic (D Char Char)'
+    In the stand-alone deriving instance for ‛Generic (D Char Char)’
 
 GenCannotDoRep0.hs:28:1:
-    Can't make a derived instance of `Generic (D Int a)':
+    Can't make a derived instance of ‛Generic (D Int a)’:
       D must not have a datatype context
-    In the stand-alone deriving instance for `Generic (D Int a)'
+    In the stand-alone deriving instance for ‛Generic (D Int a)’
diff --git a/testsuite/tests/generics/GenCannotDoRep1.stderr b/testsuite/tests/generics/GenCannotDoRep1.stderr
index dde1d5b0d8b6..7e0f124b1e5c 100644
--- a/testsuite/tests/generics/GenCannotDoRep1.stderr
+++ b/testsuite/tests/generics/GenCannotDoRep1.stderr
@@ -1,8 +1,8 @@
-
-GenCannotDoRep1.hs:1:29: Warning:
-    -XDatatypeContexts is deprecated: It was widely considered a misfeature, and has been removed from the Haskell language.
-
-GenCannotDoRep1.hs:8:49:
-    Can't make a derived instance of `Generic (Context a)':
-      Context must not have a datatype context
-    In the data declaration for `Context'
+
+GenCannotDoRep1.hs:1:29: Warning:
+    -XDatatypeContexts is deprecated: It was widely considered a misfeature, and has been removed from the Haskell language.
+
+GenCannotDoRep1.hs:8:49:
+    Can't make a derived instance of ‛Generic (Context a)’:
+      Context must not have a datatype context
+    In the data declaration for ‛Context’
diff --git a/testsuite/tests/generics/GenCannotDoRep1_0.stderr b/testsuite/tests/generics/GenCannotDoRep1_0.stderr
index 2e602af0e65b..c75205a380f2 100644
--- a/testsuite/tests/generics/GenCannotDoRep1_0.stderr
+++ b/testsuite/tests/generics/GenCannotDoRep1_0.stderr
@@ -1,5 +1,5 @@
 
 GenCannotDoRep1_0.hs:9:49:
-    Can't make a derived instance of `Generic1 Dynamic':
+    Can't make a derived instance of ‛Generic1 Dynamic’:
       Dynamic must be a vanilla data constructor
-    In the data declaration for `Dynamic'
+    In the data declaration for ‛Dynamic’
diff --git a/testsuite/tests/generics/GenCannotDoRep1_1.stderr b/testsuite/tests/generics/GenCannotDoRep1_1.stderr
index df9f518c67fe..97eeca51a9fe 100644
--- a/testsuite/tests/generics/GenCannotDoRep1_1.stderr
+++ b/testsuite/tests/generics/GenCannotDoRep1_1.stderr
@@ -3,6 +3,6 @@ GenCannotDoRep1_1.hs:1:29: Warning:
     -XDatatypeContexts is deprecated: It was widely considered a misfeature, and has been removed from the Haskell language.
 
 GenCannotDoRep1_1.hs:8:49:
-    Can't make a derived instance of `Generic1 Context':
+    Can't make a derived instance of ‛Generic1 Context’:
       Context must not have a datatype context
-    In the data declaration for `Context'
+    In the data declaration for ‛Context’
diff --git a/testsuite/tests/generics/GenCannotDoRep1_2.stderr b/testsuite/tests/generics/GenCannotDoRep1_2.stderr
index ffda5ffd2c90..32aebb7fc92f 100644
--- a/testsuite/tests/generics/GenCannotDoRep1_2.stderr
+++ b/testsuite/tests/generics/GenCannotDoRep1_2.stderr
@@ -1,5 +1,5 @@
 
 GenCannotDoRep1_2.hs:13:1:
-    Can't make a derived instance of `Generic1 Term':
+    Can't make a derived instance of ‛Generic1 Term’:
       Int must be a vanilla data constructor
-    In the stand-alone deriving instance for `Generic1 Term'
+    In the stand-alone deriving instance for ‛Generic1 Term’
diff --git a/testsuite/tests/generics/GenCannotDoRep1_3.stderr b/testsuite/tests/generics/GenCannotDoRep1_3.stderr
index 7312a951582f..7e54463ff584 100644
--- a/testsuite/tests/generics/GenCannotDoRep1_3.stderr
+++ b/testsuite/tests/generics/GenCannotDoRep1_3.stderr
@@ -1,5 +1,5 @@
 
 GenCannotDoRep1_3.hs:11:33:
-    Can't make a derived instance of `Generic1 T':
-      Constructor `T' must use the last type parameter only as the last argument of a data type, newtype, or (->)
-    In the data declaration for `T'
+    Can't make a derived instance of ‛Generic1 T’:
+      Constructor ‛T’ must use the last type parameter only as the last argument of a data type, newtype, or (->)
+    In the data declaration for ‛T’
diff --git a/testsuite/tests/generics/GenCannotDoRep1_4.stderr b/testsuite/tests/generics/GenCannotDoRep1_4.stderr
index 2a8d2a699b3d..e4b39838d6a1 100644
--- a/testsuite/tests/generics/GenCannotDoRep1_4.stderr
+++ b/testsuite/tests/generics/GenCannotDoRep1_4.stderr
@@ -1,5 +1,5 @@
 
 GenCannotDoRep1_4.hs:8:34:
-    Can't make a derived instance of `Generic1 T':
-      Constructor `T' must use the last type parameter only as the last argument of a data type, newtype, or (->)
-    In the data declaration for `T'
+    Can't make a derived instance of ‛Generic1 T’:
+      Constructor ‛T’ must use the last type parameter only as the last argument of a data type, newtype, or (->)
+    In the data declaration for ‛T’
diff --git a/testsuite/tests/generics/GenCannotDoRep1_5.stderr b/testsuite/tests/generics/GenCannotDoRep1_5.stderr
index 13d25089a55f..21e849098cd5 100644
--- a/testsuite/tests/generics/GenCannotDoRep1_5.stderr
+++ b/testsuite/tests/generics/GenCannotDoRep1_5.stderr
@@ -1,5 +1,5 @@
 
 GenCannotDoRep1_5.hs:9:32:
-    Can't make a derived instance of `Generic1 T':
-      Constructor `T' must use the last type parameter only as the last argument of a data type, newtype, or (->)
-    In the data declaration for `T'
+    Can't make a derived instance of ‛Generic1 T’:
+      Constructor ‛T’ must use the last type parameter only as the last argument of a data type, newtype, or (->)
+    In the data declaration for ‛T’
diff --git a/testsuite/tests/generics/GenCannotDoRep1_6.stderr b/testsuite/tests/generics/GenCannotDoRep1_6.stderr
index 16b822e1c1a1..06d95b223ef1 100644
--- a/testsuite/tests/generics/GenCannotDoRep1_6.stderr
+++ b/testsuite/tests/generics/GenCannotDoRep1_6.stderr
@@ -1,5 +1,5 @@
 
 GenCannotDoRep1_6.hs:9:43:
-    Can't make a derived instance of `Generic1 T':
-      Constructor `T' must use the last type parameter only as the last argument of a data type, newtype, or (->)
-    In the data declaration for `T'
+    Can't make a derived instance of ‛Generic1 T’:
+      Constructor ‛T’ must use the last type parameter only as the last argument of a data type, newtype, or (->)
+    In the data declaration for ‛T’
diff --git a/testsuite/tests/generics/GenCannotDoRep1_7.stderr b/testsuite/tests/generics/GenCannotDoRep1_7.stderr
index 3b6af68fb0d8..2830a6d77499 100644
--- a/testsuite/tests/generics/GenCannotDoRep1_7.stderr
+++ b/testsuite/tests/generics/GenCannotDoRep1_7.stderr
@@ -1,5 +1,5 @@
 
 GenCannotDoRep1_7.hs:11:29:
-    Can't make a derived instance of `Generic1 T':
+    Can't make a derived instance of ‛Generic1 T’:
       must not apply type constructors that cannot be represented with `Rep1' (such as `B') to arguments that involve the last type parameter
-    In the data declaration for `T'
+    In the data declaration for ‛T’
diff --git a/testsuite/tests/generics/GenCannotDoRep1_8.stderr b/testsuite/tests/generics/GenCannotDoRep1_8.stderr
index c0d692907169..305944471f6b 100644
--- a/testsuite/tests/generics/GenCannotDoRep1_8.stderr
+++ b/testsuite/tests/generics/GenCannotDoRep1_8.stderr
@@ -1,5 +1,5 @@
 
 GenCannotDoRep1_8.hs:12:30:
-    Can't make a derived instance of `Generic1 T':
-      Constructor `T' must use the last type parameter only as the last argument of a data type, newtype, or (->)
-    In the data declaration for `T'
+    Can't make a derived instance of ‛Generic1 T’:
+      Constructor ‛T’ must use the last type parameter only as the last argument of a data type, newtype, or (->)
+    In the data declaration for ‛T’
diff --git a/testsuite/tests/generics/GenCannotDoRep2.stderr b/testsuite/tests/generics/GenCannotDoRep2.stderr
index 35caf2c3b4a8..635102310a8a 100644
--- a/testsuite/tests/generics/GenCannotDoRep2.stderr
+++ b/testsuite/tests/generics/GenCannotDoRep2.stderr
@@ -1,5 +1,5 @@
 
 GenCannotDoRep2.hs:13:1:
-    Can't make a derived instance of `Generic (Term a)':
+    Can't make a derived instance of ‛Generic (Term a)’:
       Int must be a vanilla data constructor
-    In the stand-alone deriving instance for `Generic (Term a)'
+    In the stand-alone deriving instance for ‛Generic (Term a)’
diff --git a/testsuite/tests/generics/GenShouldFail0.stderr b/testsuite/tests/generics/GenShouldFail0.stderr
index 3685e67784eb..f85cd9289427 100644
--- a/testsuite/tests/generics/GenShouldFail0.stderr
+++ b/testsuite/tests/generics/GenShouldFail0.stderr
@@ -1,5 +1,5 @@
 
 GenShouldFail0.hs:9:1:
-    Can't make a derived instance of `Generic X':
+    Can't make a derived instance of ‛Generic X’:
       You need -XDeriveGeneric to derive an instance for this class
-    In the stand-alone deriving instance for `Generic X'
+    In the stand-alone deriving instance for ‛Generic X’
diff --git a/testsuite/tests/generics/GenShouldFail1_0.stderr b/testsuite/tests/generics/GenShouldFail1_0.stderr
index 9b7ba3ef0742..00779d00ea4e 100644
--- a/testsuite/tests/generics/GenShouldFail1_0.stderr
+++ b/testsuite/tests/generics/GenShouldFail1_0.stderr
@@ -1,5 +1,5 @@
 
 GenShouldFail1_0.hs:9:1:
-    Can't make a derived instance of `Generic1 X':
+    Can't make a derived instance of ‛Generic1 X’:
       You need -XDeriveGeneric to derive an instance for this class
-    In the stand-alone deriving instance for `Generic1 X'
+    In the stand-alone deriving instance for ‛Generic1 X’
diff --git a/testsuite/tests/ghc-api/apirecomp001/apirecomp001.stderr b/testsuite/tests/ghc-api/apirecomp001/apirecomp001.stderr
index 920a10a79e37..b7666b7a4f6a 100644
--- a/testsuite/tests/ghc-api/apirecomp001/apirecomp001.stderr
+++ b/testsuite/tests/ghc-api/apirecomp001/apirecomp001.stderr
@@ -4,12 +4,12 @@ B.hs:4:1: Warning:
       answer_to_live_the_universe_and_everything :: Int
 
 B.hs:5:12: Warning:
-    Defaulting the following constraint(s) to type `Integer'
+    Defaulting the following constraint(s) to type ‛Integer’
       (Enum a0)
-        arising from the arithmetic sequence `1 .. 23 * 2' at B.hs:5:12-20
-      (Num a0) arising from the literal `1' at B.hs:5:13
-    In the first argument of `length', namely `[1 .. 23 * 2]'
-    In the first argument of `(-)', namely `length [1 .. 23 * 2]'
+        arising from the arithmetic sequence ‛1 .. 23 * 2’ at B.hs:5:12-20
+      (Num a0) arising from the literal ‛1’ at B.hs:5:13
+    In the first argument of ‛length’, namely ‛[1 .. 23 * 2]’
+    In the first argument of ‛(-)’, namely ‛length [1 .. 23 * 2]’
     In the expression: length [1 .. 23 * 2] - 4
 
 A.hs:7:1: Warning:
@@ -20,12 +20,12 @@ B.hs:4:1: Warning:
       answer_to_live_the_universe_and_everything :: Int
 
 B.hs:5:12: Warning:
-    Defaulting the following constraint(s) to type `Integer'
+    Defaulting the following constraint(s) to type ‛Integer’
       (Enum a0)
-        arising from the arithmetic sequence `1 .. 23 * 2' at B.hs:5:12-20
-      (Num a0) arising from the literal `1' at B.hs:5:13
-    In the first argument of `length', namely `[1 .. 23 * 2]'
-    In the first argument of `(-)', namely `length [1 .. 23 * 2]'
+        arising from the arithmetic sequence ‛1 .. 23 * 2’ at B.hs:5:12-20
+      (Num a0) arising from the literal ‛1’ at B.hs:5:13
+    In the first argument of ‛length’, namely ‛[1 .. 23 * 2]’
+    In the first argument of ‛(-)’, namely ‛length [1 .. 23 * 2]’
     In the expression: length [1 .. 23 * 2] - 4
 
 A.hs:7:1: Warning:
diff --git a/testsuite/tests/ghc-e/should_run/T2636.stderr b/testsuite/tests/ghc-e/should_run/T2636.stderr
index 369890fa2e1f..dbe70becec9c 100644
--- a/testsuite/tests/ghc-e/should_run/T2636.stderr
+++ b/testsuite/tests/ghc-e/should_run/T2636.stderr
@@ -1,4 +1,4 @@
 
 T2636.hs:1:8:
-    Could not find module `MissingModule'
+    Could not find module ‛MissingModule’
     Use -v to see a list of the files searched for.
diff --git a/testsuite/tests/ghci.debugger/scripts/break003.stderr b/testsuite/tests/ghci.debugger/scripts/break003.stderr
index fc7bb337d1e6..c1dda071d557 100644
--- a/testsuite/tests/ghci.debugger/scripts/break003.stderr
+++ b/testsuite/tests/ghci.debugger/scripts/break003.stderr
@@ -1,4 +1,4 @@
 
 <interactive>:5:1:
-    No instance for (Show (t -> t1)) arising from a use of `print'
+    No instance for (Show (t -> t1)) arising from a use of ‛print’
     In a stmt of an interactive GHCi command: print it
diff --git a/testsuite/tests/ghci.debugger/scripts/break006.stderr b/testsuite/tests/ghci.debugger/scripts/break006.stderr
index 9543d675e244..7e22617185fb 100644
--- a/testsuite/tests/ghci.debugger/scripts/break006.stderr
+++ b/testsuite/tests/ghci.debugger/scripts/break006.stderr
@@ -1,26 +1,26 @@
 
 <interactive>:6:1:
-    No instance for (Show t1) arising from a use of `print'
-    Cannot resolve unknown runtime type `t1'
+    No instance for (Show t1) arising from a use of ‛print’
+    Cannot resolve unknown runtime type ‛t1’
     Use :print or :force to determine these types
     Relevant bindings include it :: t1 (bound at <interactive>:6:1)
     Note: there are several potential instances:
-      instance Show Double -- Defined in `GHC.Float'
-      instance Show Float -- Defined in `GHC.Float'
+      instance Show Double -- Defined in ‛GHC.Float’
+      instance Show Float -- Defined in ‛GHC.Float’
       instance (Integral a, Show a) => Show (GHC.Real.Ratio a)
-        -- Defined in `GHC.Real'
+        -- Defined in ‛GHC.Real’
       ...plus 23 others
     In a stmt of an interactive GHCi command: print it
 
 <interactive>:8:1:
-    No instance for (Show t1) arising from a use of `print'
-    Cannot resolve unknown runtime type `t1'
+    No instance for (Show t1) arising from a use of ‛print’
+    Cannot resolve unknown runtime type ‛t1’
     Use :print or :force to determine these types
     Relevant bindings include it :: t1 (bound at <interactive>:8:1)
     Note: there are several potential instances:
-      instance Show Double -- Defined in `GHC.Float'
-      instance Show Float -- Defined in `GHC.Float'
+      instance Show Double -- Defined in ‛GHC.Float’
+      instance Show Float -- Defined in ‛GHC.Float’
       instance (Integral a, Show a) => Show (GHC.Real.Ratio a)
-        -- Defined in `GHC.Real'
+        -- Defined in ‛GHC.Real’
       ...plus 23 others
     In a stmt of an interactive GHCi command: print it
diff --git a/testsuite/tests/ghci.debugger/scripts/break019.stderr b/testsuite/tests/ghci.debugger/scripts/break019.stderr
index fe27afda19b4..41ec1e89e383 100644
--- a/testsuite/tests/ghci.debugger/scripts/break019.stderr
+++ b/testsuite/tests/ghci.debugger/scripts/break019.stderr
@@ -1,2 +1,2 @@
-
-Top level: Not in scope: data constructor `Test2'
+
+Top level: Not in scope: data constructor ‛Test2’
diff --git a/testsuite/tests/ghci.debugger/scripts/dynbrk001.stderr b/testsuite/tests/ghci.debugger/scripts/dynbrk001.stderr
index adb8dca6584b..ebc73e5d821e 100644
--- a/testsuite/tests/ghci.debugger/scripts/dynbrk001.stderr
+++ b/testsuite/tests/ghci.debugger/scripts/dynbrk001.stderr
@@ -1,4 +1,4 @@
 
 <no location info>:
-    Could not find module `NonModule'
+    Could not find module ‛NonModule’
     It is not a module in the current program, or in any known package.
diff --git a/testsuite/tests/ghci.debugger/scripts/dynbrk001.stdout b/testsuite/tests/ghci.debugger/scripts/dynbrk001.stdout
index 3d8780cee711..358f44990cf9 100644
--- a/testsuite/tests/ghci.debugger/scripts/dynbrk001.stdout
+++ b/testsuite/tests/ghci.debugger/scripts/dynbrk001.stdout
@@ -2,4 +2,4 @@ Breakpoint 1 does not exist
 No breakpoints found at that location.
 No active breakpoints.
 [4,8,15,16,23,42]
-map :: forall a b. (a -> b) -> [a] -> [b] 	-- Defined in `GHC.Base'
+map :: forall a b. (a -> b) -> [a] -> [b] 	-- Defined in ‛GHC.Base’
diff --git a/testsuite/tests/ghci.debugger/scripts/print019.stderr b/testsuite/tests/ghci.debugger/scripts/print019.stderr
index e5bcb7f1c4ad..3473c99dd940 100644
--- a/testsuite/tests/ghci.debugger/scripts/print019.stderr
+++ b/testsuite/tests/ghci.debugger/scripts/print019.stderr
@@ -1,7 +1,7 @@
 
 <interactive>:11:1:
-    No instance for (Show a1) arising from a use of `print'
-    Cannot resolve unknown runtime type `a1'
+    No instance for (Show a1) arising from a use of ‛print’
+    Cannot resolve unknown runtime type ‛a1’
     Use :print or :force to determine these types
     Relevant bindings include it :: a1 (bound at <interactive>:11:1)
     Note: there are several potential instances:
diff --git a/testsuite/tests/ghci.debugger/scripts/print020.stderr b/testsuite/tests/ghci.debugger/scripts/print020.stderr
index 296718daeca0..6642bb7baa27 100644
--- a/testsuite/tests/ghci.debugger/scripts/print020.stderr
+++ b/testsuite/tests/ghci.debugger/scripts/print020.stderr
@@ -3,7 +3,7 @@ GenericTemplate.hs:219:14: Warning:
     Pattern bindings containing unlifted types should use an outermost bang pattern:
       sts1@((HappyCons (st1@(action)) (_)))
         = happyDrop k (HappyCons (st) (sts))
-    In an equation for `happyMonadReduce':
+    In an equation for ‛happyMonadReduce’:
         happyMonadReduce k nt fn j tk st sts stk
           = happyThen1
               (fn stk tk)
@@ -17,7 +17,7 @@ GenericTemplate.hs:226:14: Warning:
     Pattern bindings containing unlifted types should use an outermost bang pattern:
       sts1@((HappyCons (st1@(action)) (_)))
         = happyDrop k (HappyCons (st) (sts))
-    In an equation for `happyMonad2Reduce':
+    In an equation for ‛happyMonad2Reduce’:
         happyMonad2Reduce k nt fn j tk st sts stk
           = happyThen1
               (fn stk tk)
diff --git a/testsuite/tests/ghci/prog006/prog006.stderr b/testsuite/tests/ghci/prog006/prog006.stderr
index 472272a01e15..53c82d5466e2 100644
--- a/testsuite/tests/ghci/prog006/prog006.stderr
+++ b/testsuite/tests/ghci/prog006/prog006.stderr
@@ -1,4 +1,4 @@
 
 Boot.hs:5:13:
-    Not a data constructor: `forall'
+    Not a data constructor: ‛forall’
     Perhaps you intended to use -XExistentialQuantification
diff --git a/testsuite/tests/ghci/prog009/ghci.prog009.stderr b/testsuite/tests/ghci/prog009/ghci.prog009.stderr
index e63a322c2deb..bf608499bbf2 100644
--- a/testsuite/tests/ghci/prog009/ghci.prog009.stderr
+++ b/testsuite/tests/ghci/prog009/ghci.prog009.stderr
@@ -2,7 +2,7 @@
 A.hs:1:16: parse error on input `where'
 
 <interactive>:26:1:
-    Not in scope: `yan'
-    Perhaps you meant `tan' (imported from Prelude)
+    Not in scope: ‛yan’
+    Perhaps you meant ‛tan’ (imported from Prelude)
 
 A.hs:1:16: parse error on input `where'
diff --git a/testsuite/tests/ghci/prog012/prog012.stderr b/testsuite/tests/ghci/prog012/prog012.stderr
index 71f2bbeb01df..db122d9c64dc 100644
--- a/testsuite/tests/ghci/prog012/prog012.stderr
+++ b/testsuite/tests/ghci/prog012/prog012.stderr
@@ -1,2 +1,2 @@
 
-Bar.hs:3:7: Not in scope: `nonexistent'
+Bar.hs:3:7: Not in scope: ‛nonexistent’
diff --git a/testsuite/tests/ghci/scripts/T2452.stderr b/testsuite/tests/ghci/scripts/T2452.stderr
index 2802ee2bdf74..a2fa4fc8a560 100644
--- a/testsuite/tests/ghci/scripts/T2452.stderr
+++ b/testsuite/tests/ghci/scripts/T2452.stderr
@@ -1,2 +1,2 @@
 
-<interactive>:1:1: Not in scope: `System.IO.hPutStrLn'
+<interactive>:1:1: Not in scope: ‛System.IO.hPutStrLn’
diff --git a/testsuite/tests/ghci/scripts/T2816.stderr b/testsuite/tests/ghci/scripts/T2816.stderr
index 3a9e972205e1..ba4c1bd955cd 100644
--- a/testsuite/tests/ghci/scripts/T2816.stderr
+++ b/testsuite/tests/ghci/scripts/T2816.stderr
@@ -1,2 +1,2 @@
 
-<interactive>:2:1: Not in scope: `α'
+<interactive>:2:1: Not in scope: ‛α’
diff --git a/testsuite/tests/ghci/scripts/T4127a.stderr b/testsuite/tests/ghci/scripts/T4127a.stderr
index 970b6db0a2ee..cc118a9e20e0 100644
--- a/testsuite/tests/ghci/scripts/T4127a.stderr
+++ b/testsuite/tests/ghci/scripts/T4127a.stderr
@@ -1,5 +1,5 @@
 
 <interactive>:3:68:
-    Multiple declarations of `f'
+    Multiple declarations of ‛f’
     Declared at: <interactive>:3:32
                  <interactive>:3:68
diff --git a/testsuite/tests/ghci/scripts/T5545.stdout b/testsuite/tests/ghci/scripts/T5545.stdout
index 8c7c69ad5892..8ba680a5cb36 100644
--- a/testsuite/tests/ghci/scripts/T5545.stdout
+++ b/testsuite/tests/ghci/scripts/T5545.stdout
@@ -1,2 +1,2 @@
-($!) :: (a -> b) -> a -> b 	-- Defined in `Prelude'
+($!) :: (a -> b) -> a -> b 	-- Defined in ‛Prelude’
 infixr 0 $!
diff --git a/testsuite/tests/ghci/scripts/T5564.stderr b/testsuite/tests/ghci/scripts/T5564.stderr
index d76c4df78886..6fb94e4f137c 100644
--- a/testsuite/tests/ghci/scripts/T5564.stderr
+++ b/testsuite/tests/ghci/scripts/T5564.stderr
@@ -1,9 +1,9 @@
 
 <interactive>:3:1:
-    Not in scope: `git'
-    Perhaps you meant `it' (line 2)
+    Not in scope: ‛git’
+    Perhaps you meant ‛it’ (line 2)
 
 <interactive>:5:1:
-    Not in scope: `fit'
+    Not in scope: ‛fit’
     Perhaps you meant one of these:
-      `it' (line 4), `fst' (imported from Prelude)
+      ‛it’ (line 4), ‛fst’ (imported from Prelude)
diff --git a/testsuite/tests/ghci/scripts/T5836.stderr b/testsuite/tests/ghci/scripts/T5836.stderr
index 9b0cfc65ebfd..5bd37b5c00e2 100644
--- a/testsuite/tests/ghci/scripts/T5836.stderr
+++ b/testsuite/tests/ghci/scripts/T5836.stderr
@@ -1,4 +1,4 @@
 
 <no location info>:
-    Could not find module `Does.Not.Exist'
+    Could not find module ‛Does.Not.Exist’
     It is not a module in the current program, or in any known package.
diff --git a/testsuite/tests/ghci/scripts/T5979.stderr b/testsuite/tests/ghci/scripts/T5979.stderr
index 84f8c6ba0b91..b4cd88492896 100644
--- a/testsuite/tests/ghci/scripts/T5979.stderr
+++ b/testsuite/tests/ghci/scripts/T5979.stderr
@@ -1,4 +1,4 @@
 
 <no location info>:
-    Could not find module `Control.Monad.Trans.State'
+    Could not find module ‛Control.Monad.Trans.State’
     It is not a module in the current program, or in any known package.
diff --git a/testsuite/tests/ghci/scripts/T6007.stderr b/testsuite/tests/ghci/scripts/T6007.stderr
index b461ef19bf31..695d25b3adbd 100644
--- a/testsuite/tests/ghci/scripts/T6007.stderr
+++ b/testsuite/tests/ghci/scripts/T6007.stderr
@@ -1,6 +1,6 @@
 
 <interactive>:1:19:
-    Module `System.IO' does not export `does_not_exist'
+    Module ‛System.IO’ does not export ‛does_not_exist’
 
 <interactive>:1:20:
-    Module `Data.Maybe' does not export `does_not_exist'
+    Module ‛Data.Maybe’ does not export ‛does_not_exist’
diff --git a/testsuite/tests/ghci/scripts/ghci008.stdout b/testsuite/tests/ghci/scripts/ghci008.stdout
index cac9db2c41ae..9eaf1dc96188 100644
--- a/testsuite/tests/ghci/scripts/ghci008.stdout
+++ b/testsuite/tests/ghci/scripts/ghci008.stdout
@@ -1,18 +1,18 @@
 class Num a where
   (+) :: a -> a -> a
   ...
-  	-- Defined in `GHC.Num'
+  	-- Defined in ‛GHC.Num’
 infixl 6 +
 class Num a where
   (+) :: a -> a -> a
   ...
-  	-- Defined in `GHC.Num'
+  	-- Defined in ‛GHC.Num’
 infixl 6 +
 data Data.Complex.Complex a = !a Data.Complex.:+ !a
-  	-- Defined in `Data.Complex'
+  	-- Defined in ‛Data.Complex’
 infix 6 Data.Complex.:+
 data Data.Complex.Complex a = !a Data.Complex.:+ !a
-  	-- Defined in `Data.Complex'
+  	-- Defined in ‛Data.Complex’
 infix 6 Data.Complex.:+
 class (RealFrac a, Floating a) => RealFloat a where
   floatRadix :: a -> Integer
@@ -29,8 +29,8 @@ class (RealFrac a, Floating a) => RealFloat a where
   isNegativeZero :: a -> Bool
   isIEEE :: a -> Bool
   atan2 :: a -> a -> a
-  	-- Defined in `GHC.Float'
-instance RealFloat Float -- Defined in `GHC.Float'
-instance RealFloat Double -- Defined in `GHC.Float'
+  	-- Defined in ‛GHC.Float’
+instance RealFloat Float -- Defined in ‛GHC.Float’
+instance RealFloat Double -- Defined in ‛GHC.Float’
 Data.List.isPrefixOf :: Eq a => [a] -> [a] -> Bool
-  	-- Defined in `Data.List'
+  	-- Defined in ‛Data.List’
diff --git a/testsuite/tests/ghci/scripts/ghci011.stdout b/testsuite/tests/ghci/scripts/ghci011.stdout
index caed5d0f0c61..540572ea810f 100644
--- a/testsuite/tests/ghci/scripts/ghci011.stdout
+++ b/testsuite/tests/ghci/scripts/ghci011.stdout
@@ -1,22 +1,22 @@
-data [] a = [] | a : [a] 	-- Defined in `GHC.Types'
-instance Eq a => Eq [a] -- Defined in `GHC.Classes'
-instance Monad [] -- Defined in `GHC.Base'
-instance Functor [] -- Defined in `GHC.Base'
-instance Ord a => Ord [a] -- Defined in `GHC.Classes'
-instance Read a => Read [a] -- Defined in `GHC.Read'
-instance Show a => Show [a] -- Defined in `GHC.Show'
-data () = () 	-- Defined in `GHC.Tuple'
-instance Bounded () -- Defined in `GHC.Enum'
-instance Enum () -- Defined in `GHC.Enum'
-instance Eq () -- Defined in `GHC.Classes'
-instance Ord () -- Defined in `GHC.Classes'
-instance Read () -- Defined in `GHC.Read'
-instance Show () -- Defined in `GHC.Show'
-data (,) a b = (,) a b 	-- Defined in `GHC.Tuple'
+data [] a = [] | a : [a] 	-- Defined in ‛GHC.Types’
+instance Eq a => Eq [a] -- Defined in ‛GHC.Classes’
+instance Monad [] -- Defined in ‛GHC.Base’
+instance Functor [] -- Defined in ‛GHC.Base’
+instance Ord a => Ord [a] -- Defined in ‛GHC.Classes’
+instance Read a => Read [a] -- Defined in ‛GHC.Read’
+instance Show a => Show [a] -- Defined in ‛GHC.Show’
+data () = () 	-- Defined in ‛GHC.Tuple’
+instance Bounded () -- Defined in ‛GHC.Enum’
+instance Enum () -- Defined in ‛GHC.Enum’
+instance Eq () -- Defined in ‛GHC.Classes’
+instance Ord () -- Defined in ‛GHC.Classes’
+instance Read () -- Defined in ‛GHC.Read’
+instance Show () -- Defined in ‛GHC.Show’
+data (,) a b = (,) a b 	-- Defined in ‛GHC.Tuple’
 instance (Bounded a, Bounded b) => Bounded (a, b)
-  -- Defined in `GHC.Enum'
-instance (Eq a, Eq b) => Eq (a, b) -- Defined in `GHC.Classes'
-instance Functor ((,) a) -- Defined in `GHC.Base'
-instance (Ord a, Ord b) => Ord (a, b) -- Defined in `GHC.Classes'
-instance (Read a, Read b) => Read (a, b) -- Defined in `GHC.Read'
-instance (Show a, Show b) => Show (a, b) -- Defined in `GHC.Show'
+  -- Defined in ‛GHC.Enum’
+instance (Eq a, Eq b) => Eq (a, b) -- Defined in ‛GHC.Classes’
+instance Functor ((,) a) -- Defined in ‛GHC.Base’
+instance (Ord a, Ord b) => Ord (a, b) -- Defined in ‛GHC.Classes’
+instance (Read a, Read b) => Read (a, b) -- Defined in ‛GHC.Read’
+instance (Show a, Show b) => Show (a, b) -- Defined in ‛GHC.Show’
diff --git a/testsuite/tests/ghci/scripts/ghci020.stdout b/testsuite/tests/ghci/scripts/ghci020.stdout
index 333e78570ab5..6d621d3c1d34 100644
--- a/testsuite/tests/ghci/scripts/ghci020.stdout
+++ b/testsuite/tests/ghci/scripts/ghci020.stdout
@@ -1,3 +1,3 @@
-data (->) a b 	-- Defined in `GHC.Prim'
-instance Monad ((->) r) -- Defined in `GHC.Base'
-instance Functor ((->) r) -- Defined in `GHC.Base'
+data (->) a b 	-- Defined in ‛GHC.Prim’
+instance Monad ((->) r) -- Defined in ‛GHC.Base’
+instance Functor ((->) r) -- Defined in ‛GHC.Base’
diff --git a/testsuite/tests/ghci/scripts/ghci021.stderr b/testsuite/tests/ghci/scripts/ghci021.stderr
index ae7c75b6bb22..18216b8f1871 100644
--- a/testsuite/tests/ghci/scripts/ghci021.stderr
+++ b/testsuite/tests/ghci/scripts/ghci021.stderr
@@ -1,2 +1,2 @@
 
-<no location info>: no such module: `ThisDoesNotExist'
+<no location info>: no such module: ‛ThisDoesNotExist’
diff --git a/testsuite/tests/ghci/scripts/ghci034.stderr b/testsuite/tests/ghci/scripts/ghci034.stderr
index 59501b2443c8..00bf3dfb67b8 100644
--- a/testsuite/tests/ghci/scripts/ghci034.stderr
+++ b/testsuite/tests/ghci/scripts/ghci034.stderr
@@ -1,2 +1,2 @@
 
-Top level: Not in scope: `thisIsNotDefined'
+Top level: Not in scope: ‛thisIsNotDefined’
diff --git a/testsuite/tests/ghci/scripts/ghci036.stderr b/testsuite/tests/ghci/scripts/ghci036.stderr
index f070bdd9d26a..5b53b08d293d 100644
--- a/testsuite/tests/ghci/scripts/ghci036.stderr
+++ b/testsuite/tests/ghci/scripts/ghci036.stderr
@@ -1,18 +1,18 @@
 
-<interactive>:1:1: Not in scope: `nubBy'
+<interactive>:1:1: Not in scope: ‛nubBy’
 
-<interactive>:1:1: Not in scope: `nub'
+<interactive>:1:1: Not in scope: ‛nub’
 
-<interactive>:1:1: Not in scope: `nubBy'
+<interactive>:1:1: Not in scope: ‛nubBy’
 
-<interactive>:1:1: Not in scope: `nub'
+<interactive>:1:1: Not in scope: ‛nub’
 
 <interactive>:1:1:
-    Not in scope: `nub'
-    Perhaps you meant `L.nub' (imported from Data.List)
+    Not in scope: ‛nub’
+    Perhaps you meant ‛L.nub’ (imported from Data.List)
 
 <interactive>:1:1:
-    Failed to load interface for `L'
+    Failed to load interface for ‛L’
     Use -v to see a list of the files searched for.
 
-<interactive>:1:1: Not in scope: `nub'
+<interactive>:1:1: Not in scope: ‛nub’
diff --git a/testsuite/tests/ghci/scripts/ghci038.stderr b/testsuite/tests/ghci/scripts/ghci038.stderr
index 5b3b85c25bd4..bb2fb850c8ca 100644
--- a/testsuite/tests/ghci/scripts/ghci038.stderr
+++ b/testsuite/tests/ghci/scripts/ghci038.stderr
@@ -1,4 +1,4 @@
 
-<interactive>:1:1: Not in scope: `map'
+<interactive>:1:1: Not in scope: ‛map’
 
-<interactive>:1:1: Not in scope: `x'
+<interactive>:1:1: Not in scope: ‛x’
diff --git a/testsuite/tests/ghci/scripts/ghci044.stderr b/testsuite/tests/ghci/scripts/ghci044.stderr
index a5e6a543ee62..c0737d13b5ad 100644
--- a/testsuite/tests/ghci/scripts/ghci044.stderr
+++ b/testsuite/tests/ghci/scripts/ghci044.stderr
@@ -1,11 +1,11 @@
 
 <interactive>:5:10:
-    Illegal instance declaration for `C [Int]'
+    Illegal instance declaration for ‛C [Int]’
       (All instance types must be of the form (T a1 ... an)
        where a1 ... an are *distinct type variables*,
        and each type variable appears at most once in the instance head.
        Use -XFlexibleInstances if you want to disable this.)
-    In the instance declaration for `C [Int]'
+    In the instance declaration for ‛C [Int]’
 
 <interactive>:7:10:
     Overlapping instance declarations:
diff --git a/testsuite/tests/ghci/scripts/ghci047.stderr b/testsuite/tests/ghci/scripts/ghci047.stderr
index 0051710378b1..c888b0492cac 100644
--- a/testsuite/tests/ghci/scripts/ghci047.stderr
+++ b/testsuite/tests/ghci/scripts/ghci047.stderr
@@ -1,16 +1,16 @@
 
 <interactive>:38:1:
-    Couldn't match type `HFalse' with `HTrue'
+    Couldn't match type ‛HFalse’ with ‛HTrue’
     Expected type: HTrue
       Actual type: Or HFalse HFalse
     In the expression: f
     In the expression: f $ Baz 'a'
-    In an equation for `it': it = f $ Baz 'a'
+    In an equation for ‛it’: it = f $ Baz 'a'
 
 <interactive>:39:1:
-    Couldn't match type `HFalse' with `HTrue'
+    Couldn't match type ‛HFalse’ with ‛HTrue’
     Expected type: HTrue
       Actual type: Or HFalse HFalse
     In the expression: f
     In the expression: f $ Quz
-    In an equation for `it': it = f $ Quz
+    In an equation for ‛it’: it = f $ Quz
diff --git a/testsuite/tests/ghci/scripts/ghci048.stderr b/testsuite/tests/ghci/scripts/ghci048.stderr
index 408c1e9ee1c0..3809db88e2df 100644
--- a/testsuite/tests/ghci/scripts/ghci048.stderr
+++ b/testsuite/tests/ghci/scripts/ghci048.stderr
@@ -1,10 +1,10 @@
 
 <interactive>:4:16:
-    Multiple declarations of `A'
+    Multiple declarations of ‛A’
     Declared at: <interactive>:4:12
                  <interactive>:4:16
 
 <interactive>:6:16:
-    Multiple declarations of `A'
+    Multiple declarations of ‛A’
     Declared at: <interactive>:6:12
                  <interactive>:6:16
diff --git a/testsuite/tests/ghci/scripts/ghci050.stderr b/testsuite/tests/ghci/scripts/ghci050.stderr
index b2e11a26ef68..77c552575acc 100644
--- a/testsuite/tests/ghci/scripts/ghci050.stderr
+++ b/testsuite/tests/ghci/scripts/ghci050.stderr
@@ -1,8 +1,8 @@
 
 <interactive>:6:49:
-    Couldn't match expected type `ListableElem (a, a)'
-                with actual type `a'
-      `a' is a rigid type variable bound by
+    Couldn't match expected type ‛ListableElem (a, a)’
+                with actual type ‛a’
+      ‛a’ is a rigid type variable bound by
           the instance declaration at <interactive>:6:10
     Relevant bindings include
       asList :: (a, a) -> [ListableElem (a, a)]
@@ -11,4 +11,4 @@
       b :: a (bound at <interactive>:6:43)
     In the expression: a
     In the expression: [a, b]
-    In an equation for `asList': asList (a, b) = [a, b]
+    In an equation for ‛asList’: asList (a, b) = [a, b]
diff --git a/testsuite/tests/ghci/scripts/ghci051.stderr b/testsuite/tests/ghci/scripts/ghci051.stderr
index 130d0012a23c..aec3647664ee 100644
--- a/testsuite/tests/ghci/scripts/ghci051.stderr
+++ b/testsuite/tests/ghci/scripts/ghci051.stderr
@@ -1,7 +1,7 @@
 
 <interactive>:7:9:
-    Couldn't match type `T' with `main::Interactive.T'
+    Couldn't match type ‛T’ with ‛main::Interactive.T’
     Expected type: T'
       Actual type: T
     In the expression: C :: T'
-    In an equation for `c': c = C :: T'
+    In an equation for ‛c’: c = C :: T'
diff --git a/testsuite/tests/ghci/scripts/ghci052.stderr b/testsuite/tests/ghci/scripts/ghci052.stderr
index c685a2aaaf9f..2efada534423 100644
--- a/testsuite/tests/ghci/scripts/ghci052.stderr
+++ b/testsuite/tests/ghci/scripts/ghci052.stderr
@@ -1,27 +1,27 @@
 
 <interactive>:7:4:
-    Couldn't match expected type `main::Interactive.Planet'
-                with actual type `Planet'
-    In the first argument of `pn', namely `Mercury'
+    Couldn't match expected type ‛main::Interactive.Planet’
+                with actual type ‛Planet’
+    In the first argument of ‛pn’, namely ‛Mercury’
     In the expression: pn Mercury
-    In an equation for `it': it = pn Mercury
+    In an equation for ‛it’: it = pn Mercury
 
 <interactive>:8:4:
-    Couldn't match expected type `main::Interactive.Planet'
-                with actual type `Planet'
-    In the first argument of `pn', namely `Venus'
+    Couldn't match expected type ‛main::Interactive.Planet’
+                with actual type ‛Planet’
+    In the first argument of ‛pn’, namely ‛Venus’
     In the expression: pn Venus
-    In an equation for `it': it = pn Venus
+    In an equation for ‛it’: it = pn Venus
 
 <interactive>:9:4:
-    Couldn't match expected type `main::Interactive.Planet'
-                with actual type `Planet'
-    In the first argument of `pn', namely `Mars'
+    Couldn't match expected type ‛main::Interactive.Planet’
+                with actual type ‛Planet’
+    In the first argument of ‛pn’, namely ‛Mars’
     In the expression: pn Mars
-    In an equation for `it': it = pn Mars
+    In an equation for ‛it’: it = pn Mars
 
 <interactive>:11:44:
-    Couldn't match expected type `Planet'
-                with actual type `main::Interactive.Planet'
+    Couldn't match expected type ‛Planet’
+                with actual type ‛main::Interactive.Planet’
     In the pattern: Earth
-    In an equation for `pn': pn Earth = "E"
+    In an equation for ‛pn’: pn Earth = "E"
diff --git a/testsuite/tests/ghci/scripts/ghci053.stderr b/testsuite/tests/ghci/scripts/ghci053.stderr
index e08ad91e21e9..f97df8f63cdb 100644
--- a/testsuite/tests/ghci/scripts/ghci053.stderr
+++ b/testsuite/tests/ghci/scripts/ghci053.stderr
@@ -1,14 +1,14 @@
 
 <interactive>:8:12:
-    Couldn't match expected type `main::Interactive.Planet'
-                with actual type `Planet'
-    In the second argument of `(==)', namely `Mercury'
+    Couldn't match expected type ‛main::Interactive.Planet’
+                with actual type ‛Planet’
+    In the second argument of ‛(==)’, namely ‛Mercury’
     In the expression: mercury == Mercury
-    In an equation for `it': it = mercury == Mercury
+    In an equation for ‛it’: it = mercury == Mercury
 
 <interactive>:10:10:
-    Couldn't match expected type `Planet'
-                with actual type `main::Interactive.Planet'
-    In the second argument of `(==)', namely `Earth'
+    Couldn't match expected type ‛Planet’
+                with actual type ‛main::Interactive.Planet’
+    In the second argument of ‛(==)’, namely ‛Earth’
     In the expression: Venus == Earth
-    In an equation for `it': it = Venus == Earth
+    In an equation for ‛it’: it = Venus == Earth
diff --git a/testsuite/tests/ghci/scripts/ghci057.stderr b/testsuite/tests/ghci/scripts/ghci057.stderr
index 623bfb3c37cd..22d051457842 100644
--- a/testsuite/tests/ghci/scripts/ghci057.stderr
+++ b/testsuite/tests/ghci/scripts/ghci057.stderr
@@ -1,17 +1,17 @@
-
-<interactive>:5:1:
-    Illegal generalised algebraic data declaration for `T'
-      (Use -XGADTs to allow GADTs)
-    In the data declaration for `T'
-
-ghci057.hs:3:3:
-    Data constructor `C' has existential type variables, a context, or a specialised result type
-      (Use -XExistentialQuantification or -XGADTs to allow this)
-    In the definition of data constructor `C'
-    In the data declaration for `T'
-
-ghci057.hs:3:3:
-    Data constructor `C' has existential type variables, a context, or a specialised result type
-      (Use -XExistentialQuantification or -XGADTs to allow this)
-    In the definition of data constructor `C'
-    In the data declaration for `T'
+
+<interactive>:5:1:
+    Illegal generalised algebraic data declaration for ‛T’
+      (Use -XGADTs to allow GADTs)
+    In the data declaration for ‛T’
+
+ghci057.hs:3:3:
+    Data constructor ‛C’ has existential type variables, a context, or a specialised result type
+      (Use -XExistentialQuantification or -XGADTs to allow this)
+    In the definition of data constructor ‛C’
+    In the data declaration for ‛T’
+
+ghci057.hs:3:3:
+    Data constructor ‛C’ has existential type variables, a context, or a specialised result type
+      (Use -XExistentialQuantification or -XGADTs to allow this)
+    In the definition of data constructor ‛C’
+    In the data declaration for ‛T’
diff --git a/testsuite/tests/haddock/haddock_examples/haddock.Test.stderr b/testsuite/tests/haddock/haddock_examples/haddock.Test.stderr
index 74956de414d0..37a2565a4e55 100644
--- a/testsuite/tests/haddock/haddock_examples/haddock.Test.stderr
+++ b/testsuite/tests/haddock/haddock_examples/haddock.Test.stderr
@@ -157,10 +157,10 @@ m = undefined
 
 
 
-Test.hs:32:9: Warning: `p' is exported by `p' and `R(..)'
+Test.hs:32:9: Warning: ‛p’ is exported by ‛p’ and ‛R(..)’
 
-Test.hs:32:12: Warning: `q' is exported by `q' and `R(..)'
+Test.hs:32:12: Warning: ‛q’ is exported by ‛q’ and ‛R(..)’
 
-Test.hs:32:15: Warning: `u' is exported by `u' and `R(..)'
+Test.hs:32:15: Warning: ‛u’ is exported by ‛u’ and ‛R(..)’
 
-Test.hs:38:9: Warning: `a' is exported by `a' and `C(a, b)'
+Test.hs:38:9: Warning: ‛a’ is exported by ‛a’ and ‛C(a, b)’
diff --git a/testsuite/tests/indexed-types/should_compile/Class3.stderr b/testsuite/tests/indexed-types/should_compile/Class3.stderr
index 4c72a425f0a5..6c0746074555 100644
--- a/testsuite/tests/indexed-types/should_compile/Class3.stderr
+++ b/testsuite/tests/indexed-types/should_compile/Class3.stderr
@@ -1,4 +1,4 @@
 
-Class3.hs:7:10:
-    Warning: No explicit method or default declaration for `foo'
-    In the instance declaration for `C ()'
+Class3.hs:7:10: Warning:
+    No explicit method or default declaration for ‛foo’
+    In the instance declaration for ‛C ()’
diff --git a/testsuite/tests/indexed-types/should_compile/Simple14.stderr b/testsuite/tests/indexed-types/should_compile/Simple14.stderr
index 1665ccae834b..3c761c302d42 100644
--- a/testsuite/tests/indexed-types/should_compile/Simple14.stderr
+++ b/testsuite/tests/indexed-types/should_compile/Simple14.stderr
@@ -1,18 +1,18 @@
 
 Simple14.hs:17:19:
-    Couldn't match type `z0' with `n'
-      `z0' is untouchable
+    Couldn't match type ‛z0’ with ‛n’
+      ‛z0’ is untouchable
         inside the constraints (Maybe m ~ Maybe n)
         bound by a type expected by the context:
                    Maybe m ~ Maybe n => EQ_ z0 z0
         at Simple14.hs:17:12-33
-      `n' is a rigid type variable bound by
+      ‛n’ is a rigid type variable bound by
           the type signature for foo :: EQ_ (Maybe m) (Maybe n)
           at Simple14.hs:16:17
     Expected type: EQ_ z0 z0
       Actual type: EQ_ m n
     Relevant bindings include
       foo :: EQ_ (Maybe m) (Maybe n) (bound at Simple14.hs:17:1)
-    In the second argument of `eqE', namely `(eqI :: EQ_ m n)'
-    In the first argument of `ntI', namely `(`eqE` (eqI :: EQ_ m n))'
+    In the second argument of ‛eqE’, namely ‛(eqI :: EQ_ m n)’
+    In the first argument of ‛ntI’, namely ‛(`eqE` (eqI :: EQ_ m n))’
     In the expression: ntI (`eqE` (eqI :: EQ_ m n))
diff --git a/testsuite/tests/indexed-types/should_compile/Simple2.stderr b/testsuite/tests/indexed-types/should_compile/Simple2.stderr
index ef05fb3e23e5..e68afd80daec 100644
--- a/testsuite/tests/indexed-types/should_compile/Simple2.stderr
+++ b/testsuite/tests/indexed-types/should_compile/Simple2.stderr
@@ -1,40 +1,40 @@
 
-Simple2.hs:21:1:
-    Warning: No explicit associated type or default declaration for `S3n'
-    In the instance declaration for `C3 Char'
+Simple2.hs:21:1: Warning:
+    No explicit associated type or default declaration for ‛S3n’
+    In the instance declaration for ‛C3 Char’
 
-Simple2.hs:21:10:
-    Warning: No explicit method or default declaration for `foo3n'
-    In the instance declaration for `C3 Char'
+Simple2.hs:21:10: Warning:
+    No explicit method or default declaration for ‛foo3n’
+    In the instance declaration for ‛C3 Char’
 
-Simple2.hs:21:10:
-    Warning: No explicit method or default declaration for `bar3n'
-    In the instance declaration for `C3 Char'
+Simple2.hs:21:10: Warning:
+    No explicit method or default declaration for ‛bar3n’
+    In the instance declaration for ‛C3 Char’
 
-Simple2.hs:29:1:
-    Warning: No explicit associated type or default declaration for `S3n'
-    In the instance declaration for `C3 Bool'
+Simple2.hs:29:1: Warning:
+    No explicit associated type or default declaration for ‛S3n’
+    In the instance declaration for ‛C3 Bool’
 
-Simple2.hs:29:10:
-    Warning: No explicit method or default declaration for `foo3n'
-    In the instance declaration for `C3 Bool'
+Simple2.hs:29:10: Warning:
+    No explicit method or default declaration for ‛foo3n’
+    In the instance declaration for ‛C3 Bool’
 
-Simple2.hs:29:10:
-    Warning: No explicit method or default declaration for `bar3n'
-    In the instance declaration for `C3 Bool'
+Simple2.hs:29:10: Warning:
+    No explicit method or default declaration for ‛bar3n’
+    In the instance declaration for ‛C3 Bool’
 
-Simple2.hs:39:1:
-    Warning: No explicit associated type or default declaration for `S3'
-    In the instance declaration for `C3 Float'
+Simple2.hs:39:1: Warning:
+    No explicit associated type or default declaration for ‛S3’
+    In the instance declaration for ‛C3 Float’
 
-Simple2.hs:39:1:
-    Warning: No explicit associated type or default declaration for `S3n'
-    In the instance declaration for `C3 Float'
+Simple2.hs:39:1: Warning:
+    No explicit associated type or default declaration for ‛S3n’
+    In the instance declaration for ‛C3 Float’
 
-Simple2.hs:39:10:
-    Warning: No explicit method or default declaration for `foo3n'
-    In the instance declaration for `C3 Float'
+Simple2.hs:39:10: Warning:
+    No explicit method or default declaration for ‛foo3n’
+    In the instance declaration for ‛C3 Float’
 
-Simple2.hs:39:10:
-    Warning: No explicit method or default declaration for `bar3n'
-    In the instance declaration for `C3 Float'
+Simple2.hs:39:10: Warning:
+    No explicit method or default declaration for ‛bar3n’
+    In the instance declaration for ‛C3 Float’
diff --git a/testsuite/tests/indexed-types/should_fail/DerivUnsatFam.stderr b/testsuite/tests/indexed-types/should_fail/DerivUnsatFam.stderr
index 63c126214735..dbcb4f03c852 100644
--- a/testsuite/tests/indexed-types/should_fail/DerivUnsatFam.stderr
+++ b/testsuite/tests/indexed-types/should_fail/DerivUnsatFam.stderr
@@ -1,5 +1,5 @@
-
-DerivUnsatFam.hs:8:1:
-    Can't make a derived instance of `Functor T':
-      Unsaturated data family application
-    In the stand-alone deriving instance for `Functor T'
+
+DerivUnsatFam.hs:8:1:
+    Can't make a derived instance of ‛Functor T’:
+      Unsaturated data family application
+    In the stand-alone deriving instance for ‛Functor T’
diff --git a/testsuite/tests/indexed-types/should_fail/ExtraTcsUntch.stderr b/testsuite/tests/indexed-types/should_fail/ExtraTcsUntch.stderr
index 428d4b968d31..4b7532c96270 100644
--- a/testsuite/tests/indexed-types/should_fail/ExtraTcsUntch.stderr
+++ b/testsuite/tests/indexed-types/should_fail/ExtraTcsUntch.stderr
@@ -1,6 +1,6 @@
 
 ExtraTcsUntch.hs:24:53:
-    Could not deduce (C [t] [a]) arising from a use of `op'
+    Could not deduce (C [t] [a]) arising from a use of ‛op’
     from the context (F Int ~ [[t]])
       bound by the inferred type of
                f :: F Int ~ [[t]] => [t] -> ((), ((), ()))
diff --git a/testsuite/tests/indexed-types/should_fail/GADTwrong1.stderr b/testsuite/tests/indexed-types/should_fail/GADTwrong1.stderr
index b61af24a620c..aa6eedc88cc3 100644
--- a/testsuite/tests/indexed-types/should_fail/GADTwrong1.stderr
+++ b/testsuite/tests/indexed-types/should_fail/GADTwrong1.stderr
@@ -1,21 +1,21 @@
-
-GADTwrong1.hs:12:19:
-    Could not deduce (a1 ~ b)
-    from the context (() ~ Const a1)
-      bound by a pattern with constructor
-                 T :: forall a. a -> T (Const a),
-               in a case alternative
-      at GADTwrong1.hs:12:12-14
-      `a1' is a rigid type variable bound by
-           a pattern with constructor
-             T :: forall a. a -> T (Const a),
-           in a case alternative
-           at GADTwrong1.hs:12:12
-      `b' is a rigid type variable bound by
-          the type signature for coerce :: a -> b at GADTwrong1.hs:10:20
-    Relevant bindings include
-      coerce :: a -> b (bound at GADTwrong1.hs:11:1)
-      y :: a1 (bound at GADTwrong1.hs:12:14)
-    In the expression: y
-    In a case alternative: T y -> y
-    In the expression: case T x :: T (Const b) of { T y -> y }
+
+GADTwrong1.hs:12:19:
+    Could not deduce (a1 ~ b)
+    from the context (() ~ Const a1)
+      bound by a pattern with constructor
+                 T :: forall a. a -> T (Const a),
+               in a case alternative
+      at GADTwrong1.hs:12:12-14
+      ‛a1’ is a rigid type variable bound by
+           a pattern with constructor
+             T :: forall a. a -> T (Const a),
+           in a case alternative
+           at GADTwrong1.hs:12:12
+      ‛b’ is a rigid type variable bound by
+          the type signature for coerce :: a -> b at GADTwrong1.hs:10:20
+    Relevant bindings include
+      coerce :: a -> b (bound at GADTwrong1.hs:11:1)
+      y :: a1 (bound at GADTwrong1.hs:12:14)
+    In the expression: y
+    In a case alternative: T y -> y
+    In the expression: case T x :: T (Const b) of { T y -> y }
diff --git a/testsuite/tests/indexed-types/should_fail/NoMatchErr.stderr b/testsuite/tests/indexed-types/should_fail/NoMatchErr.stderr
index 0176ffe2ec85..7f43b5db4e77 100644
--- a/testsuite/tests/indexed-types/should_fail/NoMatchErr.stderr
+++ b/testsuite/tests/indexed-types/should_fail/NoMatchErr.stderr
@@ -1,13 +1,13 @@
-
-NoMatchErr.hs:19:7:
-    Could not deduce (Memo d0 ~ Memo d)
-    from the context (Fun d)
-      bound by the type signature for f :: Fun d => Memo d a -> Memo d a
-      at NoMatchErr.hs:19:7-37
-    NB: `Memo' is a type function, and may not be injective
-    The type variable `d0' is ambiguous
-    Expected type: Memo d a -> Memo d a
-      Actual type: Memo d0 a -> Memo d0 a
-    In the ambiguity check for:
-      forall d a. Fun d => Memo d a -> Memo d a
-    In the type signature for `f': f :: Fun d => Memo d a -> Memo d a
+
+NoMatchErr.hs:19:7:
+    Could not deduce (Memo d0 ~ Memo d)
+    from the context (Fun d)
+      bound by the type signature for f :: Fun d => Memo d a -> Memo d a
+      at NoMatchErr.hs:19:7-37
+    NB: ‛Memo’ is a type function, and may not be injective
+    The type variable ‛d0’ is ambiguous
+    Expected type: Memo d a -> Memo d a
+      Actual type: Memo d0 a -> Memo d0 a
+    In the ambiguity check for:
+      forall d a. Fun d => Memo d a -> Memo d a
+    In the type signature for ‛f’: f :: Fun d => Memo d a -> Memo d a
diff --git a/testsuite/tests/indexed-types/should_fail/NotRelaxedExamples.stderr b/testsuite/tests/indexed-types/should_fail/NotRelaxedExamples.stderr
index d08570a06b5b..e56025a90891 100644
--- a/testsuite/tests/indexed-types/should_fail/NotRelaxedExamples.stderr
+++ b/testsuite/tests/indexed-types/should_fail/NotRelaxedExamples.stderr
@@ -1,18 +1,18 @@
-
-NotRelaxedExamples.hs:9:15:
-    Nested type family application
-      in the type family application: F1 (F1 Char)
-    (Use -XUndecidableInstances to permit this)
-    In the type instance declaration for `F1'
-
-NotRelaxedExamples.hs:10:15:
-    Application is no smaller than the instance head
-      in the type family application: F2 [x]
-    (Use -XUndecidableInstances to permit this)
-    In the type instance declaration for `F2'
-
-NotRelaxedExamples.hs:11:15:
-    Application is no smaller than the instance head
-      in the type family application: F3 [Char]
-    (Use -XUndecidableInstances to permit this)
-    In the type instance declaration for `F3'
+
+NotRelaxedExamples.hs:9:15:
+    Nested type family application
+      in the type family application: F1 (F1 Char)
+    (Use -XUndecidableInstances to permit this)
+    In the type instance declaration for ‛F1’
+
+NotRelaxedExamples.hs:10:15:
+    Application is no smaller than the instance head
+      in the type family application: F2 [x]
+    (Use -XUndecidableInstances to permit this)
+    In the type instance declaration for ‛F2’
+
+NotRelaxedExamples.hs:11:15:
+    Application is no smaller than the instance head
+      in the type family application: F3 [Char]
+    (Use -XUndecidableInstances to permit this)
+    In the type instance declaration for ‛F3’
diff --git a/testsuite/tests/indexed-types/should_fail/Overlap10.stderr b/testsuite/tests/indexed-types/should_fail/Overlap10.stderr
index 63fa4d9c38a6..342cbe4bca9f 100644
--- a/testsuite/tests/indexed-types/should_fail/Overlap10.stderr
+++ b/testsuite/tests/indexed-types/should_fail/Overlap10.stderr
@@ -1,8 +1,8 @@
-
-Overlap10.hs:11:7:
-    Couldn't match expected type `F a Bool' with actual type `Bool'
-    Relevant bindings include
-      g :: a -> F a Bool (bound at Overlap10.hs:11:1)
-      x :: a (bound at Overlap10.hs:11:3)
-    In the expression: False
-    In an equation for `g': g x = False
+
+Overlap10.hs:11:7:
+    Couldn't match expected type ‛F a Bool’ with actual type ‛Bool’
+    Relevant bindings include
+      g :: a -> F a Bool (bound at Overlap10.hs:11:1)
+      x :: a (bound at Overlap10.hs:11:3)
+    In the expression: False
+    In an equation for ‛g’: g x = False
diff --git a/testsuite/tests/indexed-types/should_fail/Overlap11.stderr b/testsuite/tests/indexed-types/should_fail/Overlap11.stderr
index 929ce34603aa..476ae6c2fbc3 100644
--- a/testsuite/tests/indexed-types/should_fail/Overlap11.stderr
+++ b/testsuite/tests/indexed-types/should_fail/Overlap11.stderr
@@ -1,8 +1,8 @@
-
-Overlap11.hs:11:8:
-    Couldn't match expected type `F a Int' with actual type `Int'
-    Relevant bindings include
-      g :: a -> F a Int (bound at Overlap11.hs:11:1)
-      x :: a (bound at Overlap11.hs:11:3)
-    In the expression: (5 :: Int)
-    In an equation for `g': g x = (5 :: Int)
+
+Overlap11.hs:11:8:
+    Couldn't match expected type ‛F a Int’ with actual type ‛Int’
+    Relevant bindings include
+      g :: a -> F a Int (bound at Overlap11.hs:11:1)
+      x :: a (bound at Overlap11.hs:11:3)
+    In the expression: (5 :: Int)
+    In an equation for ‛g’: g x = (5 :: Int)
diff --git a/testsuite/tests/indexed-types/should_fail/Overlap5.stderr b/testsuite/tests/indexed-types/should_fail/Overlap5.stderr
index 329d410fdb85..0413002ab521 100644
--- a/testsuite/tests/indexed-types/should_fail/Overlap5.stderr
+++ b/testsuite/tests/indexed-types/should_fail/Overlap5.stderr
@@ -1,7 +1,7 @@
 
 Overlap5.hs:16:7:
-    Couldn't match type `x' with `And x 'True'
-      `x' is a rigid type variable bound by
+    Couldn't match type ‛x’ with ‛And x 'True’
+      ‛x’ is a rigid type variable bound by
           the type signature for
             g :: Proxy Bool x -> Proxy Bool (And x 'True)
           at Overlap5.hs:15:6
@@ -12,11 +12,11 @@ Overlap5.hs:16:7:
         (bound at Overlap5.hs:16:1)
       x :: Proxy Bool x (bound at Overlap5.hs:16:3)
     In the expression: x
-    In an equation for `g': g x = x
+    In an equation for ‛g’: g x = x
 
 Overlap5.hs:19:7:
-    Couldn't match type `x' with `And x x'
-      `x' is a rigid type variable bound by
+    Couldn't match type ‛x’ with ‛And x x’
+      ‛x’ is a rigid type variable bound by
           the type signature for h :: Proxy Bool x -> Proxy Bool (And x x)
           at Overlap5.hs:18:6
     Expected type: Proxy Bool (And x x)
@@ -26,4 +26,4 @@ Overlap5.hs:19:7:
         (bound at Overlap5.hs:19:1)
       x :: Proxy Bool x (bound at Overlap5.hs:19:3)
     In the expression: x
-    In an equation for `h': h x = x
+    In an equation for ‛h’: h x = x
diff --git a/testsuite/tests/indexed-types/should_fail/Overlap6.stderr b/testsuite/tests/indexed-types/should_fail/Overlap6.stderr
index 8149e2d9234e..c59a1ab72d13 100644
--- a/testsuite/tests/indexed-types/should_fail/Overlap6.stderr
+++ b/testsuite/tests/indexed-types/should_fail/Overlap6.stderr
@@ -1,7 +1,7 @@
 
 Overlap6.hs:16:7:
-    Couldn't match type `x' with `And x 'True'
-      `x' is a rigid type variable bound by
+    Couldn't match type ‛x’ with ‛And x 'True’
+      ‛x’ is a rigid type variable bound by
           the type signature for
             g :: Proxy Bool x -> Proxy Bool (And x 'True)
           at Overlap6.hs:15:6
@@ -12,4 +12,4 @@ Overlap6.hs:16:7:
         (bound at Overlap6.hs:16:1)
       x :: Proxy Bool x (bound at Overlap6.hs:16:3)
     In the expression: x
-    In an equation for `g': g x = x
+    In an equation for ‛g’: g x = x
diff --git a/testsuite/tests/indexed-types/should_fail/Overlap9.stderr b/testsuite/tests/indexed-types/should_fail/Overlap9.stderr
index d70a76c8ef62..97c59c2a8762 100644
--- a/testsuite/tests/indexed-types/should_fail/Overlap9.stderr
+++ b/testsuite/tests/indexed-types/should_fail/Overlap9.stderr
@@ -7,6 +7,6 @@ Overlap9.hs:11:7:
     Relevant bindings include
       g :: a -> F a (bound at Overlap9.hs:11:1)
       x :: a (bound at Overlap9.hs:11:3)
-    In the return type of a call of `length'
+    In the return type of a call of ‛length’
     In the expression: length (show x)
-    In an equation for `g': g x = length (show x)
+    In an equation for ‛g’: g x = length (show x)
diff --git a/testsuite/tests/indexed-types/should_fail/SimpleFail12.stderr b/testsuite/tests/indexed-types/should_fail/SimpleFail12.stderr
index 93eabd618a7c..e93b4f4d1ef5 100644
--- a/testsuite/tests/indexed-types/should_fail/SimpleFail12.stderr
+++ b/testsuite/tests/indexed-types/should_fail/SimpleFail12.stderr
@@ -1,4 +1,4 @@
-
-SimpleFail12.hs:8:15:
-    Illegal polymorphic or qualified type: forall a. [a]
-    In the type instance declaration for `C'
+
+SimpleFail12.hs:8:15:
+    Illegal polymorphic or qualified type: forall a. [a]
+    In the type instance declaration for ‛C’
diff --git a/testsuite/tests/indexed-types/should_fail/SimpleFail13.stderr b/testsuite/tests/indexed-types/should_fail/SimpleFail13.stderr
index a927fec6f5e0..a31dda6b8ba1 100644
--- a/testsuite/tests/indexed-types/should_fail/SimpleFail13.stderr
+++ b/testsuite/tests/indexed-types/should_fail/SimpleFail13.stderr
@@ -1,8 +1,8 @@
-
-SimpleFail13.hs:9:1:
-    Illegal type synonym family application in instance: [C a]
-    In the data instance declaration for `D'
-
-SimpleFail13.hs:13:15:
-    Illegal type synonym family application in instance: [C a]
-    In the type instance declaration for `E'
+
+SimpleFail13.hs:9:1:
+    Illegal type synonym family application in instance: [C a]
+    In the data instance declaration for ‛D’
+
+SimpleFail13.hs:13:15:
+    Illegal type synonym family application in instance: [C a]
+    In the type instance declaration for ‛E’
diff --git a/testsuite/tests/indexed-types/should_fail/SimpleFail14.stderr b/testsuite/tests/indexed-types/should_fail/SimpleFail14.stderr
index 14f078d59a5a..b6015046f70d 100644
--- a/testsuite/tests/indexed-types/should_fail/SimpleFail14.stderr
+++ b/testsuite/tests/indexed-types/should_fail/SimpleFail14.stderr
@@ -1,6 +1,6 @@
-
-SimpleFail14.hs:5:15:
-    Expected a type, but `a ~ a' has kind `Constraint'
-    In the type `a ~ a'
-    In the definition of data constructor `T'
-    In the data declaration for `T'
+
+SimpleFail14.hs:5:15:
+    Expected a type, but ‛a ~ a’ has kind ‛Constraint’
+    In the type ‛a ~ a’
+    In the definition of data constructor ‛T’
+    In the data declaration for ‛T’
diff --git a/testsuite/tests/indexed-types/should_fail/SimpleFail15.stderr b/testsuite/tests/indexed-types/should_fail/SimpleFail15.stderr
index e2b7bba31450..d5c1c7fb540f 100644
--- a/testsuite/tests/indexed-types/should_fail/SimpleFail15.stderr
+++ b/testsuite/tests/indexed-types/should_fail/SimpleFail15.stderr
@@ -2,5 +2,5 @@
 SimpleFail15.hs:5:8:
     Illegal polymorphic or qualified type: a ~ b => t
     Perhaps you intended to use -XRankNTypes or -XRank2Types
-    In the type signature for `foo':
+    In the type signature for ‛foo’:
       foo :: (a, b) -> (a ~ b => t) -> (a, b)
diff --git a/testsuite/tests/indexed-types/should_fail/SimpleFail16.stderr b/testsuite/tests/indexed-types/should_fail/SimpleFail16.stderr
index 3ad3cc770705..1e50ae1c3c96 100644
--- a/testsuite/tests/indexed-types/should_fail/SimpleFail16.stderr
+++ b/testsuite/tests/indexed-types/should_fail/SimpleFail16.stderr
@@ -1,9 +1,9 @@
-
-SimpleFail16.hs:10:12:
-    Couldn't match expected type `p0 a0' with actual type `F ()'
-    The type variables `p0', `a0' are ambiguous
-    Relevant bindings include
-      bar :: p0 a0 (bound at SimpleFail16.hs:10:1)
-    In the first argument of `foo', namely `(undefined :: F ())'
-    In the expression: foo (undefined :: F ())
-    In an equation for `bar': bar = foo (undefined :: F ())
+
+SimpleFail16.hs:10:12:
+    Couldn't match expected type ‛p0 a0’ with actual type ‛F ()’
+    The type variables ‛p0’, ‛a0’ are ambiguous
+    Relevant bindings include
+      bar :: p0 a0 (bound at SimpleFail16.hs:10:1)
+    In the first argument of ‛foo’, namely ‛(undefined :: F ())’
+    In the expression: foo (undefined :: F ())
+    In an equation for ‛bar’: bar = foo (undefined :: F ())
diff --git a/testsuite/tests/indexed-types/should_fail/SimpleFail1a.stderr b/testsuite/tests/indexed-types/should_fail/SimpleFail1a.stderr
index ba950b41f141..7108a5ba732b 100644
--- a/testsuite/tests/indexed-types/should_fail/SimpleFail1a.stderr
+++ b/testsuite/tests/indexed-types/should_fail/SimpleFail1a.stderr
@@ -1,4 +1,4 @@
-
-SimpleFail1a.hs:4:1:
-    Number of parameters must match family declaration; expected 2
-    In the data instance declaration for `T1'
+
+SimpleFail1a.hs:4:1:
+    Number of parameters must match family declaration; expected 2
+    In the data instance declaration for ‛T1’
diff --git a/testsuite/tests/indexed-types/should_fail/SimpleFail1b.stderr b/testsuite/tests/indexed-types/should_fail/SimpleFail1b.stderr
index 8becc3e8fc94..a65a50d2c2e9 100644
--- a/testsuite/tests/indexed-types/should_fail/SimpleFail1b.stderr
+++ b/testsuite/tests/indexed-types/should_fail/SimpleFail1b.stderr
@@ -1,4 +1,4 @@
-
-SimpleFail1b.hs:4:1:
-    Number of parameters must match family declaration; expected 2
-    In the data instance declaration for `T1'
+
+SimpleFail1b.hs:4:1:
+    Number of parameters must match family declaration; expected 2
+    In the data instance declaration for ‛T1’
diff --git a/testsuite/tests/indexed-types/should_fail/SimpleFail2a.stderr b/testsuite/tests/indexed-types/should_fail/SimpleFail2a.stderr
index c8ac4513dd74..5d058756a308 100644
--- a/testsuite/tests/indexed-types/should_fail/SimpleFail2a.stderr
+++ b/testsuite/tests/indexed-types/should_fail/SimpleFail2a.stderr
@@ -1,6 +1,6 @@
 
 SimpleFail2a.hs:11:3:
     Type indexes must match class instance head
-    Found `a' but expected `Int'
-    In the data instance declaration for `Sd'
-    In the instance declaration for `C Int'
+    Found ‛a’ but expected ‛Int’
+    In the data instance declaration for ‛Sd’
+    In the instance declaration for ‛C Int’
diff --git a/testsuite/tests/indexed-types/should_fail/SimpleFail3a.stderr b/testsuite/tests/indexed-types/should_fail/SimpleFail3a.stderr
index 164351a01f02..cdf425131860 100644
--- a/testsuite/tests/indexed-types/should_fail/SimpleFail3a.stderr
+++ b/testsuite/tests/indexed-types/should_fail/SimpleFail3a.stderr
@@ -1,5 +1,5 @@
-
-SimpleFail3a.hs:10:3:
-    Wrong category of family instance; declaration was for a data type
-    In the type instance declaration for `S1'
-    In the instance declaration for `C1 Int'
+
+SimpleFail3a.hs:10:3:
+    Wrong category of family instance; declaration was for a data type
+    In the type instance declaration for ‛S1’
+    In the instance declaration for ‛C1 Int’
diff --git a/testsuite/tests/indexed-types/should_fail/SimpleFail4.stderr b/testsuite/tests/indexed-types/should_fail/SimpleFail4.stderr
index 1eca808bd9cf..b9d99df24381 100644
--- a/testsuite/tests/indexed-types/should_fail/SimpleFail4.stderr
+++ b/testsuite/tests/indexed-types/should_fail/SimpleFail4.stderr
@@ -1,6 +1,6 @@
 
 SimpleFail4.hs:8:8:
     Type indexes must match class instance head
-    Found `Int' but expected `a'
-    In the type synonym instance default declaration for `S2'
-    In the class declaration for `C2'
+    Found ‛Int’ but expected ‛a’
+    In the type synonym instance default declaration for ‛S2’
+    In the class declaration for ‛C2’
diff --git a/testsuite/tests/indexed-types/should_fail/SimpleFail5a.stderr b/testsuite/tests/indexed-types/should_fail/SimpleFail5a.stderr
index 124eb7948e26..8cadf52b497e 100644
--- a/testsuite/tests/indexed-types/should_fail/SimpleFail5a.stderr
+++ b/testsuite/tests/indexed-types/should_fail/SimpleFail5a.stderr
@@ -1,7 +1,7 @@
 
 SimpleFail5a.hs:31:11:
-    Couldn't match type `a' with `Int'
-      `a' is a rigid type variable bound by
+    Couldn't match type ‛a’ with ‛Int’
+      ‛a’ is a rigid type variable bound by
           the type signature for bar3wrong :: S3 a -> a
           at SimpleFail5a.hs:30:14
     Expected type: S3 a
@@ -9,4 +9,4 @@ SimpleFail5a.hs:31:11:
     Relevant bindings include
       bar3wrong :: S3 a -> a (bound at SimpleFail5a.hs:31:1)
     In the pattern: D3Int
-    In an equation for `bar3wrong': bar3wrong D3Int = 1
+    In an equation for ‛bar3wrong’: bar3wrong D3Int = 1
diff --git a/testsuite/tests/indexed-types/should_fail/SimpleFail5b.stderr b/testsuite/tests/indexed-types/should_fail/SimpleFail5b.stderr
index bd28918f150d..2861582d973d 100644
--- a/testsuite/tests/indexed-types/should_fail/SimpleFail5b.stderr
+++ b/testsuite/tests/indexed-types/should_fail/SimpleFail5b.stderr
@@ -1,7 +1,7 @@
 
 SimpleFail5b.hs:31:12:
-    Couldn't match type `Char' with `Int'
+    Couldn't match type ‛Char’ with ‛Int’
     Expected type: S3 Int
       Actual type: S3 Char
     In the pattern: D3Char
-    In an equation for bar3wrong': bar3wrong' D3Char = 'a'
+    In an equation for ‛bar3wrong'’: bar3wrong' D3Char = 'a'
diff --git a/testsuite/tests/indexed-types/should_fail/SimpleFail6.stderr b/testsuite/tests/indexed-types/should_fail/SimpleFail6.stderr
index 679aaf872227..71e9e566680f 100644
--- a/testsuite/tests/indexed-types/should_fail/SimpleFail6.stderr
+++ b/testsuite/tests/indexed-types/should_fail/SimpleFail6.stderr
@@ -1,5 +1,5 @@
 
 SimpleFail6.hs:7:11:
-    Conflicting definitions for `a'
+    Conflicting definitions for ‛a’
     Bound at: SimpleFail6.hs:7:11
               SimpleFail6.hs:7:13
diff --git a/testsuite/tests/indexed-types/should_fail/SimpleFail7.stderr b/testsuite/tests/indexed-types/should_fail/SimpleFail7.stderr
index 59d2413441f6..4778f0dcc319 100644
--- a/testsuite/tests/indexed-types/should_fail/SimpleFail7.stderr
+++ b/testsuite/tests/indexed-types/should_fail/SimpleFail7.stderr
@@ -1,4 +1,4 @@
-
-SimpleFail7.hs:8:1:
-    Associated type `S5' must be inside a class instance
-    In the data instance declaration for `S5'
+
+SimpleFail7.hs:8:1:
+    Associated type ‛S5’ must be inside a class instance
+    In the data instance declaration for ‛S5’
diff --git a/testsuite/tests/indexed-types/should_fail/SimpleFail8.stderr b/testsuite/tests/indexed-types/should_fail/SimpleFail8.stderr
index 421bd53b25af..ae25f9da5668 100644
--- a/testsuite/tests/indexed-types/should_fail/SimpleFail8.stderr
+++ b/testsuite/tests/indexed-types/should_fail/SimpleFail8.stderr
@@ -1,6 +1,6 @@
-
-SimpleFail8.hs:9:8:
-    `Map' is not a (visible) associated type of class `C6'
-
-SimpleFail8.hs:10:8:
-    `S3' is not a (visible) associated type of class `C6'
+
+SimpleFail8.hs:9:8:
+    ‛Map’ is not a (visible) associated type of class ‛C6’
+
+SimpleFail8.hs:10:8:
+    ‛S3’ is not a (visible) associated type of class ‛C6’
diff --git a/testsuite/tests/indexed-types/should_fail/T1897b.stderr b/testsuite/tests/indexed-types/should_fail/T1897b.stderr
index 32bb3cff9fbf..5bb6ef1650fe 100644
--- a/testsuite/tests/indexed-types/should_fail/T1897b.stderr
+++ b/testsuite/tests/indexed-types/should_fail/T1897b.stderr
@@ -1,14 +1,14 @@
-
-T1897b.hs:16:1:
-    Could not deduce (Depend a0 ~ Depend a)
-    from the context (Bug a)
-      bound by the inferred type for `isValid':
-                 Bug a => [Depend a] -> Bool
-      at T1897b.hs:16:1-41
-    NB: `Depend' is a type function, and may not be injective
-    The type variable `a0' is ambiguous
-    Expected type: [Depend a] -> Bool
-      Actual type: [Depend a0] -> Bool
-    When checking that `isValid'
-      has the inferred type `forall a. Bug a => [Depend a] -> Bool'
-    Probable cause: the inferred type is ambiguous
+
+T1897b.hs:16:1:
+    Could not deduce (Depend a0 ~ Depend a)
+    from the context (Bug a)
+      bound by the inferred type for ‛isValid’:
+                 Bug a => [Depend a] -> Bool
+      at T1897b.hs:16:1-41
+    NB: ‛Depend’ is a type function, and may not be injective
+    The type variable ‛a0’ is ambiguous
+    Expected type: [Depend a] -> Bool
+      Actual type: [Depend a0] -> Bool
+    When checking that ‛isValid’
+      has the inferred type ‛forall a. Bug a => [Depend a] -> Bool’
+    Probable cause: the inferred type is ambiguous
diff --git a/testsuite/tests/indexed-types/should_fail/T1900.stderr b/testsuite/tests/indexed-types/should_fail/T1900.stderr
index 6d7eb62e3072..08218a2cafd5 100644
--- a/testsuite/tests/indexed-types/should_fail/T1900.stderr
+++ b/testsuite/tests/indexed-types/should_fail/T1900.stderr
@@ -1,13 +1,13 @@
-
-T1900.hs:13:10:
-    Could not deduce (Depend s0 ~ Depend s)
-    from the context (Bug s)
-      bound by the type signature for check :: Bug s => Depend s -> Bool
-      at T1900.hs:13:10-36
-    NB: `Depend' is a type function, and may not be injective
-    The type variable `s0' is ambiguous
-    Expected type: Depend s -> Bool
-      Actual type: Depend s0 -> Bool
-    In the ambiguity check for: forall s. Bug s => Depend s -> Bool
-    In the type signature for `check':
-      check :: Bug s => Depend s -> Bool
+
+T1900.hs:13:10:
+    Could not deduce (Depend s0 ~ Depend s)
+    from the context (Bug s)
+      bound by the type signature for check :: Bug s => Depend s -> Bool
+      at T1900.hs:13:10-36
+    NB: ‛Depend’ is a type function, and may not be injective
+    The type variable ‛s0’ is ambiguous
+    Expected type: Depend s -> Bool
+      Actual type: Depend s0 -> Bool
+    In the ambiguity check for: forall s. Bug s => Depend s -> Bool
+    In the type signature for ‛check’:
+      check :: Bug s => Depend s -> Bool
diff --git a/testsuite/tests/indexed-types/should_fail/T2157.stderr b/testsuite/tests/indexed-types/should_fail/T2157.stderr
index 44f0a2436f8c..0f6f272de979 100644
--- a/testsuite/tests/indexed-types/should_fail/T2157.stderr
+++ b/testsuite/tests/indexed-types/should_fail/T2157.stderr
@@ -1,4 +1,4 @@
-
-T2157.hs:7:15:
-    Type synonym `S' should have 2 arguments, but has been given 1
-    In the type instance declaration for `F'
+
+T2157.hs:7:15:
+    Type synonym ‛S’ should have 2 arguments, but has been given 1
+    In the type instance declaration for ‛F’
diff --git a/testsuite/tests/indexed-types/should_fail/T2203a.stderr b/testsuite/tests/indexed-types/should_fail/T2203a.stderr
index cd12f6a7beda..67390f298f19 100644
--- a/testsuite/tests/indexed-types/should_fail/T2203a.stderr
+++ b/testsuite/tests/indexed-types/should_fail/T2203a.stderr
@@ -1,5 +1,5 @@
 
 T2203a.hs:13:19:
     Illegal type synonym family application in instance:
-        Either a (TheFoo a)
-    In the instance declaration for `Bar (Either a (TheFoo a))'
+      Either a (TheFoo a)
+    In the instance declaration for ‛Bar (Either a (TheFoo a))’
diff --git a/testsuite/tests/indexed-types/should_fail/T2239.stderr b/testsuite/tests/indexed-types/should_fail/T2239.stderr
index 5c0403c6f075..b322d9f06d3c 100644
--- a/testsuite/tests/indexed-types/should_fail/T2239.stderr
+++ b/testsuite/tests/indexed-types/should_fail/T2239.stderr
@@ -1,28 +1,28 @@
-
-T2239.hs:47:13:
-    Couldn't match type `b -> b'
-                  with `forall b1. MyEq b1 Bool => b1 -> b1'
-    Expected type: (forall b1. MyEq b1 Bool => b1 -> b1) -> b -> b
-      Actual type: (b -> b) -> b -> b
-    In the expression:
-        id ::
-          (forall b. MyEq b Bool => b -> b)
-          -> (forall b. MyEq b Bool => b -> b)
-    In an equation for `complexFD':
-        complexFD
-          = id ::
-              (forall b. MyEq b Bool => b -> b)
-              -> (forall b. MyEq b Bool => b -> b)
-
-T2239.hs:50:13:
-    Couldn't match type `Bool -> Bool'
-                  with `forall b1. b1 ~ Bool => b1 -> b1'
-    Expected type: (forall b1. b1 ~ Bool => b1 -> b1) -> b -> b
-      Actual type: (b -> b) -> b -> b
-    In the expression:
-        id ::
-          (forall b. b ~ Bool => b -> b) -> (forall b. b ~ Bool => b -> b)
-    In an equation for `complexTF':
-        complexTF
-          = id ::
-              (forall b. b ~ Bool => b -> b) -> (forall b. b ~ Bool => b -> b)
+
+T2239.hs:47:13:
+    Couldn't match type ‛b -> b’
+                  with ‛forall b1. MyEq b1 Bool => b1 -> b1’
+    Expected type: (forall b1. MyEq b1 Bool => b1 -> b1) -> b -> b
+      Actual type: (b -> b) -> b -> b
+    In the expression:
+        id ::
+          (forall b. MyEq b Bool => b -> b)
+          -> (forall b. MyEq b Bool => b -> b)
+    In an equation for ‛complexFD’:
+        complexFD
+          = id ::
+              (forall b. MyEq b Bool => b -> b)
+              -> (forall b. MyEq b Bool => b -> b)
+
+T2239.hs:50:13:
+    Couldn't match type ‛Bool -> Bool’
+                  with ‛forall b1. b1 ~ Bool => b1 -> b1’
+    Expected type: (forall b1. b1 ~ Bool => b1 -> b1) -> b -> b
+      Actual type: (b -> b) -> b -> b
+    In the expression:
+        id ::
+          (forall b. b ~ Bool => b -> b) -> (forall b. b ~ Bool => b -> b)
+    In an equation for ‛complexTF’:
+        complexTF
+          = id ::
+              (forall b. b ~ Bool => b -> b) -> (forall b. b ~ Bool => b -> b)
diff --git a/testsuite/tests/indexed-types/should_fail/T2334A.stderr b/testsuite/tests/indexed-types/should_fail/T2334A.stderr
index 16ad7b047e8d..ff4e35206f45 100644
--- a/testsuite/tests/indexed-types/should_fail/T2334A.stderr
+++ b/testsuite/tests/indexed-types/should_fail/T2334A.stderr
@@ -1,15 +1,15 @@
 
 T2334A.hs:9:26:
     The constructor of a newtype must have exactly one field
-      but `F' has two
-    In the definition of data constructor `F'
-    In the newtype instance declaration for `F'
+      but ‛F’ has two
+    In the definition of data constructor ‛F’
+    In the newtype instance declaration for ‛F’
 
 T2334A.hs:10:27:
     The constructor of a newtype must have exactly one field
-      but `H' has none
-    In the definition of data constructor `H'
-    In the newtype instance declaration for `F'
+      but ‛H’ has none
+    In the definition of data constructor ‛H’
+    In the newtype instance declaration for ‛F’
 
 T2334A.hs:12:15:
     Conflicting family instance declarations:
diff --git a/testsuite/tests/indexed-types/should_fail/T2544.stderr b/testsuite/tests/indexed-types/should_fail/T2544.stderr
index fae7cbf2849f..33e36a0aa594 100644
--- a/testsuite/tests/indexed-types/should_fail/T2544.stderr
+++ b/testsuite/tests/indexed-types/should_fail/T2544.stderr
@@ -1,28 +1,28 @@
-
-T2544.hs:15:18:
-    Could not deduce (IxMap i0 ~ IxMap l)
-    from the context (Ix l, Ix r)
-      bound by the instance declaration at T2544.hs:13:10-37
-    NB: `IxMap' is a type function, and may not be injective
-    The type variable `i0' is ambiguous
-    Expected type: IxMap l [Int]
-      Actual type: IxMap i0 [Int]
-    Relevant bindings include
-      empty :: IxMap (l :|: r) [Int] (bound at T2544.hs:15:4)
-    In the first argument of `BiApp', namely `empty'
-    In the expression: BiApp empty empty
-    In an equation for `empty': empty = BiApp empty empty
-
-T2544.hs:15:24:
-    Could not deduce (IxMap i1 ~ IxMap r)
-    from the context (Ix l, Ix r)
-      bound by the instance declaration at T2544.hs:13:10-37
-    NB: `IxMap' is a type function, and may not be injective
-    The type variable `i1' is ambiguous
-    Expected type: IxMap r [Int]
-      Actual type: IxMap i1 [Int]
-    Relevant bindings include
-      empty :: IxMap (l :|: r) [Int] (bound at T2544.hs:15:4)
-    In the second argument of `BiApp', namely `empty'
-    In the expression: BiApp empty empty
-    In an equation for `empty': empty = BiApp empty empty
+
+T2544.hs:15:18:
+    Could not deduce (IxMap i0 ~ IxMap l)
+    from the context (Ix l, Ix r)
+      bound by the instance declaration at T2544.hs:13:10-37
+    NB: ‛IxMap’ is a type function, and may not be injective
+    The type variable ‛i0’ is ambiguous
+    Expected type: IxMap l [Int]
+      Actual type: IxMap i0 [Int]
+    Relevant bindings include
+      empty :: IxMap (l :|: r) [Int] (bound at T2544.hs:15:4)
+    In the first argument of ‛BiApp’, namely ‛empty’
+    In the expression: BiApp empty empty
+    In an equation for ‛empty’: empty = BiApp empty empty
+
+T2544.hs:15:24:
+    Could not deduce (IxMap i1 ~ IxMap r)
+    from the context (Ix l, Ix r)
+      bound by the instance declaration at T2544.hs:13:10-37
+    NB: ‛IxMap’ is a type function, and may not be injective
+    The type variable ‛i1’ is ambiguous
+    Expected type: IxMap r [Int]
+      Actual type: IxMap i1 [Int]
+    Relevant bindings include
+      empty :: IxMap (l :|: r) [Int] (bound at T2544.hs:15:4)
+    In the second argument of ‛BiApp’, namely ‛empty’
+    In the expression: BiApp empty empty
+    In an equation for ‛empty’: empty = BiApp empty empty
diff --git a/testsuite/tests/indexed-types/should_fail/T2627b.stderr b/testsuite/tests/indexed-types/should_fail/T2627b.stderr
index 871d455ea8c9..61399d02ddf2 100644
--- a/testsuite/tests/indexed-types/should_fail/T2627b.stderr
+++ b/testsuite/tests/indexed-types/should_fail/T2627b.stderr
@@ -1,8 +1,8 @@
-
-T2627b.hs:20:24:
-    Occurs check: cannot construct the infinite type:
-      a0 ~ Dual (Dual a0)
-    The type variable `a0' is ambiguous
-    In the expression: conn undefined undefined
-    In an equation for `conn':
-        conn (Rd k) (Wr a r) = conn undefined undefined
+
+T2627b.hs:20:24:
+    Occurs check: cannot construct the infinite type:
+      a0 ~ Dual (Dual a0)
+    The type variable ‛a0’ is ambiguous
+    In the expression: conn undefined undefined
+    In an equation for ‛conn’:
+        conn (Rd k) (Wr a r) = conn undefined undefined
diff --git a/testsuite/tests/indexed-types/should_fail/T2664.stderr b/testsuite/tests/indexed-types/should_fail/T2664.stderr
index f3996d914649..4982410ca919 100644
--- a/testsuite/tests/indexed-types/should_fail/T2664.stderr
+++ b/testsuite/tests/indexed-types/should_fail/T2664.stderr
@@ -1,23 +1,23 @@
-
-T2664.hs:31:52:
-    Could not deduce (b ~ a)
-    from the context (Connect a, Connect b)
-      bound by the instance declaration at T2664.hs:22:10-52
-    or from ((a :*: b) ~ Dual c, c ~ Dual (a :*: b))
-      bound by the type signature for
-                 newPChan :: ((a :*: b) ~ Dual c, c ~ Dual (a :*: b)) =>
-                             IO (PChan (a :*: b), PChan c)
-      at T2664.hs:23:5-12
-      `b' is a rigid type variable bound by
-          the instance declaration at T2664.hs:22:10
-      `a' is a rigid type variable bound by
-          the instance declaration at T2664.hs:22:10
-    Expected type: Dual (Dual a)
-      Actual type: b
-    Relevant bindings include
-      newPChan :: IO (PChan (a :*: b), PChan c) (bound at T2664.hs:23:5)
-      v :: MVar (Either (PChan a) (PChan b)) (bound at T2664.hs:24:9)
-    In the third argument of `pchoose', namely `newPChan'
-    In the first argument of `E', namely `(pchoose Right v newPChan)'
-    In the expression:
-      E (pchoose Right v newPChan) (pchoose Left v newPChan)
+
+T2664.hs:31:52:
+    Could not deduce (b ~ a)
+    from the context (Connect a, Connect b)
+      bound by the instance declaration at T2664.hs:22:10-52
+    or from ((a :*: b) ~ Dual c, c ~ Dual (a :*: b))
+      bound by the type signature for
+                 newPChan :: ((a :*: b) ~ Dual c, c ~ Dual (a :*: b)) =>
+                             IO (PChan (a :*: b), PChan c)
+      at T2664.hs:23:5-12
+      ‛b’ is a rigid type variable bound by
+          the instance declaration at T2664.hs:22:10
+      ‛a’ is a rigid type variable bound by
+          the instance declaration at T2664.hs:22:10
+    Expected type: Dual (Dual a)
+      Actual type: b
+    Relevant bindings include
+      newPChan :: IO (PChan (a :*: b), PChan c) (bound at T2664.hs:23:5)
+      v :: MVar (Either (PChan a) (PChan b)) (bound at T2664.hs:24:9)
+    In the third argument of ‛pchoose’, namely ‛newPChan’
+    In the first argument of ‛E’, namely ‛(pchoose Right v newPChan)’
+    In the expression:
+      E (pchoose Right v newPChan) (pchoose Left v newPChan)
diff --git a/testsuite/tests/indexed-types/should_fail/T2693.stderr b/testsuite/tests/indexed-types/should_fail/T2693.stderr
index 4427018fd044..8c02ea263de9 100644
--- a/testsuite/tests/indexed-types/should_fail/T2693.stderr
+++ b/testsuite/tests/indexed-types/should_fail/T2693.stderr
@@ -1,43 +1,43 @@
-
-T2693.hs:11:7:
-    Couldn't match expected type `TFn a' with actual type `TFn a0'
-    NB: `TFn' is a type function, and may not be injective
-    The type variable `a0' is ambiguous
-    When checking that `x' has the inferred type `forall a. TFn a'
-    Probable cause: the inferred type is ambiguous
-    In the expression:
-      do { let Just x = ...;
-           let n = fst x + fst x;
-           return () }
-    In an equation for `f':
-        f = do { let Just x = ...;
-                 let n = ...;
-                 return () }
-
-T2693.hs:19:15:
-    Couldn't match expected type `(a2, b0)' with actual type `TFn a3'
-    The type variables `a2', `b0', `a3' are ambiguous
-    Relevant bindings include n :: a2 (bound at T2693.hs:19:7)
-    In the first argument of `fst', namely `x'
-    In the first argument of `(+)', namely `fst x'
-    In the expression: fst x + snd x
-
-T2693.hs:19:23:
-    Couldn't match expected type `(a4, a2)' with actual type `TFn a5'
-    The type variables `a2', `a4', `a5' are ambiguous
-    Relevant bindings include n :: a2 (bound at T2693.hs:19:7)
-    In the first argument of `snd', namely `x'
-    In the second argument of `(+)', namely `snd x'
-    In the expression: fst x + snd x
-
-T2693.hs:29:20:
-    Couldn't match type `TFn a0' with `PVR a1'
-    The type variables `a0', `a1' are ambiguous
-    Expected type: () -> Maybe (PVR a1)
-      Actual type: () -> Maybe (TFn a0)
-    In the first argument of `mapM', namely `g'
-    In a stmt of a 'do' block: pvs <- mapM g undefined
-    In the expression:
-      do { pvs <- mapM g undefined;
-           let n = (map pvrX pvs) `min` (map pvrX pvs);
-           undefined }
+
+T2693.hs:11:7:
+    Couldn't match expected type ‛TFn a’ with actual type ‛TFn a0’
+    NB: ‛TFn’ is a type function, and may not be injective
+    The type variable ‛a0’ is ambiguous
+    When checking that ‛x’ has the inferred type ‛forall a. TFn a’
+    Probable cause: the inferred type is ambiguous
+    In the expression:
+      do { let Just x = ...;
+           let n = fst x + fst x;
+           return () }
+    In an equation for ‛f’:
+        f = do { let Just x = ...;
+                 let n = ...;
+                 return () }
+
+T2693.hs:19:15:
+    Couldn't match expected type ‛(a2, b0)’ with actual type ‛TFn a3’
+    The type variables ‛a2’, ‛b0’, ‛a3’ are ambiguous
+    Relevant bindings include n :: a2 (bound at T2693.hs:19:7)
+    In the first argument of ‛fst’, namely ‛x’
+    In the first argument of ‛(+)’, namely ‛fst x’
+    In the expression: fst x + snd x
+
+T2693.hs:19:23:
+    Couldn't match expected type ‛(a4, a2)’ with actual type ‛TFn a5’
+    The type variables ‛a2’, ‛a4’, ‛a5’ are ambiguous
+    Relevant bindings include n :: a2 (bound at T2693.hs:19:7)
+    In the first argument of ‛snd’, namely ‛x’
+    In the second argument of ‛(+)’, namely ‛snd x’
+    In the expression: fst x + snd x
+
+T2693.hs:29:20:
+    Couldn't match type ‛TFn a0’ with ‛PVR a1’
+    The type variables ‛a0’, ‛a1’ are ambiguous
+    Expected type: () -> Maybe (PVR a1)
+      Actual type: () -> Maybe (TFn a0)
+    In the first argument of ‛mapM’, namely ‛g’
+    In a stmt of a 'do' block: pvs <- mapM g undefined
+    In the expression:
+      do { pvs <- mapM g undefined;
+           let n = (map pvrX pvs) `min` (map pvrX pvs);
+           undefined }
diff --git a/testsuite/tests/indexed-types/should_fail/T3092.stderr b/testsuite/tests/indexed-types/should_fail/T3092.stderr
index f45e35580ad2..436db19f8183 100644
--- a/testsuite/tests/indexed-types/should_fail/T3092.stderr
+++ b/testsuite/tests/indexed-types/should_fail/T3092.stderr
@@ -1,10 +1,10 @@
-
-T3092.hs:5:1:
-    Illegal family instance for `T'
-      (T is not an indexed type family)
-    In the data instance declaration for `T'
-
-T3092.hs:8:1:
-    Illegal family instance for `S'
-      (S is not an indexed type family)
-    In the type instance declaration for `S'
+
+T3092.hs:5:1:
+    Illegal family instance for ‛T’
+      (T is not an indexed type family)
+    In the data instance declaration for ‛T’
+
+T3092.hs:8:1:
+    Illegal family instance for ‛S’
+      (S is not an indexed type family)
+    In the type instance declaration for ‛S’
diff --git a/testsuite/tests/indexed-types/should_fail/T3330a.stderr b/testsuite/tests/indexed-types/should_fail/T3330a.stderr
index e44ab4d6f70c..9c4fedfa45de 100644
--- a/testsuite/tests/indexed-types/should_fail/T3330a.stderr
+++ b/testsuite/tests/indexed-types/should_fail/T3330a.stderr
@@ -1,8 +1,8 @@
 
 T3330a.hs:19:34:
-    Couldn't match type `ix'
-                  with `r ix1 -> Writer [AnyF ((->) (s0 ix0 -> ix1))] (r'0 ix1)'
-      `ix' is a rigid type variable bound by
+    Couldn't match type ‛ix’
+                  with ‛r ix1 -> Writer [AnyF ((->) (s0 ix0 -> ix1))] (r'0 ix1)’
+      ‛ix’ is a rigid type variable bound by
            the type signature for children :: s ix -> PF s r ix -> [AnyF s]
            at T3330a.hs:18:13
     Expected type: (s0 ix0 -> ix1)
@@ -12,13 +12,13 @@ T3330a.hs:19:34:
       children :: s ix -> PF s r ix -> [AnyF s] (bound at T3330a.hs:19:1)
       p :: s ix (bound at T3330a.hs:19:10)
       x :: PF s r ix (bound at T3330a.hs:19:12)
-    In the first argument of `hmapM', namely `p'
-    In the first argument of `execWriter', namely `(hmapM p collect x)'
+    In the first argument of ‛hmapM’, namely ‛p’
+    In the first argument of ‛execWriter’, namely ‛(hmapM p collect x)’
     In the expression: execWriter (hmapM p collect x)
 
 T3330a.hs:19:34:
-    Couldn't match type `s' with `(->) (s0 ix0 -> ix1)'
-      `s' is a rigid type variable bound by
+    Couldn't match type ‛s’ with ‛(->) (s0 ix0 -> ix1)’
+      ‛s’ is a rigid type variable bound by
           the type signature for children :: s ix -> PF s r ix -> [AnyF s]
           at T3330a.hs:18:13
     Expected type: (s0 ix0 -> ix1)
@@ -28,13 +28,13 @@ T3330a.hs:19:34:
       children :: s ix -> PF s r ix -> [AnyF s] (bound at T3330a.hs:19:1)
       p :: s ix (bound at T3330a.hs:19:10)
       x :: PF s r ix (bound at T3330a.hs:19:12)
-    In the first argument of `hmapM', namely `p'
-    In the first argument of `execWriter', namely `(hmapM p collect x)'
+    In the first argument of ‛hmapM’, namely ‛p’
+    In the first argument of ‛execWriter’, namely ‛(hmapM p collect x)’
     In the expression: execWriter (hmapM p collect x)
 
 T3330a.hs:19:44:
-    Couldn't match type `ix' with `r0 ix0 -> Writer [AnyF s0] (r0 ix0)'
-      `ix' is a rigid type variable bound by
+    Couldn't match type ‛ix’ with ‛r0 ix0 -> Writer [AnyF s0] (r0 ix0)’
+      ‛ix’ is a rigid type variable bound by
            the type signature for children :: s ix -> PF s r ix -> [AnyF s]
            at T3330a.hs:18:13
     Expected type: PF s r (r0 ix0 -> Writer [AnyF s0] (r0 ix0))
@@ -43,6 +43,6 @@ T3330a.hs:19:44:
       children :: s ix -> PF s r ix -> [AnyF s] (bound at T3330a.hs:19:1)
       p :: s ix (bound at T3330a.hs:19:10)
       x :: PF s r ix (bound at T3330a.hs:19:12)
-    In the third argument of `hmapM', namely `x'
-    In the first argument of `execWriter', namely `(hmapM p collect x)'
+    In the third argument of ‛hmapM’, namely ‛x’
+    In the first argument of ‛execWriter’, namely ‛(hmapM p collect x)’
     In the expression: execWriter (hmapM p collect x)
diff --git a/testsuite/tests/indexed-types/should_fail/T3330c.stderr b/testsuite/tests/indexed-types/should_fail/T3330c.stderr
index 8c657c811646..52d6afe3e7ec 100644
--- a/testsuite/tests/indexed-types/should_fail/T3330c.stderr
+++ b/testsuite/tests/indexed-types/should_fail/T3330c.stderr
@@ -1,11 +1,11 @@
 
 T3330c.hs:23:43:
-    Couldn't match kind `*' with `* -> *'
+    Couldn't match kind ‛*’ with ‛* -> *’
     When matching types
       Der ((->) x) :: * -> *
       R :: (* -> *) -> *
     Expected type: Der ((->) x) (f1 x)
       Actual type: R f1
-    In the first argument of `plug', namely `rf'
-    In the first argument of `Inl', namely `(plug rf df x)'
+    In the first argument of ‛plug’, namely ‛rf’
+    In the first argument of ‛Inl’, namely ‛(plug rf df x)’
     In the expression: Inl (plug rf df x)
diff --git a/testsuite/tests/indexed-types/should_fail/T3440.stderr b/testsuite/tests/indexed-types/should_fail/T3440.stderr
index b9f49fa0b941..af8b90fd74c3 100644
--- a/testsuite/tests/indexed-types/should_fail/T3440.stderr
+++ b/testsuite/tests/indexed-types/should_fail/T3440.stderr
@@ -4,14 +4,14 @@ T3440.hs:11:22:
     from the context (Fam a ~ Fam a1)
       bound by a pattern with constructor
                  GADT :: forall a. a -> Fam a -> GADT (Fam a),
-               in an equation for `unwrap'
+               in an equation for ‛unwrap’
       at T3440.hs:11:9-16
-      `a1' is a rigid type variable bound by
+      ‛a1’ is a rigid type variable bound by
            a pattern with constructor
              GADT :: forall a. a -> Fam a -> GADT (Fam a),
-           in an equation for `unwrap'
+           in an equation for ‛unwrap’
            at T3440.hs:11:9
-      `a' is a rigid type variable bound by
+      ‛a’ is a rigid type variable bound by
           the type signature for unwrap :: GADT (Fam a) -> (a, Fam a)
           at T3440.hs:10:11
     Relevant bindings include
@@ -20,4 +20,4 @@ T3440.hs:11:22:
       y :: Fam a1 (bound at T3440.hs:11:16)
     In the expression: x
     In the expression: (x, y)
-    In an equation for `unwrap': unwrap (GADT x y) = (x, y)
+    In an equation for ‛unwrap’: unwrap (GADT x y) = (x, y)
diff --git a/testsuite/tests/indexed-types/should_fail/T4093a.stderr b/testsuite/tests/indexed-types/should_fail/T4093a.stderr
index 5a5ce0826d0c..83578248ae43 100644
--- a/testsuite/tests/indexed-types/should_fail/T4093a.stderr
+++ b/testsuite/tests/indexed-types/should_fail/T4093a.stderr
@@ -4,12 +4,12 @@ T4093a.hs:8:8:
     from the context (Foo e ~ Maybe e)
       bound by the type signature for hang :: Foo e ~ Maybe e => Foo e
       at T4093a.hs:7:9-34
-      `e' is a rigid type variable bound by
+      ‛e’ is a rigid type variable bound by
           the type signature for hang :: Foo e ~ Maybe e => Foo e
           at T4093a.hs:7:9
     Expected type: Foo e
       Actual type: Maybe ()
     Relevant bindings include hang :: Foo e (bound at T4093a.hs:8:1)
-    In the return type of a call of `Just'
+    In the return type of a call of ‛Just’
     In the expression: Just ()
-    In an equation for `hang': hang = Just ()
+    In an equation for ‛hang’: hang = Just ()
diff --git a/testsuite/tests/indexed-types/should_fail/T4093b.stderr b/testsuite/tests/indexed-types/should_fail/T4093b.stderr
index 67f9b7d924d5..b80cf634a8bb 100644
--- a/testsuite/tests/indexed-types/should_fail/T4093b.stderr
+++ b/testsuite/tests/indexed-types/should_fail/T4093b.stderr
@@ -8,7 +8,7 @@ T4093b.hs:31:13:
                                      EitherCO x (A C C n) (A C O n) ~ A C x n) =>
                                     Block n e x -> A e x n
       at T4093b.hs:(20,3)-(22,26)
-      `e' is a rigid type variable bound by
+      ‛e’ is a rigid type variable bound by
           the type signature for
             blockToNodeList :: (EitherCO e (A C O n) (A O O n) ~ A e O n,
                                 EitherCO x (A C C n) (A C O n) ~ A C x n) =>
@@ -26,8 +26,8 @@ T4093b.hs:31:13:
            -> EitherCO e (A C O n) (A O O n) -> EitherCO e (A C O n) (A O O n)
         (bound at T4093b.hs:31:5)
     In the expression: (JustC n, NothingC)
-    In an equation for `f': f n _ = (JustC n, NothingC)
-    In an equation for `blockToNodeList':
+    In an equation for ‛f’: f n _ = (JustC n, NothingC)
+    In an equation for ‛blockToNodeList’:
         blockToNodeList b
           = foldBlockNodesF (f, l) b z
           where
diff --git a/testsuite/tests/indexed-types/should_fail/T4099.stderr b/testsuite/tests/indexed-types/should_fail/T4099.stderr
index 60e379525a6b..312b0b64439e 100644
--- a/testsuite/tests/indexed-types/should_fail/T4099.stderr
+++ b/testsuite/tests/indexed-types/should_fail/T4099.stderr
@@ -1,23 +1,23 @@
-
-T4099.hs:11:30:
-    Couldn't match expected type `T a0' with actual type `T b'
-    NB: `T' is a type function, and may not be injective
-    The type variable `a0' is ambiguous
-    Relevant bindings include
-      bar1 :: b -> T b -> Int (bound at T4099.hs:11:1)
-      a :: b (bound at T4099.hs:11:6)
-      x :: T b (bound at T4099.hs:11:8)
-    In the second argument of `foo', namely `x'
-    In the expression: foo (error "urk") x
-    In an equation for `bar1': bar1 a x = foo (error "urk") x
-
-T4099.hs:14:30:
-    Couldn't match expected type `T a1' with actual type `Maybe b'
-    The type variable `a1' is ambiguous
-    Relevant bindings include
-      bar2 :: b -> Maybe b -> Int (bound at T4099.hs:14:1)
-      a :: b (bound at T4099.hs:14:6)
-      x :: Maybe b (bound at T4099.hs:14:8)
-    In the second argument of `foo', namely `x'
-    In the expression: foo (error "urk") x
-    In an equation for `bar2': bar2 a x = foo (error "urk") x
+
+T4099.hs:11:30:
+    Couldn't match expected type ‛T a0’ with actual type ‛T b’
+    NB: ‛T’ is a type function, and may not be injective
+    The type variable ‛a0’ is ambiguous
+    Relevant bindings include
+      bar1 :: b -> T b -> Int (bound at T4099.hs:11:1)
+      a :: b (bound at T4099.hs:11:6)
+      x :: T b (bound at T4099.hs:11:8)
+    In the second argument of ‛foo’, namely ‛x’
+    In the expression: foo (error "urk") x
+    In an equation for ‛bar1’: bar1 a x = foo (error "urk") x
+
+T4099.hs:14:30:
+    Couldn't match expected type ‛T a1’ with actual type ‛Maybe b’
+    The type variable ‛a1’ is ambiguous
+    Relevant bindings include
+      bar2 :: b -> Maybe b -> Int (bound at T4099.hs:14:1)
+      a :: b (bound at T4099.hs:14:6)
+      x :: Maybe b (bound at T4099.hs:14:8)
+    In the second argument of ‛foo’, namely ‛x’
+    In the expression: foo (error "urk") x
+    In an equation for ‛bar2’: bar2 a x = foo (error "urk") x
diff --git a/testsuite/tests/indexed-types/should_fail/T4174.stderr b/testsuite/tests/indexed-types/should_fail/T4174.stderr
index 81fb603dd8a6..5547b259796d 100644
--- a/testsuite/tests/indexed-types/should_fail/T4174.stderr
+++ b/testsuite/tests/indexed-types/should_fail/T4174.stderr
@@ -1,7 +1,7 @@
 
 T4174.hs:42:12:
-    Couldn't match type `False' with `True'
+    Couldn't match type ‛False’ with ‛True’
     Expected type: True
       Actual type: GHCVersion (WayOf m) :>=: GHC6'10 Minor1
     In the expression: sync_large_objects
-    In an equation for `testcase': testcase = sync_large_objects
+    In an equation for ‛testcase’: testcase = sync_large_objects
diff --git a/testsuite/tests/indexed-types/should_fail/T4179.stderr b/testsuite/tests/indexed-types/should_fail/T4179.stderr
index 7236a50c8811..8f5ded1ffe4d 100644
--- a/testsuite/tests/indexed-types/should_fail/T4179.stderr
+++ b/testsuite/tests/indexed-types/should_fail/T4179.stderr
@@ -7,7 +7,7 @@ T4179.hs:26:16:
                  fCon :: (Functor x, DoC (FCon x)) =>
                          Con x -> A2 (FCon x) -> A3 (FCon x)
       at T4179.hs:25:9-72
-    NB: `A3' is a type function, and may not be injective
+    NB: ‛A3’ is a type function, and may not be injective
     Expected type: x (A2 (FCon x) -> A3 (FCon x))
                    -> A2 (FCon x) -> A3 (FCon x)
       Actual type: x (A2 (FCon x) -> A3 (FCon x))
@@ -16,6 +16,6 @@ T4179.hs:26:16:
     Relevant bindings include
       fCon :: Con x -> A2 (FCon x) -> A3 (FCon x)
         (bound at T4179.hs:26:1)
-    In the first argument of `foldDoC', namely `op'
+    In the first argument of ‛foldDoC’, namely ‛op’
     In the expression: foldDoC op
-    In an equation for `fCon': fCon = foldDoC op
+    In an equation for ‛fCon’: fCon = foldDoC op
diff --git a/testsuite/tests/indexed-types/should_fail/T4272.stderr b/testsuite/tests/indexed-types/should_fail/T4272.stderr
index a4e952556b19..f3dcdbc13d2d 100644
--- a/testsuite/tests/indexed-types/should_fail/T4272.stderr
+++ b/testsuite/tests/indexed-types/should_fail/T4272.stderr
@@ -5,7 +5,7 @@ T4272.hs:15:26:
       bound by the type signature for
                  laws :: TermLike a => TermFamily a a -> b
       at T4272.hs:14:9-53
-      `a' is a rigid type variable bound by
+      ‛a’ is a rigid type variable bound by
           the type signature for laws :: TermLike a => TermFamily a a -> b
           at T4272.hs:14:16
     Expected type: TermFamily a (TermFamily a a)
@@ -13,8 +13,8 @@ T4272.hs:15:26:
     Relevant bindings include
       laws :: TermFamily a a -> b (bound at T4272.hs:15:1)
       t :: TermFamily a a (bound at T4272.hs:15:6)
-    In the first argument of `terms', namely
-      `(undefined :: TermFamily a a)'
-    In the second argument of `prune', namely
-      `(terms (undefined :: TermFamily a a))'
+    In the first argument of ‛terms’, namely
+      ‛(undefined :: TermFamily a a)’
+    In the second argument of ‛prune’, namely
+      ‛(terms (undefined :: TermFamily a a))’
     In the expression: prune t (terms (undefined :: TermFamily a a))
diff --git a/testsuite/tests/indexed-types/should_fail/T4485.stderr b/testsuite/tests/indexed-types/should_fail/T4485.stderr
index 358886952016..bd408824bf8e 100644
--- a/testsuite/tests/indexed-types/should_fail/T4485.stderr
+++ b/testsuite/tests/indexed-types/should_fail/T4485.stderr
@@ -1,30 +1,30 @@
-
-T4485.hs:47:15:
-    Overlapping instances for EmbedAsChild
-                                (IdentityT IO) (XMLGenT m0 (XML m0))
-      arising from a use of `asChild'
-    Matching instances:
-      instance [overlap ok] (EmbedAsChild m c, m1 ~ m) =>
-                            EmbedAsChild m (XMLGenT m1 c)
-        -- Defined at T4485.hs:29:10
-      instance [overlap ok] EmbedAsChild
-                              (IdentityT IO) (XMLGenT Identity ())
-        -- Defined at T4485.hs:42:10
-    (The choice depends on the instantiation of `m0'
-     To pick the first instance above, use -XIncoherentInstances
-     when compiling the other instance declarations)
-    In the expression: asChild
-    In the expression: asChild $ (genElement "foo")
-    In an equation for `asChild':
-        asChild b = asChild $ (genElement "foo")
-
-T4485.hs:47:26:
-    No instance for (XMLGen m0) arising from a use of `genElement'
-    The type variable `m0' is ambiguous
-    Note: there is a potential instance available:
-      instance [overlap ok] XMLGen (IdentityT m)
-        -- Defined at T4485.hs:36:10
-    In the second argument of `($)', namely `(genElement "foo")'
-    In the expression: asChild $ (genElement "foo")
-    In an equation for `asChild':
-        asChild b = asChild $ (genElement "foo")
+
+T4485.hs:47:15:
+    Overlapping instances for EmbedAsChild
+                                (IdentityT IO) (XMLGenT m0 (XML m0))
+      arising from a use of ‛asChild’
+    Matching instances:
+      instance [overlap ok] (EmbedAsChild m c, m1 ~ m) =>
+                            EmbedAsChild m (XMLGenT m1 c)
+        -- Defined at T4485.hs:29:10
+      instance [overlap ok] EmbedAsChild
+                              (IdentityT IO) (XMLGenT Identity ())
+        -- Defined at T4485.hs:42:10
+    (The choice depends on the instantiation of ‛m0’
+     To pick the first instance above, use -XIncoherentInstances
+     when compiling the other instance declarations)
+    In the expression: asChild
+    In the expression: asChild $ (genElement "foo")
+    In an equation for ‛asChild’:
+        asChild b = asChild $ (genElement "foo")
+
+T4485.hs:47:26:
+    No instance for (XMLGen m0) arising from a use of ‛genElement’
+    The type variable ‛m0’ is ambiguous
+    Note: there is a potential instance available:
+      instance [overlap ok] XMLGen (IdentityT m)
+        -- Defined at T4485.hs:36:10
+    In the second argument of ‛($)’, namely ‛(genElement "foo")’
+    In the expression: asChild $ (genElement "foo")
+    In an equation for ‛asChild’:
+        asChild b = asChild $ (genElement "foo")
diff --git a/testsuite/tests/indexed-types/should_fail/T5439.stderr b/testsuite/tests/indexed-types/should_fail/T5439.stderr
index 7115f3026d83..4f8340481f8b 100644
--- a/testsuite/tests/indexed-types/should_fail/T5439.stderr
+++ b/testsuite/tests/indexed-types/should_fail/T5439.stderr
@@ -1,28 +1,28 @@
-
-T5439.hs:83:28:
-    Couldn't match type `Attempt t0 -> Attempt (HElemOf l0)'
-                  with `Attempt (HElemOf rs)'
-    Expected type: f (Attempt (HNth n0 l0) -> Attempt (HElemOf l0))
-      Actual type: f (Attempt (WaitOpResult (WaitOps rs)))
-    Relevant bindings include
-      registerWaitOp :: WaitOps rs
-                        -> f (Attempt (WaitOpResult (WaitOps rs))) -> IO Bool
-        (bound at T5439.hs:62:3)
-      ops :: WaitOps rs (bound at T5439.hs:62:18)
-      ev :: f (Attempt (WaitOpResult (WaitOps rs)))
-        (bound at T5439.hs:62:22)
-      register :: Bool -> Peano n -> WaitOps (HDrop n rs) -> IO Bool
-        (bound at T5439.hs:65:9)
-    In the first argument of `complete', namely `ev'
-    In the expression: complete ev
-    In a stmt of a 'do' block:
-      c <- complete ev $ inj $ Failure (e :: SomeException)
-
-T5439.hs:83:39:
-    Couldn't match expected type `Peano n0'
-                with actual type `Attempt α0'
-    In the return type of a call of `Failure'
-    In the second argument of `($)', namely
-      `Failure (e :: SomeException)'
-    In the second argument of `($)', namely
-      `inj $ Failure (e :: SomeException)'
+
+T5439.hs:83:28:
+    Couldn't match type ‛Attempt t0 -> Attempt (HElemOf l0)’
+                  with ‛Attempt (HElemOf rs)’
+    Expected type: f (Attempt (HNth n0 l0) -> Attempt (HElemOf l0))
+      Actual type: f (Attempt (WaitOpResult (WaitOps rs)))
+    Relevant bindings include
+      registerWaitOp :: WaitOps rs
+                        -> f (Attempt (WaitOpResult (WaitOps rs))) -> IO Bool
+        (bound at T5439.hs:62:3)
+      ops :: WaitOps rs (bound at T5439.hs:62:18)
+      ev :: f (Attempt (WaitOpResult (WaitOps rs)))
+        (bound at T5439.hs:62:22)
+      register :: Bool -> Peano n -> WaitOps (HDrop n rs) -> IO Bool
+        (bound at T5439.hs:65:9)
+    In the first argument of ‛complete’, namely ‛ev’
+    In the expression: complete ev
+    In a stmt of a 'do' block:
+      c <- complete ev $ inj $ Failure (e :: SomeException)
+
+T5439.hs:83:39:
+    Couldn't match expected type ‛Peano n0’
+                with actual type ‛Attempt α0’
+    In the return type of a call of ‛Failure’
+    In the second argument of ‛($)’, namely
+      ‛Failure (e :: SomeException)’
+    In the second argument of ‛($)’, namely
+      ‛inj $ Failure (e :: SomeException)’
diff --git a/testsuite/tests/indexed-types/should_fail/T5515.stderr b/testsuite/tests/indexed-types/should_fail/T5515.stderr
index 535048d88baa..c3d6b9f66419 100644
--- a/testsuite/tests/indexed-types/should_fail/T5515.stderr
+++ b/testsuite/tests/indexed-types/should_fail/T5515.stderr
@@ -1,8 +1,8 @@
 
 T5515.hs:9:8:
-    The RHS of an associated type declaration mentions type variable `a'
+    The RHS of an associated type declaration mentions type variable ‛a’
       All such variables must be bound on the LHS
 
 T5515.hs:15:8:
-    The RHS of an associated type declaration mentions type variable `a'
+    The RHS of an associated type declaration mentions type variable ‛a’
       All such variables must be bound on the LHS
diff --git a/testsuite/tests/indexed-types/should_fail/T5934.stderr b/testsuite/tests/indexed-types/should_fail/T5934.stderr
index 8925899346af..d036467603c5 100644
--- a/testsuite/tests/indexed-types/should_fail/T5934.stderr
+++ b/testsuite/tests/indexed-types/should_fail/T5934.stderr
@@ -1,7 +1,7 @@
-
-T5934.hs:12:7:
-    Cannot instantiate unification variable `a0'
-    with a type involving foralls: (forall s. GenST s) -> Int
-      Perhaps you want -XImpredicativeTypes
-    In the expression: 0
-    In an equation for `run': run = 0
+
+T5934.hs:12:7:
+    Cannot instantiate unification variable ‛a0’
+    with a type involving foralls: (forall s. GenST s) -> Int
+      Perhaps you want -XImpredicativeTypes
+    In the expression: 0
+    In an equation for ‛run’: run = 0
diff --git a/testsuite/tests/indexed-types/should_fail/T6123.stderr b/testsuite/tests/indexed-types/should_fail/T6123.stderr
index cf8eedda0618..4fbdf9bf4bc9 100644
--- a/testsuite/tests/indexed-types/should_fail/T6123.stderr
+++ b/testsuite/tests/indexed-types/should_fail/T6123.stderr
@@ -1,7 +1,7 @@
-
-T6123.hs:10:14:
-    Occurs check: cannot construct the infinite type: a0 ~ Id a0
-    The type variable `a0' is ambiguous
-    Relevant bindings include cundefined :: a0 (bound at T6123.hs:10:1)
-    In the expression: cid undefined
-    In an equation for `cundefined': cundefined = cid undefined
+
+T6123.hs:10:14:
+    Occurs check: cannot construct the infinite type: a0 ~ Id a0
+    The type variable ‛a0’ is ambiguous
+    Relevant bindings include cundefined :: a0 (bound at T6123.hs:10:1)
+    In the expression: cid undefined
+    In an equation for ‛cundefined’: cundefined = cid undefined
diff --git a/testsuite/tests/indexed-types/should_fail/T7010.stderr b/testsuite/tests/indexed-types/should_fail/T7010.stderr
index 3d059736f13b..50c4bd0fd046 100644
--- a/testsuite/tests/indexed-types/should_fail/T7010.stderr
+++ b/testsuite/tests/indexed-types/should_fail/T7010.stderr
@@ -1,8 +1,8 @@
 
 T7010.hs:53:27:
-    Couldn't match type `Serial (IO Float)' with `IO Float'
+    Couldn't match type ‛Serial (IO Float)’ with ‛IO Float’
     Expected type: (Float, ValueTuple Vector)
       Actual type: (Float, ValueTuple Float)
-    In the first argument of `withArgs', namely `plug'
+    In the first argument of ‛withArgs’, namely ‛plug’
     In the expression: withArgs plug
-    In an equation for `filterFormants': filterFormants = withArgs plug
+    In an equation for ‛filterFormants’: filterFormants = withArgs plug
diff --git a/testsuite/tests/indexed-types/should_fail/T7194.stderr b/testsuite/tests/indexed-types/should_fail/T7194.stderr
index 385765df6feb..a575dde330d3 100644
--- a/testsuite/tests/indexed-types/should_fail/T7194.stderr
+++ b/testsuite/tests/indexed-types/should_fail/T7194.stderr
@@ -1,7 +1,7 @@
 
 T7194.hs:18:35:
-    Couldn't match expected type `b0' with actual type `F a'
-      because type variable `a' would escape its scope
+    Couldn't match expected type ‛b0’ with actual type ‛F a’
+      because type variable ‛a’ would escape its scope
     This (rigid, skolem) type variable is bound by
       the type signature for g :: C (F a) => a -> Int
       at T7194.hs:17:23-41
@@ -9,6 +9,6 @@ T7194.hs:18:35:
       x :: b0 (bound at T7194.hs:17:9)
       g :: a -> Int (bound at T7194.hs:18:18)
       y :: a (bound at T7194.hs:18:20)
-    In the return type of a call of `foo'
+    In the return type of a call of ‛foo’
     In the expression: foo y
-    In the first argument of `length', namely `[x, foo y]'
+    In the first argument of ‛length’, namely ‛[x, foo y]’
diff --git a/testsuite/tests/indexed-types/should_fail/T7354.stderr b/testsuite/tests/indexed-types/should_fail/T7354.stderr
index d5c0f1ce56d6..1fb91e4dad2f 100644
--- a/testsuite/tests/indexed-types/should_fail/T7354.stderr
+++ b/testsuite/tests/indexed-types/should_fail/T7354.stderr
@@ -6,6 +6,6 @@ T7354.hs:28:11:
       Actual type: Prim [a] a -> a
     Relevant bindings include
       foo :: Prim [a] a -> t (bound at T7354.hs:28:1)
-    In the first argument of `ana', namely `alg'
+    In the first argument of ‛ana’, namely ‛alg’
     In the expression: ana alg
-    In an equation for `foo': foo = ana alg
+    In an equation for ‛foo’: foo = ana alg
diff --git a/testsuite/tests/indexed-types/should_fail/T7354a.stderr b/testsuite/tests/indexed-types/should_fail/T7354a.stderr
index 1b66b8797055..d05b0f9b68dd 100644
--- a/testsuite/tests/indexed-types/should_fail/T7354a.stderr
+++ b/testsuite/tests/indexed-types/should_fail/T7354a.stderr
@@ -1,7 +1,7 @@
 
 T7354a.hs:5:13:
-    Couldn't match expected type `Base t t' with actual type `()'
+    Couldn't match expected type ‛Base t t’ with actual type ‛()’
     Relevant bindings include foo :: t (bound at T7354a.hs:5:1)
-    In the first argument of `embed', namely `()'
+    In the first argument of ‛embed’, namely ‛()’
     In the expression: embed ()
-    In an equation for `foo': foo = embed ()
+    In an equation for ‛foo’: foo = embed ()
diff --git a/testsuite/tests/indexed-types/should_fail/T7536.stderr b/testsuite/tests/indexed-types/should_fail/T7536.stderr
index faea85e91eae..0c242a90299d 100644
--- a/testsuite/tests/indexed-types/should_fail/T7536.stderr
+++ b/testsuite/tests/indexed-types/should_fail/T7536.stderr
@@ -1,5 +1,5 @@
 
 T7536.hs:8:15:
-    Family instance purports to bind type variable `a'
+    Family instance purports to bind type variable ‛a’
       but the real LHS (expanding synonyms) is: TF Int = ...
-    In the type instance declaration for `TF'
+    In the type instance declaration for ‛TF’
diff --git a/testsuite/tests/indexed-types/should_fail/TyFamArity1.stderr b/testsuite/tests/indexed-types/should_fail/TyFamArity1.stderr
index b0076287f604..adfcc37a0045 100644
--- a/testsuite/tests/indexed-types/should_fail/TyFamArity1.stderr
+++ b/testsuite/tests/indexed-types/should_fail/TyFamArity1.stderr
@@ -1,4 +1,4 @@
-
-TyFamArity1.hs:4:15:
-    Number of parameters must match family declaration; expected 2
-    In the type instance declaration for `T'
+
+TyFamArity1.hs:4:15:
+    Number of parameters must match family declaration; expected 2
+    In the type instance declaration for ‛T’
diff --git a/testsuite/tests/indexed-types/should_fail/TyFamArity2.stderr b/testsuite/tests/indexed-types/should_fail/TyFamArity2.stderr
index ad71adc7d356..d602a2d5e0ef 100644
--- a/testsuite/tests/indexed-types/should_fail/TyFamArity2.stderr
+++ b/testsuite/tests/indexed-types/should_fail/TyFamArity2.stderr
@@ -1,4 +1,4 @@
-
-TyFamArity2.hs:4:15:
-    Number of parameters must match family declaration; expected 1
-    In the type instance declaration for `T'
+
+TyFamArity2.hs:4:15:
+    Number of parameters must match family declaration; expected 1
+    In the type instance declaration for ‛T’
diff --git a/testsuite/tests/indexed-types/should_fail/TyFamUndec.stderr b/testsuite/tests/indexed-types/should_fail/TyFamUndec.stderr
index 6bb2af771c81..fef47b534a86 100644
--- a/testsuite/tests/indexed-types/should_fail/TyFamUndec.stderr
+++ b/testsuite/tests/indexed-types/should_fail/TyFamUndec.stderr
@@ -1,18 +1,18 @@
-
-TyFamUndec.hs:6:15:
-    Variable `b' occurs more often than in the instance head
-      in the type family application: T (b, b)
-    (Use -XUndecidableInstances to permit this)
-    In the type instance declaration for `T'
-
-TyFamUndec.hs:7:15:
-    Application is no smaller than the instance head
-      in the type family application: T (a, Maybe b)
-    (Use -XUndecidableInstances to permit this)
-    In the type instance declaration for `T'
-
-TyFamUndec.hs:8:15:
-    Nested type family application
-      in the type family application: T (a, T b)
-    (Use -XUndecidableInstances to permit this)
-    In the type instance declaration for `T'
+
+TyFamUndec.hs:6:15:
+    Variable ‛b’ occurs more often than in the instance head
+      in the type family application: T (b, b)
+    (Use -XUndecidableInstances to permit this)
+    In the type instance declaration for ‛T’
+
+TyFamUndec.hs:7:15:
+    Application is no smaller than the instance head
+      in the type family application: T (a, Maybe b)
+    (Use -XUndecidableInstances to permit this)
+    In the type instance declaration for ‛T’
+
+TyFamUndec.hs:8:15:
+    Nested type family application
+      in the type family application: T (a, T b)
+    (Use -XUndecidableInstances to permit this)
+    In the type instance declaration for ‛T’
diff --git a/testsuite/tests/mdo/should_fail/mdofail001.stderr b/testsuite/tests/mdo/should_fail/mdofail001.stderr
index 67929e58ed45..8d6d86bc9772 100644
--- a/testsuite/tests/mdo/should_fail/mdofail001.stderr
+++ b/testsuite/tests/mdo/should_fail/mdofail001.stderr
@@ -1,6 +1,6 @@
 
 mdofail001.hs:10:32:
-    No instance for (Num Char) arising from the literal `1'
+    No instance for (Num Char) arising from the literal ‛1’
     In the expression: 1
-    In the first argument of `l', namely `[1, 2, 3]'
+    In the first argument of ‛l’, namely ‛[1, 2, 3]’
     In the expression: l [1, 2, 3]
diff --git a/testsuite/tests/mdo/should_fail/mdofail002.stderr b/testsuite/tests/mdo/should_fail/mdofail002.stderr
index a1327c6dfdf3..badd7383e7a5 100644
--- a/testsuite/tests/mdo/should_fail/mdofail002.stderr
+++ b/testsuite/tests/mdo/should_fail/mdofail002.stderr
@@ -1,5 +1,5 @@
 
 mdofail002.hs:10:9:
-    Conflicting definitions for `x'
+    Conflicting definitions for ‛x’
     Bound at: mdofail002.hs:10:9
               mdofail002.hs:11:9
diff --git a/testsuite/tests/mdo/should_fail/mdofail003.stderr b/testsuite/tests/mdo/should_fail/mdofail003.stderr
index e093fe0a75d9..ccb10dfb80f7 100644
--- a/testsuite/tests/mdo/should_fail/mdofail003.stderr
+++ b/testsuite/tests/mdo/should_fail/mdofail003.stderr
@@ -1,5 +1,5 @@
 
 mdofail003.hs:10:9:
-    Conflicting definitions for `x'
+    Conflicting definitions for ‛x’
     Bound at: mdofail003.hs:10:9
               mdofail003.hs:11:13
diff --git a/testsuite/tests/module/T414.stderr b/testsuite/tests/module/T414.stderr
index a5052fb76da9..b9af6935f50b 100644
--- a/testsuite/tests/module/T414.stderr
+++ b/testsuite/tests/module/T414.stderr
@@ -1,3 +1,3 @@
 
 T414.hs:1:1:
-    The main function `main' is not exported by module `Main'
+    The main function ‛main’ is not exported by module ‛Main’
diff --git a/testsuite/tests/module/mod1.stderr b/testsuite/tests/module/mod1.stderr
index e665f8468eba..51d9e07b1dee 100644
--- a/testsuite/tests/module/mod1.stderr
+++ b/testsuite/tests/module/mod1.stderr
@@ -1,4 +1,4 @@
 
 mod1.hs:3:1:
-    Failed to load interface for `N'
+    Failed to load interface for ‛N’
     Use -v to see a list of the files searched for.
diff --git a/testsuite/tests/module/mod10.stderr b/testsuite/tests/module/mod10.stderr
index 5369fa0f8b45..6cc2caf59e82 100644
--- a/testsuite/tests/module/mod10.stderr
+++ b/testsuite/tests/module/mod10.stderr
@@ -1,2 +1,2 @@
 
-mod10.hs:2:10: Not in scope: type constructor or class `T'
+mod10.hs:2:10: Not in scope: type constructor or class ‛T’
diff --git a/testsuite/tests/module/mod101.stderr b/testsuite/tests/module/mod101.stderr
index 662c38e89a1d..306884fa8f93 100644
--- a/testsuite/tests/module/mod101.stderr
+++ b/testsuite/tests/module/mod101.stderr
@@ -1,4 +1,4 @@
 
 mod101.hs:8:5:
-    Not in scope: data constructor `ConB'
-    Perhaps you meant `ConA' (imported from Mod101_AuxB)
+    Not in scope: data constructor ‛ConB’
+    Perhaps you meant ‛ConA’ (imported from Mod101_AuxB)
diff --git a/testsuite/tests/module/mod102.stderr b/testsuite/tests/module/mod102.stderr
index 60f7b28ab2e6..a33246f12c65 100644
--- a/testsuite/tests/module/mod102.stderr
+++ b/testsuite/tests/module/mod102.stderr
@@ -1,4 +1,4 @@
 
 mod102.hs:8:5:
-    Not in scope: `methB'
-    Perhaps you meant `methA' (imported from Mod102_AuxB)
+    Not in scope: ‛methB’
+    Perhaps you meant ‛methA’ (imported from Mod102_AuxB)
diff --git a/testsuite/tests/module/mod110.stderr b/testsuite/tests/module/mod110.stderr
index e1c2eb1b0b02..f394f562143e 100644
--- a/testsuite/tests/module/mod110.stderr
+++ b/testsuite/tests/module/mod110.stderr
@@ -1,7 +1,7 @@
 
 mod110.hs:11:10:
-    Ambiguous occurrence `Eq'
-    It could refer to either `M.Eq', defined at mod110.hs:7:7
-                          or `Prelude.Eq',
-                             imported from `Prelude' at mod110.hs:4:1-14
-                             (and originally defined in `GHC.Classes')
+    Ambiguous occurrence ‛Eq’
+    It could refer to either ‛M.Eq’, defined at mod110.hs:7:7
+                          or ‛Prelude.Eq’,
+                             imported from ‛Prelude’ at mod110.hs:4:1-14
+                             (and originally defined in ‛GHC.Classes’)
diff --git a/testsuite/tests/module/mod114.stderr b/testsuite/tests/module/mod114.stderr
index be7202ce0195..84131b47f53d 100644
--- a/testsuite/tests/module/mod114.stderr
+++ b/testsuite/tests/module/mod114.stderr
@@ -1,2 +1,2 @@
 
-mod114.hs:3:16: Not in scope: type constructor or class `Stuff'
+mod114.hs:3:16: Not in scope: type constructor or class ‛Stuff’
diff --git a/testsuite/tests/module/mod116.stderr b/testsuite/tests/module/mod116.stderr
index c9fb1ded5f07..c46059c5d62e 100644
--- a/testsuite/tests/module/mod116.stderr
+++ b/testsuite/tests/module/mod116.stderr
@@ -1,2 +1,2 @@
 
-mod116.hs:2:18: Not in scope: type constructor or class `M2'
+mod116.hs:2:18: Not in scope: type constructor or class ‛M2’
diff --git a/testsuite/tests/module/mod120.stderr b/testsuite/tests/module/mod120.stderr
index 0d6181e61a1f..2643f9258f8c 100644
--- a/testsuite/tests/module/mod120.stderr
+++ b/testsuite/tests/module/mod120.stderr
@@ -1,2 +1,2 @@
 
-mod120.hs:5:5: Not in scope: data constructor `Foo'
+mod120.hs:5:5: Not in scope: data constructor ‛Foo’
diff --git a/testsuite/tests/module/mod121.stderr b/testsuite/tests/module/mod121.stderr
index 7c2cf2cc9da4..16ea4bf62763 100644
--- a/testsuite/tests/module/mod121.stderr
+++ b/testsuite/tests/module/mod121.stderr
@@ -1,4 +1,4 @@
 
 mod121.hs:5:5:
-    Not in scope: `m2'
-    Perhaps you meant `m1' (imported from Mod121_A)
+    Not in scope: ‛m2’
+    Perhaps you meant ‛m1’ (imported from Mod121_A)
diff --git a/testsuite/tests/module/mod122.stderr b/testsuite/tests/module/mod122.stderr
index b65f8e996406..45e4f1699c53 100644
--- a/testsuite/tests/module/mod122.stderr
+++ b/testsuite/tests/module/mod122.stderr
@@ -1,2 +1,2 @@
 
-mod122.hs:5:6: Not in scope: type constructor or class `C'
+mod122.hs:5:6: Not in scope: type constructor or class ‛C’
diff --git a/testsuite/tests/module/mod123.stderr b/testsuite/tests/module/mod123.stderr
index 91f75483d333..b631454857af 100644
--- a/testsuite/tests/module/mod123.stderr
+++ b/testsuite/tests/module/mod123.stderr
@@ -1,2 +1,2 @@
 
-mod123.hs:5:6: Not in scope: type constructor or class `T'
+mod123.hs:5:6: Not in scope: type constructor or class ‛T’
diff --git a/testsuite/tests/module/mod124.stderr b/testsuite/tests/module/mod124.stderr
index 22644aa07b97..66cad7ee3697 100644
--- a/testsuite/tests/module/mod124.stderr
+++ b/testsuite/tests/module/mod124.stderr
@@ -1,2 +1,2 @@
 
-mod124.hs:6:6: Not in scope: type constructor or class `T'
+mod124.hs:6:6: Not in scope: type constructor or class ‛T’
diff --git a/testsuite/tests/module/mod125.stderr b/testsuite/tests/module/mod125.stderr
index b2f7fa4503cb..9fa21e7875d7 100644
--- a/testsuite/tests/module/mod125.stderr
+++ b/testsuite/tests/module/mod125.stderr
@@ -1,2 +1,2 @@
 
-mod125.hs:7:5: Not in scope: data constructor `T'
+mod125.hs:7:5: Not in scope: data constructor ‛T’
diff --git a/testsuite/tests/module/mod126.stderr b/testsuite/tests/module/mod126.stderr
index 22243759ca26..474e6eb490c8 100644
--- a/testsuite/tests/module/mod126.stderr
+++ b/testsuite/tests/module/mod126.stderr
@@ -1,2 +1,2 @@
 
-mod126.hs:7:5: Not in scope: data constructor `T'
+mod126.hs:7:5: Not in scope: data constructor ‛T’
diff --git a/testsuite/tests/module/mod127.stderr b/testsuite/tests/module/mod127.stderr
index 5ffb1b71b696..b208503368ae 100644
--- a/testsuite/tests/module/mod127.stderr
+++ b/testsuite/tests/module/mod127.stderr
@@ -1,2 +1,2 @@
 
-mod127.hs:6:6: Not in scope: type constructor or class `T'
+mod127.hs:6:6: Not in scope: type constructor or class ‛T’
diff --git a/testsuite/tests/module/mod128.stderr-ghc b/testsuite/tests/module/mod128.stderr-ghc
index 18c7864048a1..4363290fb3b8 100644
--- a/testsuite/tests/module/mod128.stderr-ghc
+++ b/testsuite/tests/module/mod128.stderr-ghc
@@ -1,2 +1,2 @@
 
-Mod128_A.hs:2:19: Warning: `T' is exported by `T(Con)' and `T'
+Mod128_A.hs:2:19: Warning: ‛T’ is exported by ‛T(Con)’ and ‛T’
diff --git a/testsuite/tests/module/mod130.stderr b/testsuite/tests/module/mod130.stderr
index 27d3f8470e85..bb1aff176b9b 100644
--- a/testsuite/tests/module/mod130.stderr
+++ b/testsuite/tests/module/mod130.stderr
@@ -1,2 +1,2 @@
 
-mod130.hs:7:5: Not in scope: `<'
+mod130.hs:7:5: Not in scope: ‛<’
diff --git a/testsuite/tests/module/mod131.stderr b/testsuite/tests/module/mod131.stderr
index 15d919046422..2b877aaae36e 100644
--- a/testsuite/tests/module/mod131.stderr
+++ b/testsuite/tests/module/mod131.stderr
@@ -1,9 +1,9 @@
 
 mod131.hs:2:27:
-    Conflicting exports for `f':
-       `module Mod131_B' exports `f'
-         imported from `Mod131_B' at mod131.hs:3:17
+    Conflicting exports for ‛f’:
+       ‛module Mod131_B’ exports ‛f’
+         imported from ‛Mod131_B’ at mod131.hs:3:17
          (and originally defined at Mod131_B.hs:3:1)
-       `Mod131_A.f' exports `Mod131_A.f'
-         imported qualified from `Mod131_A' at mod131.hs:4:27
+       ‛Mod131_A.f’ exports ‛Mod131_A.f’
+         imported qualified from ‛Mod131_A’ at mod131.hs:4:27
          (and originally defined at Mod131_A.hs:3:1)
diff --git a/testsuite/tests/module/mod132.stderr b/testsuite/tests/module/mod132.stderr
index 8dbf51014cd9..4afecd8f874a 100644
--- a/testsuite/tests/module/mod132.stderr
+++ b/testsuite/tests/module/mod132.stderr
@@ -1,2 +1,2 @@
 
-mod132.hs:6:7: Not in scope: data constructor `Foo'
+mod132.hs:6:7: Not in scope: data constructor ‛Foo’
diff --git a/testsuite/tests/module/mod134.stderr b/testsuite/tests/module/mod134.stderr
index ed8382db637d..3270f93b68e9 100644
--- a/testsuite/tests/module/mod134.stderr
+++ b/testsuite/tests/module/mod134.stderr
@@ -1,7 +1,7 @@
 
 mod134.hs:6:19:
-    Not in scope: `Prelude.head'
+    Not in scope: ‛Prelude.head’
     Perhaps you meant one of these:
-      `Prelude.read' (imported from Prelude),
-      `Prelude.reads' (imported from Prelude),
-      `Prelude.snd' (imported from Prelude)
+      ‛Prelude.read’ (imported from Prelude),
+      ‛Prelude.reads’ (imported from Prelude),
+      ‛Prelude.snd’ (imported from Prelude)
diff --git a/testsuite/tests/module/mod136.stderr b/testsuite/tests/module/mod136.stderr
index 242d20b3dedb..2a0feed97e24 100644
--- a/testsuite/tests/module/mod136.stderr
+++ b/testsuite/tests/module/mod136.stderr
@@ -1,6 +1,6 @@
 
 mod136.hs:6:5:
-    Not in scope: `zipWith5'
+    Not in scope: ‛zipWith5’
     Perhaps you meant one of these:
-      `zipWith' (imported from Mod136_A),
-      `zipWith3' (imported from Mod136_A)
+      ‛zipWith’ (imported from Mod136_A),
+      ‛zipWith3’ (imported from Mod136_A)
diff --git a/testsuite/tests/module/mod138.stderr b/testsuite/tests/module/mod138.stderr
index 2e8a5190d6ed..5b006ee3264f 100644
--- a/testsuite/tests/module/mod138.stderr
+++ b/testsuite/tests/module/mod138.stderr
@@ -1,2 +1,2 @@
 
-mod138.hs:7:5: Not in scope: `isLatin1'
+mod138.hs:7:5: Not in scope: ‛isLatin1’
diff --git a/testsuite/tests/module/mod14.stderr-ghc b/testsuite/tests/module/mod14.stderr-ghc
index be838c38869e..9eec91d71556 100644
--- a/testsuite/tests/module/mod14.stderr-ghc
+++ b/testsuite/tests/module/mod14.stderr-ghc
@@ -1,4 +1,3 @@
 
-mod14.hs:2:10:
-    Warning: `m2' is exported by `C(m1, m2, m2, m3)' and `C(m1, m2, m2,
-                                                            m3)'
+mod14.hs:2:10: Warning:
+    ‛m2’ is exported by ‛C(m1, m2, m2, m3)’ and ‛C(m1, m2, m2, m3)’
diff --git a/testsuite/tests/module/mod142.stderr b/testsuite/tests/module/mod142.stderr
index fcd7665aaa7a..f31723d0209a 100644
--- a/testsuite/tests/module/mod142.stderr
+++ b/testsuite/tests/module/mod142.stderr
@@ -1,7 +1,7 @@
 
 mod142.hs:2:21:
-    Conflicting exports for `x':
-       `module Mod142_A' exports `Mod142_A.x'
-         imported from `Mod142_A' at mod142.hs:4:1-15
+    Conflicting exports for ‛x’:
+       ‛module Mod142_A’ exports ‛Mod142_A.x’
+         imported from ‛Mod142_A’ at mod142.hs:4:1-15
          (and originally defined at Mod142_A.hs:3:1)
-       `module M' exports `M.x' defined at mod142.hs:6:1
+       ‛module M’ exports ‛M.x’ defined at mod142.hs:6:1
diff --git a/testsuite/tests/module/mod143.stderr b/testsuite/tests/module/mod143.stderr
index 15042a21d8e2..cdec14c83e06 100644
--- a/testsuite/tests/module/mod143.stderr
+++ b/testsuite/tests/module/mod143.stderr
@@ -1,7 +1,7 @@
 
 mod143.hs:2:21:
-    Conflicting exports for `Foo':
-       `module Mod143_A' exports `Mod143_A.Foo'
-         imported from `Mod143_A' at mod143.hs:4:1-15
+    Conflicting exports for ‛Foo’:
+       ‛module Mod143_A’ exports ‛Mod143_A.Foo’
+         imported from ‛Mod143_A’ at mod143.hs:4:1-15
          (and originally defined at Mod143_A.hs:3:6-8)
-       `module M' exports `M.Foo' defined at mod143.hs:6:6
+       ‛module M’ exports ‛M.Foo’ defined at mod143.hs:6:6
diff --git a/testsuite/tests/module/mod144.stderr b/testsuite/tests/module/mod144.stderr
index 87c49abde1d5..9742a7611124 100644
--- a/testsuite/tests/module/mod144.stderr
+++ b/testsuite/tests/module/mod144.stderr
@@ -1,7 +1,7 @@
 
 mod144.hs:2:27:
-    Conflicting exports for `Bar':
-       `module Mod144_A' exports `Mod144_A.Bar'
-         imported from `Mod144_A' at mod144.hs:4:1-15
-       `module M' exports `M.Bar' defined at mod144.hs:6:13
+    Conflicting exports for ‛Bar’:
+       ‛module Mod144_A’ exports ‛Mod144_A.Bar’
+         imported from ‛Mod144_A’ at mod144.hs:4:1-15
+       ‛module M’ exports ‛M.Bar’ defined at mod144.hs:6:13
 exit(1)
diff --git a/testsuite/tests/module/mod145.stderr b/testsuite/tests/module/mod145.stderr
index fcbf0b6731bc..37109b395351 100644
--- a/testsuite/tests/module/mod145.stderr
+++ b/testsuite/tests/module/mod145.stderr
@@ -1,7 +1,7 @@
 
 mod145.hs:2:30:
-    Conflicting exports for `m1':
-       `module Mod145_A' exports `Mod145_A.m1'
-         imported from `Mod145_A' at mod145.hs:4:1-15
+    Conflicting exports for ‛m1’:
+       ‛module Mod145_A’ exports ‛Mod145_A.m1’
+         imported from ‛Mod145_A’ at mod145.hs:4:1-15
          (and originally defined at Mod145_A.hs:4:3-4)
-       `module Mod145' exports `Mod145.m1' defined at mod145.hs:7:3
+       ‛module Mod145’ exports ‛Mod145.m1’ defined at mod145.hs:7:3
diff --git a/testsuite/tests/module/mod146.stderr b/testsuite/tests/module/mod146.stderr
index ef99dc3ca53e..160c76c116f0 100644
--- a/testsuite/tests/module/mod146.stderr
+++ b/testsuite/tests/module/mod146.stderr
@@ -1,7 +1,7 @@
 
 mod146.hs:2:30:
-    Conflicting exports for `m1':
-       `module Mod145_A' exports `Mod145_A.m1'
-         imported from `Mod145_A' at mod146.hs:4:1-15
-       `module Mod146' exports `Mod146.m1' defined at mod146.hs:7:3
+    Conflicting exports for ‛m1’:
+       ‛module Mod145_A’ exports ‛Mod145_A.m1’
+         imported from ‛Mod145_A’ at mod146.hs:4:1-15
+       ‛module Mod146’ exports ‛Mod146.m1’ defined at mod146.hs:7:3
 exit(1)
diff --git a/testsuite/tests/module/mod147.stderr b/testsuite/tests/module/mod147.stderr
index b3bbf76612ac..f57f2d8ad486 100644
--- a/testsuite/tests/module/mod147.stderr
+++ b/testsuite/tests/module/mod147.stderr
@@ -1,2 +1,2 @@
 
-mod147.hs:6:5: Not in scope: data constructor `D'
+mod147.hs:6:5: Not in scope: data constructor ‛D’
diff --git a/testsuite/tests/module/mod150.stderr b/testsuite/tests/module/mod150.stderr
index 8ddd6869401d..e1748d7725f0 100644
--- a/testsuite/tests/module/mod150.stderr
+++ b/testsuite/tests/module/mod150.stderr
@@ -1,7 +1,7 @@
 
 mod150.hs:2:20:
-    Conflicting exports for `id':
-       `module Prelude' exports `Prelude.id'
-         imported from `Prelude' at mod150.hs:2:8
-         (and originally defined in `GHC.Base')
-       `module M' exports `M.id' defined at mod150.hs:2:42
+    Conflicting exports for ‛id’:
+       ‛module Prelude’ exports ‛Prelude.id’
+         imported from ‛Prelude’ at mod150.hs:2:8
+         (and originally defined in ‛GHC.Base’)
+       ‛module M’ exports ‛M.id’ defined at mod150.hs:2:42
diff --git a/testsuite/tests/module/mod151.stderr b/testsuite/tests/module/mod151.stderr
index 3206da9de0ad..505fdb8c4c9d 100644
--- a/testsuite/tests/module/mod151.stderr
+++ b/testsuite/tests/module/mod151.stderr
@@ -1,7 +1,7 @@
 
 mod151.hs:2:20:
-    Ambiguous occurrence `id'
-    It could refer to either `M.id', defined at mod151.hs:2:30
-                          or `Prelude.id',
-                             imported from `Prelude' at mod151.hs:2:8
-                             (and originally defined in `GHC.Base')
+    Ambiguous occurrence ‛id’
+    It could refer to either ‛M.id’, defined at mod151.hs:2:30
+                          or ‛Prelude.id’,
+                             imported from ‛Prelude’ at mod151.hs:2:8
+                             (and originally defined in ‛GHC.Base’)
diff --git a/testsuite/tests/module/mod152.stderr b/testsuite/tests/module/mod152.stderr
index 1ad302287f82..e385e1e6e4bf 100644
--- a/testsuite/tests/module/mod152.stderr
+++ b/testsuite/tests/module/mod152.stderr
@@ -1,14 +1,14 @@
 
 mod152.hs:2:26:
-    Ambiguous occurrence `id'
-    It could refer to either `M.id', defined at mod152.hs:2:36
-                          or `Prelude.id',
-                             imported from `Prelude' at mod152.hs:2:8
-                             (and originally defined in `GHC.Base')
+    Ambiguous occurrence ‛id’
+    It could refer to either ‛M.id’, defined at mod152.hs:2:36
+                          or ‛Prelude.id’,
+                             imported from ‛Prelude’ at mod152.hs:2:8
+                             (and originally defined in ‛GHC.Base’)
 
 mod152.hs:2:26:
-    Conflicting exports for `id':
-       `module Prelude' exports `Prelude.id'
-         imported from `Prelude' at mod152.hs:2:8
-         (and originally defined in `GHC.Base')
-       `id' exports `M.id' defined at mod152.hs:2:36
+    Conflicting exports for ‛id’:
+       ‛module Prelude’ exports ‛Prelude.id’
+         imported from ‛Prelude’ at mod152.hs:2:8
+         (and originally defined in ‛GHC.Base’)
+       ‛id’ exports ‛M.id’ defined at mod152.hs:2:36
diff --git a/testsuite/tests/module/mod153.stderr b/testsuite/tests/module/mod153.stderr
index da4751b7b41c..79532da84620 100644
--- a/testsuite/tests/module/mod153.stderr
+++ b/testsuite/tests/module/mod153.stderr
@@ -1,7 +1,7 @@
 
 mod153.hs:2:11:
-    Ambiguous occurrence `id'
-    It could refer to either `M.id', defined at mod153.hs:2:21
-                          or `Prelude.id',
-                             imported from `Prelude' at mod153.hs:2:8
-                             (and originally defined in `GHC.Base')
+    Ambiguous occurrence ‛id’
+    It could refer to either ‛M.id’, defined at mod153.hs:2:21
+                          or ‛Prelude.id’,
+                             imported from ‛Prelude’ at mod153.hs:2:8
+                             (and originally defined in ‛GHC.Base’)
diff --git a/testsuite/tests/module/mod155.stderr b/testsuite/tests/module/mod155.stderr
index 889e9772c9d9..8c026629784a 100644
--- a/testsuite/tests/module/mod155.stderr
+++ b/testsuite/tests/module/mod155.stderr
@@ -1,7 +1,7 @@
 
 mod155.hs:2:10:
-    Conflicting exports for `id':
-       `module M' exports `M.id'
-         imported from `Prelude' at mod155.hs:4:1-19
-         (and originally defined in `GHC.Base')
-       `module M' exports `M.id' defined at mod155.hs:5:1
+    Conflicting exports for ‛id’:
+       ‛module M’ exports ‛M.id’
+         imported from ‛Prelude’ at mod155.hs:4:1-19
+         (and originally defined in ‛GHC.Base’)
+       ‛module M’ exports ‛M.id’ defined at mod155.hs:5:1
diff --git a/testsuite/tests/module/mod158.stderr b/testsuite/tests/module/mod158.stderr
index 7f6c7d7e859a..412c05c1b770 100644
--- a/testsuite/tests/module/mod158.stderr
+++ b/testsuite/tests/module/mod158.stderr
@@ -1,3 +1,3 @@
 
-mod158.hs:12:5: Not in scope: data constructor `C'
+mod158.hs:12:5: Not in scope: data constructor ‛C’
 exit(1)
diff --git a/testsuite/tests/module/mod160.stderr b/testsuite/tests/module/mod160.stderr
index c2dbd5647a02..1a27420f6128 100644
--- a/testsuite/tests/module/mod160.stderr
+++ b/testsuite/tests/module/mod160.stderr
@@ -1,6 +1,6 @@
 
 mod160.hs:12:5:
-    Not in scope: `m3'
+    Not in scope: ‛m3’
     Perhaps you meant one of these:
-      `m1' (imported from Mod159_D), `m2' (imported from Mod159_D)
+      ‛m1’ (imported from Mod159_D), ‛m2’ (imported from Mod159_D)
 exit(1)
diff --git a/testsuite/tests/module/mod161.stderr b/testsuite/tests/module/mod161.stderr
index 1272093eaae6..f5dc9fd3789e 100644
--- a/testsuite/tests/module/mod161.stderr
+++ b/testsuite/tests/module/mod161.stderr
@@ -1,2 +1,2 @@
 
-mod161.hs:2:12: Not in scope: `bar'
+mod161.hs:2:12: Not in scope: ‛bar’
diff --git a/testsuite/tests/module/mod164.stderr b/testsuite/tests/module/mod164.stderr
index 5f18adc025bd..e6ebc70bcafc 100644
--- a/testsuite/tests/module/mod164.stderr
+++ b/testsuite/tests/module/mod164.stderr
@@ -1,9 +1,9 @@
 
 mod164.hs:9:5:
-    Ambiguous occurrence `D1'
-    It could refer to either `Mod164_A.D1',
-                             imported from `Mod164_A' at mod164.hs:4:1-15
+    Ambiguous occurrence ‛D1’
+    It could refer to either ‛Mod164_A.D1’,
+                             imported from ‛Mod164_A’ at mod164.hs:4:1-15
                              (and originally defined at Mod164_A.hs:3:10-11)
-                          or `Mod164_B.D1',
-                             imported from `Mod164_B' at mod164.hs:5:1-15
+                          or ‛Mod164_B.D1’,
+                             imported from ‛Mod164_B’ at mod164.hs:5:1-15
                              (and originally defined at Mod164_B.hs:3:10-11)
diff --git a/testsuite/tests/module/mod165.stderr b/testsuite/tests/module/mod165.stderr
index 293eb993cce0..334ad0c7f81b 100644
--- a/testsuite/tests/module/mod165.stderr
+++ b/testsuite/tests/module/mod165.stderr
@@ -1,7 +1,7 @@
 
 mod165.hs:9:5:
-    Ambiguous occurrence `A.D1'
-    It could refer to either `A.D1',
-                             imported from `Mod164_A' at mod165.hs:4:1-20
-                          or `A.D1', imported from `Mod164_B' at mod165.hs:5:1-20
+    Ambiguous occurrence ‛A.D1’
+    It could refer to either ‛A.D1’,
+                             imported from ‛Mod164_A’ at mod165.hs:4:1-20
+                          or ‛A.D1’, imported from ‛Mod164_B’ at mod165.hs:5:1-20
 exit(1)
diff --git a/testsuite/tests/module/mod17.stderr b/testsuite/tests/module/mod17.stderr
index 1192637967de..3a911609dd56 100644
--- a/testsuite/tests/module/mod17.stderr
+++ b/testsuite/tests/module/mod17.stderr
@@ -1,4 +1,4 @@
 
 mod17.hs:2:10:
-    The export item `C(m1, m2, m3, Left)'
+    The export item ‛C(m1, m2, m3, Left)’
     attempts to export constructors or class methods that are not visible here
diff --git a/testsuite/tests/module/mod174.stderr b/testsuite/tests/module/mod174.stderr
index 6ef2e753d027..020f942087f4 100644
--- a/testsuite/tests/module/mod174.stderr
+++ b/testsuite/tests/module/mod174.stderr
@@ -1,3 +1,3 @@
 
 mod174.hs:1:1:
-    The main function `main' is not exported by module `Main'
+    The main function ‛main’ is not exported by module ‛Main’
diff --git a/testsuite/tests/module/mod176.stderr b/testsuite/tests/module/mod176.stderr
index 7301324a91c8..4dcd689a8a8d 100644
--- a/testsuite/tests/module/mod176.stderr
+++ b/testsuite/tests/module/mod176.stderr
@@ -1,4 +1,4 @@
 
-mod176.hs:4:1:
-    Warning: The import of `return, Monad'
-             from module `Control.Monad' is redundant
+mod176.hs:4:1: Warning:
+    The import of ‛return, Monad’
+    from module ‛Control.Monad’ is redundant
diff --git a/testsuite/tests/module/mod177.stderr b/testsuite/tests/module/mod177.stderr
index 1dc7c5c6ae1c..fe82c64569b1 100644
--- a/testsuite/tests/module/mod177.stderr
+++ b/testsuite/tests/module/mod177.stderr
@@ -1,5 +1,5 @@
 
-mod177.hs:4:1:
-    Warning: The import of `Data.Maybe' is redundant
-               except perhaps to import instances from `Data.Maybe'
-             To import instances alone, use: import Data.Maybe()
+mod177.hs:4:1: Warning:
+    The import of ‛Data.Maybe’ is redundant
+      except perhaps to import instances from ‛Data.Maybe’
+    To import instances alone, use: import Data.Maybe()
diff --git a/testsuite/tests/module/mod178.stderr b/testsuite/tests/module/mod178.stderr
index 3edd9a40668c..755324b58c41 100644
--- a/testsuite/tests/module/mod178.stderr
+++ b/testsuite/tests/module/mod178.stderr
@@ -1,5 +1,5 @@
 
 Mod178_2.hs:1:1:
     File name does not match module name:
-    Saw: `Main'
-    Expected: `Mod178_2'
+    Saw: ‛Main’
+    Expected: ‛Mod178_2’
diff --git a/testsuite/tests/module/mod18.stderr b/testsuite/tests/module/mod18.stderr
index 5f8ba3457b1b..1ef381f90e5c 100644
--- a/testsuite/tests/module/mod18.stderr
+++ b/testsuite/tests/module/mod18.stderr
@@ -1,5 +1,5 @@
 
 mod18.hs:3:6:
-    Multiple declarations of `T'
+    Multiple declarations of ‛T’
     Declared at: mod18.hs:2:6
                  mod18.hs:3:6
diff --git a/testsuite/tests/module/mod180.stderr b/testsuite/tests/module/mod180.stderr
index 2790d92a33e0..2647f2ada7ba 100644
--- a/testsuite/tests/module/mod180.stderr
+++ b/testsuite/tests/module/mod180.stderr
@@ -1,5 +1,5 @@
 
 mod180.hs:8:5:
-    Couldn't match expected type `T' with actual type `main:Mod180_A.T'
+    Couldn't match expected type ‛T’ with actual type ‛main:Mod180_A.T’
     In the expression: x
-    In an equation for `z': z = x
+    In an equation for ‛z’: z = x
diff --git a/testsuite/tests/module/mod19.stderr b/testsuite/tests/module/mod19.stderr
index 9178ceba4024..fd2f5f3192e1 100644
--- a/testsuite/tests/module/mod19.stderr
+++ b/testsuite/tests/module/mod19.stderr
@@ -1,10 +1,10 @@
 
 mod19.hs:3:7:
-    Multiple declarations of `C'
+    Multiple declarations of ‛C’
     Declared at: mod19.hs:2:7
                  mod19.hs:3:7
 
 mod19.hs:3:17:
-    Multiple declarations of `m'
+    Multiple declarations of ‛m’
     Declared at: mod19.hs:2:17
                  mod19.hs:3:17
diff --git a/testsuite/tests/module/mod2.stderr b/testsuite/tests/module/mod2.stderr
index e928ab3b1919..c98e3f5ce69e 100644
--- a/testsuite/tests/module/mod2.stderr
+++ b/testsuite/tests/module/mod2.stderr
@@ -1,4 +1,4 @@
 
 mod2.hs:3:1:
-    Failed to load interface for `N'
+    Failed to load interface for ‛N’
     Use -v to see a list of the files searched for.
diff --git a/testsuite/tests/module/mod20.stderr b/testsuite/tests/module/mod20.stderr
index 123564201aac..eb92e4a021d8 100644
--- a/testsuite/tests/module/mod20.stderr
+++ b/testsuite/tests/module/mod20.stderr
@@ -1,5 +1,5 @@
 
 mod20.hs:3:18:
-    Multiple declarations of `m'
+    Multiple declarations of ‛m’
     Declared at: mod20.hs:2:18
                  mod20.hs:3:18
diff --git a/testsuite/tests/module/mod21.stderr b/testsuite/tests/module/mod21.stderr
index b5a86c0749cb..34620a6bd4d5 100644
--- a/testsuite/tests/module/mod21.stderr
+++ b/testsuite/tests/module/mod21.stderr
@@ -1,5 +1,5 @@
 
 mod21.hs:3:6:
-    Multiple declarations of `T'
+    Multiple declarations of ‛T’
     Declared at: mod21.hs:2:6
                  mod21.hs:3:6
diff --git a/testsuite/tests/module/mod22.stderr b/testsuite/tests/module/mod22.stderr
index 786043d4f241..0e05809361b2 100644
--- a/testsuite/tests/module/mod22.stderr
+++ b/testsuite/tests/module/mod22.stderr
@@ -1,5 +1,5 @@
 
 mod22.hs:3:11:
-    Multiple declarations of `K'
+    Multiple declarations of ‛K’
     Declared at: mod22.hs:2:11
                  mod22.hs:3:11
diff --git a/testsuite/tests/module/mod23.stderr b/testsuite/tests/module/mod23.stderr
index 3085cfff37f1..77f37d3c221f 100644
--- a/testsuite/tests/module/mod23.stderr
+++ b/testsuite/tests/module/mod23.stderr
@@ -1,5 +1,5 @@
 
 mod23.hs:3:8:
-    Conflicting definitions for `a'
+    Conflicting definitions for ‛a’
     Bound at: mod23.hs:3:8
               mod23.hs:3:10
diff --git a/testsuite/tests/module/mod24.stderr b/testsuite/tests/module/mod24.stderr
index 12ed89e59ade..9f2bb5479876 100644
--- a/testsuite/tests/module/mod24.stderr
+++ b/testsuite/tests/module/mod24.stderr
@@ -1,5 +1,5 @@
 
 mod24.hs:3:8:
-    Conflicting definitions for `a'
+    Conflicting definitions for ‛a’
     Bound at: mod24.hs:3:8
               mod24.hs:3:10
diff --git a/testsuite/tests/module/mod25.stderr b/testsuite/tests/module/mod25.stderr
index 49a15454aaeb..6d8fd0349dce 100644
--- a/testsuite/tests/module/mod25.stderr
+++ b/testsuite/tests/module/mod25.stderr
@@ -1,2 +1,2 @@
 
-mod25.hs:3:16: Not in scope: type variable `b'
+mod25.hs:3:16: Not in scope: type variable ‛b’
diff --git a/testsuite/tests/module/mod26.stderr b/testsuite/tests/module/mod26.stderr
index 914f879d61cc..0ee82dc57fe4 100644
--- a/testsuite/tests/module/mod26.stderr
+++ b/testsuite/tests/module/mod26.stderr
@@ -1,2 +1,2 @@
 
-mod26.hs:3:21: Not in scope: type variable `b'
+mod26.hs:3:21: Not in scope: type variable ‛b’
diff --git a/testsuite/tests/module/mod29.stderr b/testsuite/tests/module/mod29.stderr
index ba62a734f086..2abdd7d1de6b 100644
--- a/testsuite/tests/module/mod29.stderr
+++ b/testsuite/tests/module/mod29.stderr
@@ -1,2 +1,2 @@
 
-mod29.hs:6:12: Not in scope: type constructor or class `Char'
+mod29.hs:6:12: Not in scope: type constructor or class ‛Char’
diff --git a/testsuite/tests/module/mod3.stderr b/testsuite/tests/module/mod3.stderr
index 2b0cae95fafc..f07a431b4513 100644
--- a/testsuite/tests/module/mod3.stderr
+++ b/testsuite/tests/module/mod3.stderr
@@ -1,4 +1,4 @@
 
 mod3.hs:2:10:
-    The export item `T(K1)'
+    The export item ‛T(K1)’
     attempts to export constructors or class methods that are not visible here
diff --git a/testsuite/tests/module/mod36.stderr b/testsuite/tests/module/mod36.stderr
index 9d6b97bfa9a6..6ec42d92b0f1 100644
--- a/testsuite/tests/module/mod36.stderr
+++ b/testsuite/tests/module/mod36.stderr
@@ -1,2 +1,2 @@
 
-mod36.hs:5:5: Not in scope: `const'
+mod36.hs:5:5: Not in scope: ‛const’
diff --git a/testsuite/tests/module/mod38.stderr b/testsuite/tests/module/mod38.stderr
index b04dd77f4bc8..7c5f277048f9 100644
--- a/testsuite/tests/module/mod38.stderr
+++ b/testsuite/tests/module/mod38.stderr
@@ -1,5 +1,5 @@
 
 mod38.hs:4:7:
-    Multiple declarations of `C'
+    Multiple declarations of ‛C’
     Declared at: mod38.hs:3:6
                  mod38.hs:4:7
diff --git a/testsuite/tests/module/mod4.stderr b/testsuite/tests/module/mod4.stderr
index 84d7cfa19e39..38ea462fde74 100644
--- a/testsuite/tests/module/mod4.stderr
+++ b/testsuite/tests/module/mod4.stderr
@@ -1,4 +1,4 @@
 
 mod4.hs:2:10:
-    The export item `T(K1, K2)'
+    The export item ‛T(K1, K2)’
     attempts to export constructors or class methods that are not visible here
diff --git a/testsuite/tests/module/mod40.stderr b/testsuite/tests/module/mod40.stderr
index ed77e80f82b4..aa641e4d8a44 100644
--- a/testsuite/tests/module/mod40.stderr
+++ b/testsuite/tests/module/mod40.stderr
@@ -1,8 +1,8 @@
 
 mod40.hs:3:1:
     Cycle in class declaration (via superclasses): C1 -> C2 -> C1
-    In the class declaration for `C1'
+    In the class declaration for ‛C1’
 
 mod40.hs:4:1:
     Cycle in class declaration (via superclasses): C2 -> C1 -> C2
-    In the class declaration for `C2'
+    In the class declaration for ‛C2’
diff --git a/testsuite/tests/module/mod41.stderr b/testsuite/tests/module/mod41.stderr
index 5ec4355fbe2a..921fc959425f 100644
--- a/testsuite/tests/module/mod41.stderr
+++ b/testsuite/tests/module/mod41.stderr
@@ -1,8 +1,8 @@
 
 mod41.hs:3:18:
-    Illegal instance declaration for `Eq (Either a a)'
+    Illegal instance declaration for ‛Eq (Either a a)’
       (All instance types must be of the form (T a1 ... an)
        where a1 ... an are *distinct type variables*,
        and each type variable appears at most once in the instance head.
        Use -XFlexibleInstances if you want to disable this.)
-    In the instance declaration for `Eq (Either a a)'
+    In the instance declaration for ‛Eq (Either a a)’
diff --git a/testsuite/tests/module/mod42.stderr b/testsuite/tests/module/mod42.stderr
index 319f42ba0501..8fd553febda5 100644
--- a/testsuite/tests/module/mod42.stderr
+++ b/testsuite/tests/module/mod42.stderr
@@ -1,8 +1,8 @@
 
 mod42.hs:3:10:
-    Illegal instance declaration for `Eq a'
+    Illegal instance declaration for ‛Eq a’
       (All instance types must be of the form (T a1 ... an)
        where a1 ... an are *distinct type variables*,
        and each type variable appears at most once in the instance head.
        Use -XFlexibleInstances if you want to disable this.)
-    In the instance declaration for `Eq a'
+    In the instance declaration for ‛Eq a’
diff --git a/testsuite/tests/module/mod43.stderr b/testsuite/tests/module/mod43.stderr
index 7fc4da0b8b19..5630a4ae584d 100644
--- a/testsuite/tests/module/mod43.stderr
+++ b/testsuite/tests/module/mod43.stderr
@@ -1,7 +1,7 @@
 
 mod43.hs:3:10:
-    Illegal instance declaration for `Eq String'
-        (All instance types must be of the form (T t1 ... tn)
-         where T is not a synonym.
-         Use -XTypeSynonymInstances if you want to disable this.)
-    In the instance declaration for `Eq String'
+    Illegal instance declaration for ‛Eq String’
+      (All instance types must be of the form (T t1 ... tn)
+       where T is not a synonym.
+       Use -XTypeSynonymInstances if you want to disable this.)
+    In the instance declaration for ‛Eq String’
diff --git a/testsuite/tests/module/mod45.stderr b/testsuite/tests/module/mod45.stderr
index 8aadf22b1011..2673763cb07b 100644
--- a/testsuite/tests/module/mod45.stderr
+++ b/testsuite/tests/module/mod45.stderr
@@ -3,4 +3,4 @@ mod45.hs:5:11:
     Illegal type signature in instance declaration:
       (==) :: T -> T -> Bool
     (Use -XInstanceSigs to allow this)
-    In the instance declaration for `Eq T'
+    In the instance declaration for ‛Eq T’
diff --git a/testsuite/tests/module/mod46.stderr b/testsuite/tests/module/mod46.stderr
index c4c82032668a..516215c6791e 100644
--- a/testsuite/tests/module/mod46.stderr
+++ b/testsuite/tests/module/mod46.stderr
@@ -2,4 +2,4 @@
 mod46.hs:4:10:
     No instance for (Eq T)
       arising from the superclasses of an instance declaration
-    In the instance declaration for `Ord T'
+    In the instance declaration for ‛Ord T’
diff --git a/testsuite/tests/module/mod47.stderr b/testsuite/tests/module/mod47.stderr
index 1b8fd0b4113a..44aba92178a0 100644
--- a/testsuite/tests/module/mod47.stderr
+++ b/testsuite/tests/module/mod47.stderr
@@ -6,4 +6,4 @@ mod47.hs:6:10:
       bound by the instance declaration at mod47.hs:6:10-34
     Possible fix:
       add (Num a) to the context of the instance declaration
-    In the instance declaration for `Bar [a]'
+    In the instance declaration for ‛Bar [a]’
diff --git a/testsuite/tests/module/mod49.stderr b/testsuite/tests/module/mod49.stderr
index f08b36e0c417..f0fca3e7addb 100644
--- a/testsuite/tests/module/mod49.stderr
+++ b/testsuite/tests/module/mod49.stderr
@@ -1,2 +1,2 @@
 
-mod49.hs:5:3: `y' is not a (visible) method of class `C'
+mod49.hs:5:3: ‛y’ is not a (visible) method of class ‛C’
diff --git a/testsuite/tests/module/mod5.stderr-ghc b/testsuite/tests/module/mod5.stderr-ghc
index 7992560ca3e3..b48307ab3732 100644
--- a/testsuite/tests/module/mod5.stderr-ghc
+++ b/testsuite/tests/module/mod5.stderr-ghc
@@ -1,3 +1,3 @@
 
-mod5.hs:2:10:
-    Warning: `K1' is exported by `T(K1, K1)' and `T(K1, K1)'
+mod5.hs:2:10: Warning:
+    ‛K1’ is exported by ‛T(K1, K1)’ and ‛T(K1, K1)’
diff --git a/testsuite/tests/module/mod50.stderr b/testsuite/tests/module/mod50.stderr
index 9357f7a2d813..453f2f2da38f 100644
--- a/testsuite/tests/module/mod50.stderr
+++ b/testsuite/tests/module/mod50.stderr
@@ -1,2 +1,2 @@
 
-mod50.hs:3:22: Not in scope: type constructor or class `Foo'
+mod50.hs:3:22: Not in scope: type constructor or class ‛Foo’
diff --git a/testsuite/tests/module/mod53.stderr b/testsuite/tests/module/mod53.stderr
index 2e142a5bfbf3..4129d3995959 100644
--- a/testsuite/tests/module/mod53.stderr
+++ b/testsuite/tests/module/mod53.stderr
@@ -1,5 +1,5 @@
-
-mod53.hs:4:22:
-    Can't make a derived instance of `C T':
-      `C' is not a derivable class
-    In the data declaration for `T'
+
+mod53.hs:4:22:
+    Can't make a derived instance of ‛C T’:
+      ‛C’ is not a derivable class
+    In the data declaration for ‛T’
diff --git a/testsuite/tests/module/mod55.stderr b/testsuite/tests/module/mod55.stderr
index 9db5ea55cc29..a1f388f339e4 100644
--- a/testsuite/tests/module/mod55.stderr
+++ b/testsuite/tests/module/mod55.stderr
@@ -1,6 +1,6 @@
-
-mod55.hs:3:26:
-    Can't make a derived instance of `Enum T':
-      `T' must be an enumeration type
-      (an enumeration consists of one or more nullary, non-GADT constructors)
-    In the data declaration for `T'
+
+mod55.hs:3:26:
+    Can't make a derived instance of ‛Enum T’:
+      ‛T’ must be an enumeration type
+      (an enumeration consists of one or more nullary, non-GADT constructors)
+    In the data declaration for ‛T’
diff --git a/testsuite/tests/module/mod56.stderr b/testsuite/tests/module/mod56.stderr
index db194406edaa..44560cb76429 100644
--- a/testsuite/tests/module/mod56.stderr
+++ b/testsuite/tests/module/mod56.stderr
@@ -1,8 +1,8 @@
-
-mod56.hs:4:39:
-    Can't make a derived instance of `Ix T':
-      `T' must be an enumeration type
-      (an enumeration consists of one or more nullary, non-GADT constructors)
-        or
-      `T' must have precisely one constructor
-    In the data declaration for `T'
+
+mod56.hs:4:39:
+    Can't make a derived instance of ‛Ix T’:
+      ‛T’ must be an enumeration type
+      (an enumeration consists of one or more nullary, non-GADT constructors)
+        or
+      ‛T’ must have precisely one constructor
+    In the data declaration for ‛T’
diff --git a/testsuite/tests/module/mod59.stderr b/testsuite/tests/module/mod59.stderr
index c08db2a55fdb..26e74034ca89 100644
--- a/testsuite/tests/module/mod59.stderr
+++ b/testsuite/tests/module/mod59.stderr
@@ -1,2 +1,2 @@
 
-mod59.hs:3:3: Not in scope: data constructor `K'
+mod59.hs:3:3: Not in scope: data constructor ‛K’
diff --git a/testsuite/tests/module/mod60.stderr b/testsuite/tests/module/mod60.stderr
index f363cb933bce..b25ee48b16a1 100644
--- a/testsuite/tests/module/mod60.stderr
+++ b/testsuite/tests/module/mod60.stderr
@@ -1,5 +1,5 @@
 
 mod60.hs:3:4:
-    Constructor `Left' should have 1 argument, but has been given none
+    Constructor ‛Left’ should have 1 argument, but has been given none
     In the pattern: Left
-    In an equation for `f': f (Left) = error "foo"
+    In an equation for ‛f’: f (Left) = error "foo"
diff --git a/testsuite/tests/module/mod61.stderr b/testsuite/tests/module/mod61.stderr
index 3ac4937437ac..e96817f659d9 100644
--- a/testsuite/tests/module/mod61.stderr
+++ b/testsuite/tests/module/mod61.stderr
@@ -1,4 +1,4 @@
 
 mod61.hs:3:11:
     Precedence parsing error
-        cannot mix `==' [infix 4] and `==' [infix 4] in the same infix expression
+        cannot mix ‛==’ [infix 4] and ‛==’ [infix 4] in the same infix expression
diff --git a/testsuite/tests/module/mod62.stderr b/testsuite/tests/module/mod62.stderr
index d435dbd6b91e..cac9a6f32c1e 100644
--- a/testsuite/tests/module/mod62.stderr
+++ b/testsuite/tests/module/mod62.stderr
@@ -2,5 +2,5 @@
 mod62.hs:3:9: Qualified name in binding position: M.y
 
 mod62.hs:3:22:
-    Not in scope: `M.y'
-    Perhaps you meant `M.x' (line 3)
+    Not in scope: ‛M.y’
+    Perhaps you meant ‛M.x’ (line 3)
diff --git a/testsuite/tests/module/mod63.stderr b/testsuite/tests/module/mod63.stderr
index a4745b2e49ba..3a60973366d3 100644
--- a/testsuite/tests/module/mod63.stderr
+++ b/testsuite/tests/module/mod63.stderr
@@ -1,5 +1,5 @@
 
 mod63.hs:3:1:
-    Equations for `f' have different numbers of arguments
+    Equations for ‛f’ have different numbers of arguments
       mod63.hs:3:1-8
       mod63.hs:4:1-11
diff --git a/testsuite/tests/module/mod66.stderr b/testsuite/tests/module/mod66.stderr
index a1bf5a2af7cf..b5fc83fa571d 100644
--- a/testsuite/tests/module/mod66.stderr
+++ b/testsuite/tests/module/mod66.stderr
@@ -1,5 +1,5 @@
 
 mod66.hs:5:1:
-    Multiple declarations of `f'
+    Multiple declarations of ‛f’
     Declared at: mod66.hs:3:1
                  mod66.hs:5:1
diff --git a/testsuite/tests/module/mod67.stderr b/testsuite/tests/module/mod67.stderr
index 2c2323b83f2e..a46c8ab03a94 100644
--- a/testsuite/tests/module/mod67.stderr
+++ b/testsuite/tests/module/mod67.stderr
@@ -1,3 +1,3 @@
 
 mod67.hs:3:1:
-    The type signature for `f' lacks an accompanying binding
+    The type signature for ‛f’ lacks an accompanying binding
diff --git a/testsuite/tests/module/mod68.stderr b/testsuite/tests/module/mod68.stderr
index f8490a06b6fd..0d46be073b70 100644
--- a/testsuite/tests/module/mod68.stderr
+++ b/testsuite/tests/module/mod68.stderr
@@ -1,5 +1,5 @@
-
-mod68.hs:4:1:
-    Duplicate type signatures for `f'
-    at mod68.hs:3:1
-       mod68.hs:4:1
+
+mod68.hs:4:1:
+    Duplicate type signatures for ‛f’
+    at mod68.hs:3:1
+       mod68.hs:4:1
diff --git a/testsuite/tests/module/mod7.stderr b/testsuite/tests/module/mod7.stderr
index f9119cd78666..5a446d38772f 100644
--- a/testsuite/tests/module/mod7.stderr
+++ b/testsuite/tests/module/mod7.stderr
@@ -1,2 +1,2 @@
 
-mod7.hs:2:10: Not in scope: type constructor or class `T'
+mod7.hs:2:10: Not in scope: type constructor or class ‛T’
diff --git a/testsuite/tests/module/mod72.stderr b/testsuite/tests/module/mod72.stderr
index 7f047d80233e..b3ff8a9b3e8a 100644
--- a/testsuite/tests/module/mod72.stderr
+++ b/testsuite/tests/module/mod72.stderr
@@ -1,2 +1,2 @@
 
-mod72.hs:3:7: Not in scope: `g'
+mod72.hs:3:7: Not in scope: ‛g’
diff --git a/testsuite/tests/module/mod73.stderr b/testsuite/tests/module/mod73.stderr
index f1234514b40b..de239763831d 100644
--- a/testsuite/tests/module/mod73.stderr
+++ b/testsuite/tests/module/mod73.stderr
@@ -1,7 +1,7 @@
 
 mod73.hs:3:7:
-    Not in scope: `Prelude.g'
+    Not in scope: ‛Prelude.g’
     Perhaps you meant one of these:
-      `Prelude.id' (imported from Prelude),
-      `Prelude.log' (imported from Prelude),
-      `Prelude.pi' (imported from Prelude)
+      ‛Prelude.id’ (imported from Prelude),
+      ‛Prelude.log’ (imported from Prelude),
+      ‛Prelude.pi’ (imported from Prelude)
diff --git a/testsuite/tests/module/mod74.stderr b/testsuite/tests/module/mod74.stderr
index b4d417bac21c..89d12d495c94 100644
--- a/testsuite/tests/module/mod74.stderr
+++ b/testsuite/tests/module/mod74.stderr
@@ -1,2 +1,2 @@
 
-mod74.hs:3:7: Not in scope: `N.g'
+mod74.hs:3:7: Not in scope: ‛N.g’
diff --git a/testsuite/tests/module/mod77.stderr b/testsuite/tests/module/mod77.stderr
index 0cb4920e31f6..1d05d71a0780 100644
--- a/testsuite/tests/module/mod77.stderr
+++ b/testsuite/tests/module/mod77.stderr
@@ -1,3 +1,3 @@
 
 mod77.hs:3:7:
-    The fixity signature for `$$$' lacks an accompanying binding
+    The fixity signature for ‛$$$’ lacks an accompanying binding
diff --git a/testsuite/tests/module/mod79.stderr b/testsuite/tests/module/mod79.stderr
index f8a185725e28..329e47625f80 100644
--- a/testsuite/tests/module/mod79.stderr
+++ b/testsuite/tests/module/mod79.stderr
@@ -1,2 +1,2 @@
 
-mod79.hs:3:16: Module `Prelude' does not export `C'
+mod79.hs:3:16: Module ‛Prelude’ does not export ‛C’
diff --git a/testsuite/tests/module/mod80.stderr b/testsuite/tests/module/mod80.stderr
index c56caf0ae6ed..7908ede6ee23 100644
--- a/testsuite/tests/module/mod80.stderr
+++ b/testsuite/tests/module/mod80.stderr
@@ -1,2 +1,2 @@
 
-mod80.hs:3:16: Module `Prelude' does not export `f'
+mod80.hs:3:16: Module ‛Prelude’ does not export ‛f’
diff --git a/testsuite/tests/module/mod81.stderr b/testsuite/tests/module/mod81.stderr
index d3f0d5c42753..b3c31ddd386c 100644
--- a/testsuite/tests/module/mod81.stderr
+++ b/testsuite/tests/module/mod81.stderr
@@ -1,3 +1,3 @@
 
 mod81.hs:3:16:
-    Module `Prelude' does not export `Either(Left, Right, Foo)'
+    Module ‛Prelude’ does not export ‛Either(Left, Right, Foo)’
diff --git a/testsuite/tests/module/mod87.stderr b/testsuite/tests/module/mod87.stderr
index 1536679aa69a..99ad6bf351c9 100644
--- a/testsuite/tests/module/mod87.stderr
+++ b/testsuite/tests/module/mod87.stderr
@@ -1,2 +1,2 @@
 
-mod87.hs:4:5: Not in scope: data constructor `Left'
+mod87.hs:4:5: Not in scope: data constructor ‛Left’
diff --git a/testsuite/tests/module/mod88.stderr b/testsuite/tests/module/mod88.stderr
index f166c864c7da..707ad693e258 100644
--- a/testsuite/tests/module/mod88.stderr
+++ b/testsuite/tests/module/mod88.stderr
@@ -1,2 +1,2 @@
 
-mod88.hs:5:5: Not in scope: data constructor `Prelude.Left'
+mod88.hs:5:5: Not in scope: data constructor ‛Prelude.Left’
diff --git a/testsuite/tests/module/mod89.stderr b/testsuite/tests/module/mod89.stderr
index c4eb78e42810..653c93a810c9 100644
--- a/testsuite/tests/module/mod89.stderr
+++ b/testsuite/tests/module/mod89.stderr
@@ -1,2 +1,2 @@
 
-mod89.hs:3:16: Module `Prelude' does not export `map(..)'
+mod89.hs:3:16: Module ‛Prelude’ does not export ‛map(..)’
diff --git a/testsuite/tests/module/mod9.stderr b/testsuite/tests/module/mod9.stderr
index 19bec80bb294..deee729ba966 100644
--- a/testsuite/tests/module/mod9.stderr
+++ b/testsuite/tests/module/mod9.stderr
@@ -1,2 +1,2 @@
 
-mod9.hs:2:10: Not in scope: type constructor or class `T'
+mod9.hs:2:10: Not in scope: type constructor or class ‛T’
diff --git a/testsuite/tests/module/mod90.stderr b/testsuite/tests/module/mod90.stderr
index 7cc0b108ed24..050b53c02e62 100644
--- a/testsuite/tests/module/mod90.stderr
+++ b/testsuite/tests/module/mod90.stderr
@@ -1,8 +1,8 @@
 
 mod90.hs:3:16:
-    In module `Prelude':
-      `Left' is a data constructor of `Either'
+    In module ‛Prelude’:
+      ‛Left’ is a data constructor of ‛Either’
     To import it use
-      `import' Prelude( Either( Left ) )
+      ‛import’ Prelude( Either( Left ) )
     or
-      `import' Prelude( Either(..) )
+      ‛import’ Prelude( Either(..) )
diff --git a/testsuite/tests/module/mod91.stderr b/testsuite/tests/module/mod91.stderr
index 5d7d6e1df632..0324f48a013f 100644
--- a/testsuite/tests/module/mod91.stderr
+++ b/testsuite/tests/module/mod91.stderr
@@ -1,3 +1,3 @@
 
 mod91.hs:3:16:
-    Module `Prelude' does not export `Eq((==), (/=), eq)'
+    Module ‛Prelude’ does not export ‛Eq((==), (/=), eq)’
diff --git a/testsuite/tests/module/mod97.stderr b/testsuite/tests/module/mod97.stderr
index fea2306c192d..03891bc178ce 100644
--- a/testsuite/tests/module/mod97.stderr
+++ b/testsuite/tests/module/mod97.stderr
@@ -1,2 +1,2 @@
 
-mod97.hs:4:9: Not in scope: `=='
+mod97.hs:4:9: Not in scope: ‛==’
diff --git a/testsuite/tests/overloadedlists/should_fail/overloadedlistsfail01.stderr b/testsuite/tests/overloadedlists/should_fail/overloadedlistsfail01.stderr
index a08985f88ed6..cc1082c7de2c 100644
--- a/testsuite/tests/overloadedlists/should_fail/overloadedlistsfail01.stderr
+++ b/testsuite/tests/overloadedlists/should_fail/overloadedlistsfail01.stderr
@@ -1,36 +1,36 @@
 
 overloadedlistsfail01.hs:5:8:
-    No instance for (Show a0) arising from a use of `print'
-    The type variable `a0' is ambiguous
+    No instance for (Show a0) arising from a use of ‛print’
+    The type variable ‛a0’ is ambiguous
     Note: there are several potential instances:
-      instance Show Double -- Defined in `GHC.Float'
-      instance Show Float -- Defined in `GHC.Float'
+      instance Show Double -- Defined in ‛GHC.Float’
+      instance Show Float -- Defined in ‛GHC.Float’
       instance (Integral a, Show a) => Show (GHC.Real.Ratio a)
-        -- Defined in `GHC.Real'
+        -- Defined in ‛GHC.Real’
       ...plus 23 others
     In the expression: print [1]
-    In an equation for `main': main = print [1]
+    In an equation for ‛main’: main = print [1]
 
 overloadedlistsfail01.hs:5:14:
     No instance for (GHC.Exts.IsList a0)
       arising from an overloaded list
-    The type variable `a0' is ambiguous
+    The type variable ‛a0’ is ambiguous
     Note: there is a potential instance available:
-      instance GHC.Exts.IsList [a] -- Defined in `GHC.Exts'
-    In the first argument of `print', namely `[1]'
+      instance GHC.Exts.IsList [a] -- Defined in ‛GHC.Exts’
+    In the first argument of ‛print’, namely ‛[1]’
     In the expression: print [1]
-    In an equation for `main': main = print [1]
+    In an equation for ‛main’: main = print [1]
 
 overloadedlistsfail01.hs:5:15:
     No instance for (Num (GHC.Exts.Item a0))
-      arising from the literal `1'
-    The type variable `a0' is ambiguous
+      arising from the literal ‛1’
+    The type variable ‛a0’ is ambiguous
     Note: there are several potential instances:
-      instance Num Double -- Defined in `GHC.Float'
-      instance Num Float -- Defined in `GHC.Float'
+      instance Num Double -- Defined in ‛GHC.Float’
+      instance Num Float -- Defined in ‛GHC.Float’
       instance Integral a => Num (GHC.Real.Ratio a)
-        -- Defined in `GHC.Real'
+        -- Defined in ‛GHC.Real’
       ...plus three others
     In the expression: 1
-    In the first argument of `print', namely `[1]'
+    In the first argument of ‛print’, namely ‛[1]’
     In the expression: print [1]
diff --git a/testsuite/tests/overloadedlists/should_fail/overloadedlistsfail02.stderr b/testsuite/tests/overloadedlists/should_fail/overloadedlistsfail02.stderr
index 49e6b9ee930f..62f8a0e0bd93 100644
--- a/testsuite/tests/overloadedlists/should_fail/overloadedlistsfail02.stderr
+++ b/testsuite/tests/overloadedlists/should_fail/overloadedlistsfail02.stderr
@@ -3,11 +3,11 @@ overloadedlistsfail02.hs:6:8:
     No instance for (GHC.Exts.IsList Foo)
       arising from an overloaded list
     In the expression: [7]
-    In an equation for `test': test = [7]
+    In an equation for ‛test’: test = [7]
 
 overloadedlistsfail02.hs:6:9:
     No instance for (Num (GHC.Exts.Item Foo))
-      arising from the literal `7'
+      arising from the literal ‛7’
     In the expression: 7
     In the expression: [7]
-    In an equation for `test': test = [7]
+    In an equation for ‛test’: test = [7]
diff --git a/testsuite/tests/overloadedlists/should_fail/overloadedlistsfail03.stderr b/testsuite/tests/overloadedlists/should_fail/overloadedlistsfail03.stderr
index 099d79f233f5..cd8cbff03239 100644
--- a/testsuite/tests/overloadedlists/should_fail/overloadedlistsfail03.stderr
+++ b/testsuite/tests/overloadedlists/should_fail/overloadedlistsfail03.stderr
@@ -1,9 +1,6 @@
 
 overloadedlistsfail03.hs:3:27:
-    Couldn't match expected type `Char' with actual type `[Char]'
+    Couldn't match expected type ‛Char’ with actual type ‛[Char]’
     In the expression: "b"
-    In the first argument of `length', namely `['a', "b"]'
-    In the first argument of `print', namely `(length ['a', "b"])'
-
-
-
+    In the first argument of ‛length’, namely ‛['a', "b"]’
+    In the first argument of ‛print’, namely ‛(length ['a', "b"])’
diff --git a/testsuite/tests/overloadedlists/should_fail/overloadedlistsfail04.stderr b/testsuite/tests/overloadedlists/should_fail/overloadedlistsfail04.stderr
index cfa051997a0a..145c6cd1feee 100644
--- a/testsuite/tests/overloadedlists/should_fail/overloadedlistsfail04.stderr
+++ b/testsuite/tests/overloadedlists/should_fail/overloadedlistsfail04.stderr
@@ -1,12 +1,8 @@
 
 overloadedlistsfail04.hs:3:15:
     No instance for (Enum [Char])
-      arising from the arithmetic sequence `"a" .. "b"'
-    In the first argument of `print', namely
-      `(["a" .. "b"] :: [String])'
+      arising from the arithmetic sequence ‛"a" .. "b"’
+    In the first argument of ‛print’, namely
+      ‛(["a" .. "b"] :: [String])’
     In the expression: print (["a" .. "b"] :: [String])
-    In an equation for `main': main = print (["a" .. "b"] :: [String])
-
-
-
-
+    In an equation for ‛main’: main = print (["a" .. "b"] :: [String])
diff --git a/testsuite/tests/overloadedlists/should_fail/overloadedlistsfail05.stderr b/testsuite/tests/overloadedlists/should_fail/overloadedlistsfail05.stderr
index 6e4d3dbd0477..131294b138ee 100644
--- a/testsuite/tests/overloadedlists/should_fail/overloadedlistsfail05.stderr
+++ b/testsuite/tests/overloadedlists/should_fail/overloadedlistsfail05.stderr
@@ -1,7 +1,7 @@
 
 overloadedlistsfail05.hs:3:29:
-    Couldn't match expected type `Char' with actual type `Int'
+    Couldn't match expected type ‛Char’ with actual type ‛Int’
     In the expression: (10 :: Int)
-    In the first argument of `length', namely `['a' .. (10 :: Int)]'
-    In the first argument of `print', namely
-      `(length ['a' .. (10 :: Int)])'
+    In the first argument of ‛length’, namely ‛['a' .. (10 :: Int)]’
+    In the first argument of ‛print’, namely
+      ‛(length ['a' .. (10 :: Int)])’
diff --git a/testsuite/tests/overloadedlists/should_fail/overloadedlistsfail06.stderr b/testsuite/tests/overloadedlists/should_fail/overloadedlistsfail06.stderr
index 2cd0c3fa1a59..239465670fdf 100644
--- a/testsuite/tests/overloadedlists/should_fail/overloadedlistsfail06.stderr
+++ b/testsuite/tests/overloadedlists/should_fail/overloadedlistsfail06.stderr
@@ -1,7 +1,4 @@
 
-overloadedlistsfail06.hs:3:3:
-    Not in scope: `toList'
-
-overloadedlistsfail06.hs:3:8:
-    Not in scope: `fromListN'
+overloadedlistsfail06.hs:3:3: Not in scope: ‛toList’
 
+overloadedlistsfail06.hs:3:8: Not in scope: ‛fromListN’
diff --git a/testsuite/tests/parser/should_compile/T2245.stderr b/testsuite/tests/parser/should_compile/T2245.stderr
index 527957a935aa..edfa53333b2a 100644
--- a/testsuite/tests/parser/should_compile/T2245.stderr
+++ b/testsuite/tests/parser/should_compile/T2245.stderr
@@ -1,34 +1,34 @@
 
-T2245.hs:4:10:
-    Warning: No explicit method or default declaration for `+'
-    In the instance declaration for `Num T'
+T2245.hs:4:10: Warning:
+    No explicit method or default declaration for ‛+’
+    In the instance declaration for ‛Num T’
 
-T2245.hs:4:10:
-    Warning: No explicit method or default declaration for `*'
-    In the instance declaration for `Num T'
+T2245.hs:4:10: Warning:
+    No explicit method or default declaration for ‛*’
+    In the instance declaration for ‛Num T’
 
-T2245.hs:4:10:
-    Warning: No explicit method or default declaration for `abs'
-    In the instance declaration for `Num T'
+T2245.hs:4:10: Warning:
+    No explicit method or default declaration for ‛abs’
+    In the instance declaration for ‛Num T’
 
-T2245.hs:4:10:
-    Warning: No explicit method or default declaration for `signum'
-    In the instance declaration for `Num T'
+T2245.hs:4:10: Warning:
+    No explicit method or default declaration for ‛signum’
+    In the instance declaration for ‛Num T’
 
-T2245.hs:4:10:
-    Warning: No explicit method or default declaration for `fromInteger'
-    In the instance declaration for `Num T'
+T2245.hs:4:10: Warning:
+    No explicit method or default declaration for ‛fromInteger’
+    In the instance declaration for ‛Num T’
 
-T2245.hs:5:10:
-    Warning: No explicit method or default declaration for `fromRational'
-    In the instance declaration for `Fractional T'
+T2245.hs:5:10: Warning:
+    No explicit method or default declaration for ‛fromRational’
+    In the instance declaration for ‛Fractional T’
 
-T2245.hs:7:29:
-    Warning: Defaulting the following constraint(s) to type `T'
-               (Fractional b0)
-                 arising from the literal `1e400' at T2245.hs:7:29-33
-               (Ord b0) arising from a use of `<' at T2245.hs:7:27
-               (Read b0) arising from a use of `read' at T2245.hs:7:38-41
-    In the second argument of `(<)', namely `1e400'
-    In the first argument of `(.)', namely `(< 1e400)'
-    In the second argument of `(.)', namely `(< 1e400) . read'
+T2245.hs:7:29: Warning:
+    Defaulting the following constraint(s) to type ‛T’
+      (Fractional b0)
+        arising from the literal ‛1e400’ at T2245.hs:7:29-33
+      (Ord b0) arising from a use of ‛<’ at T2245.hs:7:27
+      (Read b0) arising from a use of ‛read’ at T2245.hs:7:38-41
+    In the second argument of ‛(<)’, namely ‛1e400’
+    In the first argument of ‛(.)’, namely ‛(< 1e400)’
+    In the second argument of ‛(.)’, namely ‛(< 1e400) . read’
diff --git a/testsuite/tests/parser/should_compile/T3303.stderr b/testsuite/tests/parser/should_compile/T3303.stderr
index c2ae0c60f904..685448f2cc75 100644
--- a/testsuite/tests/parser/should_compile/T3303.stderr
+++ b/testsuite/tests/parser/should_compile/T3303.stderr
@@ -1,6 +1,6 @@
 
 T3303.hs:7:7: Warning:
-    In the use of `foo' (imported from T3303A):
+    In the use of ‛foo’ (imported from T3303A):
     Deprecated: "This is a multi-line
                  deprecation message
                  for foo"
diff --git a/testsuite/tests/parser/should_compile/read014.stderr-ghc b/testsuite/tests/parser/should_compile/read014.stderr-ghc
index b1d9b81256c1..9b49aaf5608b 100644
--- a/testsuite/tests/parser/should_compile/read014.stderr-ghc
+++ b/testsuite/tests/parser/should_compile/read014.stderr-ghc
@@ -1,28 +1,28 @@
 
-read014.hs:4:1:
-    Warning: Top-level binding with no type signature:
-               ng1 :: forall t a. Num a => t -> a -> a
+read014.hs:4:1: Warning:
+    Top-level binding with no type signature:
+      ng1 :: forall t a. Num a => t -> a -> a
 
-read014.hs:4:5: Warning: Defined but not used: `x'
+read014.hs:4:5: Warning: Defined but not used: ‛x’
 
-read014.hs:6:10:
-    Warning: No explicit method or default declaration for `+'
-    In the instance declaration for `Num (a, b)'
+read014.hs:6:10: Warning:
+    No explicit method or default declaration for ‛+’
+    In the instance declaration for ‛Num (a, b)’
 
-read014.hs:6:10:
-    Warning: No explicit method or default declaration for `*'
-    In the instance declaration for `Num (a, b)'
+read014.hs:6:10: Warning:
+    No explicit method or default declaration for ‛*’
+    In the instance declaration for ‛Num (a, b)’
 
-read014.hs:6:10:
-    Warning: No explicit method or default declaration for `abs'
-    In the instance declaration for `Num (a, b)'
+read014.hs:6:10: Warning:
+    No explicit method or default declaration for ‛abs’
+    In the instance declaration for ‛Num (a, b)’
 
-read014.hs:6:10:
-    Warning: No explicit method or default declaration for `signum'
-    In the instance declaration for `Num (a, b)'
+read014.hs:6:10: Warning:
+    No explicit method or default declaration for ‛signum’
+    In the instance declaration for ‛Num (a, b)’
 
-read014.hs:6:10:
-    Warning: No explicit method or default declaration for `fromInteger'
-    In the instance declaration for `Num (a, b)'
+read014.hs:6:10: Warning:
+    No explicit method or default declaration for ‛fromInteger’
+    In the instance declaration for ‛Num (a, b)’
 
-read014.hs:8:53: Warning: Defined but not used: `x'
+read014.hs:8:53: Warning: Defined but not used: ‛x’
diff --git a/testsuite/tests/parser/should_fail/T3811d.stderr b/testsuite/tests/parser/should_fail/T3811d.stderr
index 28d08548c12c..ddffea00f8ac 100644
--- a/testsuite/tests/parser/should_fail/T3811d.stderr
+++ b/testsuite/tests/parser/should_fail/T3811d.stderr
@@ -1,4 +1,4 @@
-
-T3811d.hs:6:11:
-    Unexpected type `D Char' where type variable expected
-    In the declaration of `C b (D Char) b'
+
+T3811d.hs:6:11:
+    Unexpected type ‛D Char’ where type variable expected
+    In the declaration of ‛C b (D Char) b’
diff --git a/testsuite/tests/parser/should_fail/readFail001.stderr b/testsuite/tests/parser/should_fail/readFail001.stderr
index f146ae5625ae..aba4ec239dd4 100644
--- a/testsuite/tests/parser/should_fail/readFail001.stderr
+++ b/testsuite/tests/parser/should_fail/readFail001.stderr
@@ -1,26 +1,26 @@
 
 readFail001.hs:25:11:
-    The fixity signature for `+#' lacks an accompanying binding
+    The fixity signature for ‛+#’ lacks an accompanying binding
 
 readFail001.hs:38:32:
-    Not in scope: type constructor or class `Leaf'
+    Not in scope: type constructor or class ‛Leaf’
     A data constructor of that name is in scope; did you mean -XDataKinds?
 
 readFail001.hs:38:41:
-    Not in scope: type constructor or class `Leaf'
+    Not in scope: type constructor or class ‛Leaf’
     A data constructor of that name is in scope; did you mean -XDataKinds?
 
-readFail001.hs:87:11: Not in scope: `x'
+readFail001.hs:87:11: Not in scope: ‛x’
 
-readFail001.hs:88:19: Not in scope: `x'
+readFail001.hs:88:19: Not in scope: ‛x’
 
-readFail001.hs:94:19: Not in scope: `isSpace'
+readFail001.hs:94:19: Not in scope: ‛isSpace’
 
-readFail001.hs:95:13: Not in scope: `foo'
+readFail001.hs:95:13: Not in scope: ‛foo’
 
-readFail001.hs:107:30: Not in scope: data constructor `Foo'
+readFail001.hs:107:30: Not in scope: data constructor ‛Foo’
 
-readFail001.hs:107:42: Not in scope: data constructor `Bar'
+readFail001.hs:107:42: Not in scope: data constructor ‛Bar’
 
 readFail001.hs:112:23:
-    Not in scope: type constructor or class `Foo'
+    Not in scope: type constructor or class ‛Foo’
diff --git a/testsuite/tests/parser/should_fail/readFail008.stderr b/testsuite/tests/parser/should_fail/readFail008.stderr
index a40ce01da007..a2701740b073 100644
--- a/testsuite/tests/parser/should_fail/readFail008.stderr
+++ b/testsuite/tests/parser/should_fail/readFail008.stderr
@@ -1,6 +1,6 @@
 
 readFail008.hs:5:15:
     A newtype constructor cannot have a strictness annotation,
-      but `T' does
-    In the definition of data constructor `T'
-    In the newtype declaration for `N'
+      but ‛T’ does
+    In the definition of data constructor ‛T’
+    In the newtype declaration for ‛N’
diff --git a/testsuite/tests/parser/should_fail/readFail016.stderr b/testsuite/tests/parser/should_fail/readFail016.stderr
index 620d8505a262..87f3d2c65759 100644
--- a/testsuite/tests/parser/should_fail/readFail016.stderr
+++ b/testsuite/tests/parser/should_fail/readFail016.stderr
@@ -1,4 +1,4 @@
 
 readFail016.hs:7:1:
     Precedence parsing error
-        cannot mix `|-' [infix 6] and `:' [infixr 5] in the same infix expression
+        cannot mix ‛|-’ [infix 6] and ‛:’ [infixr 5] in the same infix expression
diff --git a/testsuite/tests/parser/should_fail/readFail021.stderr b/testsuite/tests/parser/should_fail/readFail021.stderr
index a3f5e7b3f019..ed55c0df7f05 100644
--- a/testsuite/tests/parser/should_fail/readFail021.stderr
+++ b/testsuite/tests/parser/should_fail/readFail021.stderr
@@ -1,2 +1,3 @@
 
-readFail021.hs:1:1: The function `main' is not defined in module `Main'
+readFail021.hs:1:1:
+    The function ‛main’ is not defined in module ‛Main’
diff --git a/testsuite/tests/parser/should_fail/readFail023.stderr b/testsuite/tests/parser/should_fail/readFail023.stderr
index e1b6ceb83c53..c31dc4e9934c 100644
--- a/testsuite/tests/parser/should_fail/readFail023.stderr
+++ b/testsuite/tests/parser/should_fail/readFail023.stderr
@@ -1,6 +1,6 @@
 
 readFail023.hs:9:5:
-    The operator `**' [infixl 7] of a section
+    The operator ‛**’ [infixl 7] of a section
         must have lower precedence than that of the operand,
           namely prefix `-' [infixl 6]
-        in the section: `- 3 **'
+        in the section: ‛- 3 **’
diff --git a/testsuite/tests/parser/should_fail/readFail025.stderr b/testsuite/tests/parser/should_fail/readFail025.stderr
index 24e83e712aba..0d74f86338eb 100644
--- a/testsuite/tests/parser/should_fail/readFail025.stderr
+++ b/testsuite/tests/parser/should_fail/readFail025.stderr
@@ -1,4 +1,4 @@
-
-readFail025.hs:5:8:
-    Unexpected type `String' where type variable expected
-    In the declaration of `T String'
+
+readFail025.hs:5:8:
+    Unexpected type ‛String’ where type variable expected
+    In the declaration of ‛T String’
diff --git a/testsuite/tests/parser/should_fail/readFail035.stderr b/testsuite/tests/parser/should_fail/readFail035.stderr
index f0489b45eb1f..9e3a64a06c47 100644
--- a/testsuite/tests/parser/should_fail/readFail035.stderr
+++ b/testsuite/tests/parser/should_fail/readFail035.stderr
@@ -1,4 +1,4 @@
-
-readFail035.hs:6:1:
-    `Foo' has no constructors (-XEmptyDataDecls permits this)
-    In the data declaration for `Foo'
+
+readFail035.hs:6:1:
+    ‛Foo’ has no constructors (-XEmptyDataDecls permits this)
+    In the data declaration for ‛Foo’
diff --git a/testsuite/tests/parser/should_fail/readFail036.stderr b/testsuite/tests/parser/should_fail/readFail036.stderr
index 088f0a997572..9360e6242f78 100644
--- a/testsuite/tests/parser/should_fail/readFail036.stderr
+++ b/testsuite/tests/parser/should_fail/readFail036.stderr
@@ -1,5 +1,5 @@
 
 readFail036.hs:4:16:
-    Illegal kind signature: `*'
+    Illegal kind signature: ‛*’
       Perhaps you intended to use -XKindSignatures
-    In the data type declaration for `Foo'
+    In the data type declaration for ‛Foo’
diff --git a/testsuite/tests/parser/should_fail/readFail037.stderr b/testsuite/tests/parser/should_fail/readFail037.stderr
index 4c900d66b105..a9c9ff7ad01e 100644
--- a/testsuite/tests/parser/should_fail/readFail037.stderr
+++ b/testsuite/tests/parser/should_fail/readFail037.stderr
@@ -1,5 +1,5 @@
 
 readFail037.hs:4:1:
-    Too many parameters for class `Foo'
+    Too many parameters for class ‛Foo’
     (Use -XMultiParamTypeClasses to allow multi-parameter classes)
-    In the class declaration for `Foo'
+    In the class declaration for ‛Foo’
diff --git a/testsuite/tests/parser/should_fail/readFail039.stderr b/testsuite/tests/parser/should_fail/readFail039.stderr
index 1c7cb6b97500..d0e27526fccd 100644
--- a/testsuite/tests/parser/should_fail/readFail039.stderr
+++ b/testsuite/tests/parser/should_fail/readFail039.stderr
@@ -1,6 +1,6 @@
-
-readFail039.hs:8:14:
-    Can't make a derived instance of `C Foo':
-      `C' is not a derivable class
-      Try -XGeneralizedNewtypeDeriving for GHC's newtype-deriving extension
-    In the newtype declaration for `Foo'
+
+readFail039.hs:8:14:
+    Can't make a derived instance of ‛C Foo’:
+      ‛C’ is not a derivable class
+      Try -XGeneralizedNewtypeDeriving for GHC's newtype-deriving extension
+    In the newtype declaration for ‛Foo’
diff --git a/testsuite/tests/parser/should_fail/readFail041.stderr b/testsuite/tests/parser/should_fail/readFail041.stderr
index fbe49b1153fc..14903b5b28e7 100644
--- a/testsuite/tests/parser/should_fail/readFail041.stderr
+++ b/testsuite/tests/parser/should_fail/readFail041.stderr
@@ -1,5 +1,5 @@
 
 readFail041.hs:6:1:
-    Fundeps in class `Foo'
+    Fundeps in class ‛Foo’
     (Use -XFunctionalDependencies to allow fundeps)
-    In the class declaration for `Foo'
+    In the class declaration for ‛Foo’
diff --git a/testsuite/tests/parser/should_fail/readFail042.stderr b/testsuite/tests/parser/should_fail/readFail042.stderr
index 8fbb9bf1f77f..9941cb633c0c 100644
--- a/testsuite/tests/parser/should_fail/readFail042.stderr
+++ b/testsuite/tests/parser/should_fail/readFail042.stderr
@@ -7,6 +7,6 @@ readFail042.hs:11:9:
     Unexpected transform statement in a list comprehension
     Use -XTransformListComp
 
-readFail042.hs:11:23: Not in scope: `by'
+readFail042.hs:11:23: Not in scope: ‛by’
 
-readFail042.hs:11:26: Not in scope: `x'
+readFail042.hs:11:26: Not in scope: ‛x’
diff --git a/testsuite/tests/parser/should_fail/readFail043.stderr b/testsuite/tests/parser/should_fail/readFail043.stderr
index b132bef95780..72981ed3f8e5 100644
--- a/testsuite/tests/parser/should_fail/readFail043.stderr
+++ b/testsuite/tests/parser/should_fail/readFail043.stderr
@@ -3,24 +3,24 @@ readFail043.hs:10:9:
     Unexpected transform statement in a list comprehension
     Use -XTransformListComp
 
-readFail043.hs:10:20: Not in scope: `by'
+readFail043.hs:10:20: Not in scope: ‛by’
 
-readFail043.hs:10:23: Not in scope: `x'
+readFail043.hs:10:23: Not in scope: ‛x’
 
-readFail043.hs:10:25: Not in scope: `using'
+readFail043.hs:10:25: Not in scope: ‛using’
 
 readFail043.hs:11:9:
     Unexpected transform statement in a list comprehension
     Use -XTransformListComp
 
-readFail043.hs:11:20: Not in scope: `by'
+readFail043.hs:11:20: Not in scope: ‛by’
 
-readFail043.hs:11:23: Not in scope: `x'
+readFail043.hs:11:23: Not in scope: ‛x’
 
-readFail043.hs:11:25: Not in scope: `using'
+readFail043.hs:11:25: Not in scope: ‛using’
 
 readFail043.hs:12:9:
     Unexpected transform statement in a list comprehension
     Use -XTransformListComp
 
-readFail043.hs:12:20: Not in scope: `using'
+readFail043.hs:12:20: Not in scope: ‛using’
diff --git a/testsuite/tests/parser/should_fail/readFail046.stderr b/testsuite/tests/parser/should_fail/readFail046.stderr
index a303d7798ed1..072fe530f9ec 100644
--- a/testsuite/tests/parser/should_fail/readFail046.stderr
+++ b/testsuite/tests/parser/should_fail/readFail046.stderr
@@ -1,4 +1,4 @@
 
 readFail046.hs:1:14:
     Unsupported extension: ExistientialQuantification
-    Perhaps you meant `ExistentialQuantification' or `NoExistentialQuantification'
+    Perhaps you meant ‛ExistentialQuantification’ or ‛NoExistentialQuantification’
diff --git a/testsuite/tests/parser/unicode/T2302.stderr b/testsuite/tests/parser/unicode/T2302.stderr
index 9718423be25a..0557a731db6a 100644
--- a/testsuite/tests/parser/unicode/T2302.stderr
+++ b/testsuite/tests/parser/unicode/T2302.stderr
@@ -1,2 +1,2 @@
 
-T2302.hs:1:5: Not in scope: data constructor `À'
+T2302.hs:1:5: Not in scope: data constructor ‛À’
diff --git a/testsuite/tests/perf/compiler/parsing001.stderr b/testsuite/tests/perf/compiler/parsing001.stderr
index b42ab6cb22b0..fe5939628cbd 100644
--- a/testsuite/tests/perf/compiler/parsing001.stderr
+++ b/testsuite/tests/perf/compiler/parsing001.stderr
@@ -1,4 +1,4 @@
 
 parsing001.hs:3:1:
-    Failed to load interface for `Wibble'
+    Failed to load interface for ‛Wibble’
     Use -v to see a list of the files searched for.
diff --git a/testsuite/tests/plugins/plugins03.stderr b/testsuite/tests/plugins/plugins03.stderr
index f3fbc8e9f2b9..24feee818b0d 100644
--- a/testsuite/tests/plugins/plugins03.stderr
+++ b/testsuite/tests/plugins/plugins03.stderr
@@ -1 +1,2 @@
-<command line>: Could not find module `Simple.NonExistantPlugin' Use -v to see a list of the files searched for.
+<command line>: Could not find module ‛Simple.NonExistantPlugin’
+Use -v to see a list of the files searched for.
diff --git a/testsuite/tests/plugins/plugins04.stderr b/testsuite/tests/plugins/plugins04.stderr
index add1e60d0394..13f94e439215 100644
--- a/testsuite/tests/plugins/plugins04.stderr
+++ b/testsuite/tests/plugins/plugins04.stderr
@@ -1,2 +1,2 @@
 Module imports form a cycle:
-  module `HomePackagePlugin' (./HomePackagePlugin.hs) imports itself
+  module ‛HomePackagePlugin’ (./HomePackagePlugin.hs) imports itself
diff --git a/testsuite/tests/polykinds/PolyKinds02.stderr b/testsuite/tests/polykinds/PolyKinds02.stderr
index 60e00d5c96de..8fd49c815814 100644
--- a/testsuite/tests/polykinds/PolyKinds02.stderr
+++ b/testsuite/tests/polykinds/PolyKinds02.stderr
@@ -1,5 +1,5 @@
 
 PolyKinds02.hs:13:16:
-    The second argument of `Vec' should have kind `Nat',
-      but `Nat' has kind `*'
-    In the type signature for `vec': vec :: Vec Nat Nat
+    The second argument of ‛Vec’ should have kind ‛Nat’,
+      but ‛Nat’ has kind ‛*’
+    In the type signature for ‛vec’: vec :: Vec Nat Nat
diff --git a/testsuite/tests/polykinds/PolyKinds04.stderr b/testsuite/tests/polykinds/PolyKinds04.stderr
index 2796b1a89889..1ffdf3910bfc 100644
--- a/testsuite/tests/polykinds/PolyKinds04.stderr
+++ b/testsuite/tests/polykinds/PolyKinds04.stderr
@@ -1,8 +1,8 @@
 
 PolyKinds04.hs:5:16:
-    Expecting one more argument to `Maybe'
-    The first argument of `A' should have kind `*',
-      but `Maybe' has kind `* -> *'
-    In the type `A Maybe'
-    In the definition of data constructor `B1'
-    In the data declaration for `B'
+    Expecting one more argument to ‛Maybe’
+    The first argument of ‛A’ should have kind ‛*’,
+      but ‛Maybe’ has kind ‛* -> *’
+    In the type ‛A Maybe’
+    In the definition of data constructor ‛B1’
+    In the data declaration for ‛B’
diff --git a/testsuite/tests/polykinds/PolyKinds06.stderr b/testsuite/tests/polykinds/PolyKinds06.stderr
index 0d0baca84a43..fc1700f31ff9 100644
--- a/testsuite/tests/polykinds/PolyKinds06.stderr
+++ b/testsuite/tests/polykinds/PolyKinds06.stderr
@@ -1,5 +1,5 @@
-
-PolyKinds06.hs:9:11:
-    Type constructor `A' cannot be used here
-      (it is defined and used in the same recursive group)
-    In the kind `A -> *'
+
+PolyKinds06.hs:9:11:
+    Type constructor ‛A’ cannot be used here
+      (it is defined and used in the same recursive group)
+    In the kind ‛A -> *’
diff --git a/testsuite/tests/polykinds/PolyKinds07.stderr b/testsuite/tests/polykinds/PolyKinds07.stderr
index 29930179ca8e..761f13aeb54d 100644
--- a/testsuite/tests/polykinds/PolyKinds07.stderr
+++ b/testsuite/tests/polykinds/PolyKinds07.stderr
@@ -1,7 +1,7 @@
-
-PolyKinds07.hs:10:11:
-    Data constructor `A1' cannot be used here
-      (it is defined and used in the same recursive group)
-    In the type `B A1'
-    In the definition of data constructor `B1'
-    In the data declaration for `B'
+
+PolyKinds07.hs:10:11:
+    Data constructor ‛A1’ cannot be used here
+      (it is defined and used in the same recursive group)
+    In the type ‛B A1’
+    In the definition of data constructor ‛B1’
+    In the data declaration for ‛B’
diff --git a/testsuite/tests/polykinds/T5716.stderr b/testsuite/tests/polykinds/T5716.stderr
index 165f32bd7e77..f32e604c2c3e 100644
--- a/testsuite/tests/polykinds/T5716.stderr
+++ b/testsuite/tests/polykinds/T5716.stderr
@@ -1,4 +1,4 @@
-
-T5716.hs:13:11:
-    `U' of kind `*' is not promotable
-    In the kind `U -> *'
+
+T5716.hs:13:11:
+    ‛U’ of kind ‛*’ is not promotable
+    In the kind ‛U -> *’
diff --git a/testsuite/tests/polykinds/T5716a.stderr b/testsuite/tests/polykinds/T5716a.stderr
index 4b10729cdd6e..e21d4466784d 100644
--- a/testsuite/tests/polykinds/T5716a.stderr
+++ b/testsuite/tests/polykinds/T5716a.stderr
@@ -1,7 +1,7 @@
-
-T5716a.hs:10:27:
-    Data constructor `Bar' cannot be used here
-      (it comes from a data family instance)
-    In the type `Bar a'
-    In the definition of data constructor `Bar'
-    In the data instance declaration for `DF'
+
+T5716a.hs:10:27:
+    Data constructor ‛Bar’ cannot be used here
+      (it comes from a data family instance)
+    In the type ‛Bar a’
+    In the definition of data constructor ‛Bar’
+    In the data instance declaration for ‛DF’
diff --git a/testsuite/tests/polykinds/T6021.stderr b/testsuite/tests/polykinds/T6021.stderr
index f164f78ed2f2..706729113a61 100644
--- a/testsuite/tests/polykinds/T6021.stderr
+++ b/testsuite/tests/polykinds/T6021.stderr
@@ -1,4 +1,4 @@
-
-T6021.hs:5:10:
-    Kind variable also used as type variable: `b'
-    In an instance declaration
+
+T6021.hs:5:10:
+    Kind variable also used as type variable: ‛b’
+    In an instance declaration
diff --git a/testsuite/tests/polykinds/T6039.stderr b/testsuite/tests/polykinds/T6039.stderr
index 7620c3adfbb8..20b947b861e6 100644
--- a/testsuite/tests/polykinds/T6039.stderr
+++ b/testsuite/tests/polykinds/T6039.stderr
@@ -1,4 +1,4 @@
 
 T6039.hs:5:14:
-    Kind variable `j' cannot appear in a function position
-    In the kind `j k'
+    Kind variable ‛j’ cannot appear in a function position
+    In the kind ‛j k’
diff --git a/testsuite/tests/polykinds/T6054.stderr b/testsuite/tests/polykinds/T6054.stderr
index bc034d313a0c..5fb7f6daa006 100644
--- a/testsuite/tests/polykinds/T6054.stderr
+++ b/testsuite/tests/polykinds/T6054.stderr
@@ -2,8 +2,8 @@
 T6054.hs:7:14:
     No instance for (Bar () '() a0)
       arising from an expression type signature
-    In the first argument of `print', namely
-      `(Proxy :: Bar () a => Proxy a)'
+    In the first argument of ‛print’, namely
+      ‛(Proxy :: Bar () a => Proxy a)’
     In the expression: print (Proxy :: Bar () a => Proxy a)
-    In an equation for `foo':
+    In an equation for ‛foo’:
         foo = print (Proxy :: Bar () a => Proxy a)
diff --git a/testsuite/tests/polykinds/T6129.stderr b/testsuite/tests/polykinds/T6129.stderr
index 10db12ef4533..9b8d66f20240 100644
--- a/testsuite/tests/polykinds/T6129.stderr
+++ b/testsuite/tests/polykinds/T6129.stderr
@@ -1,7 +1,7 @@
-
-T6129.hs:12:11:
-    Data constructor `DInt' cannot be used here
-      (it comes from a data family instance)
-    In the type `X DInt'
-    In the definition of data constructor `X1'
-    In the data declaration for `X'
+
+T6129.hs:12:11:
+    Data constructor ‛DInt’ cannot be used here
+      (it comes from a data family instance)
+    In the type ‛X DInt’
+    In the definition of data constructor ‛X1’
+    In the data declaration for ‛X’
diff --git a/testsuite/tests/polykinds/T7053.stderr b/testsuite/tests/polykinds/T7053.stderr
index ab857978905e..f5c3efc4f978 100644
--- a/testsuite/tests/polykinds/T7053.stderr
+++ b/testsuite/tests/polykinds/T7053.stderr
@@ -1,8 +1,8 @@
-
-T7053.hs:6:52:
-    Kind occurs check
-    The first argument of `a' should have kind `k0',
-      but `b' has kind `k0 -> k1'
-    In the type `TypeRep (a b)'
-    In the definition of data constructor `TyApp'
-    In the data declaration for `TypeRep'
+
+T7053.hs:6:52:
+    Kind occurs check
+    The first argument of ‛a’ should have kind ‛k0’,
+      but ‛b’ has kind ‛k0 -> k1’
+    In the type ‛TypeRep (a b)’
+    In the definition of data constructor ‛TyApp’
+    In the data declaration for ‛TypeRep’
diff --git a/testsuite/tests/polykinds/T7151.stderr b/testsuite/tests/polykinds/T7151.stderr
index ed98ddc0dd1f..bdefa666d3bf 100644
--- a/testsuite/tests/polykinds/T7151.stderr
+++ b/testsuite/tests/polykinds/T7151.stderr
@@ -1,4 +1,4 @@
 
 T7151.hs:3:12:
-    Illegal type: '[Int, String]
+    Illegal type: ‛'[Int, String]’
       Perhaps you intended to use -XDataKinds
diff --git a/testsuite/tests/polykinds/T7224.stderr b/testsuite/tests/polykinds/T7224.stderr
index c1508e9b7d1f..1ae01218aa45 100644
--- a/testsuite/tests/polykinds/T7224.stderr
+++ b/testsuite/tests/polykinds/T7224.stderr
@@ -1,5 +1,5 @@
 
 T7224.hs:6:19:
-    Kind variable `i' used as a type
-    In the type `a -> m i i a'
-    In the class declaration for PMonad'
+    Kind variable ‛i’ used as a type
+    In the type ‛a -> m i i a’
+    In the class declaration for ‛PMonad'’
diff --git a/testsuite/tests/polykinds/T7230.stderr b/testsuite/tests/polykinds/T7230.stderr
index 3bcccee8f267..34695d0e02e5 100644
--- a/testsuite/tests/polykinds/T7230.stderr
+++ b/testsuite/tests/polykinds/T7230.stderr
@@ -10,13 +10,13 @@ T7230.hs:48:32:
       bound by a pattern with constructor
                  SCons :: forall (k :: BOX) (x :: k) (xs :: [k]).
                           Sing k x -> Sing [k] xs -> Sing [k] ((':) k x xs),
-               in an equation for `crash'
+               in an equation for ‛crash’
       at T7230.hs:48:8-27
     or from (xs1 ~ (':) Nat x1 xs2)
       bound by a pattern with constructor
                  SCons :: forall (k :: BOX) (x :: k) (xs :: [k]).
                           Sing k x -> Sing [k] xs -> Sing [k] ((':) k x xs),
-               in an equation for `crash'
+               in an equation for ‛crash’
       at T7230.hs:48:17-26
     Expected type: SBool (Increasing xs)
       Actual type: SBool (x :<<= x1)
@@ -24,5 +24,5 @@ T7230.hs:48:32:
       x :: Sing Nat x (bound at T7230.hs:48:14)
       y :: Sing Nat x1 (bound at T7230.hs:48:23)
     In the expression: x %:<<= y
-    In an equation for `crash':
+    In an equation for ‛crash’:
         crash (SCons x (SCons y xs)) = x %:<<= y
diff --git a/testsuite/tests/polykinds/T7278.stderr b/testsuite/tests/polykinds/T7278.stderr
index 96f8dd718125..a242e5aaf85f 100644
--- a/testsuite/tests/polykinds/T7278.stderr
+++ b/testsuite/tests/polykinds/T7278.stderr
@@ -1,5 +1,5 @@
 
 T7278.hs:8:43:
-    `t' is applied to too many type arguments
-    In the type signature for `f':
+    ‛t’ is applied to too many type arguments
+    In the type signature for ‛f’:
       f :: C (t :: k) (TF t) => TF t p1 p0 -> t p1 p0
diff --git a/testsuite/tests/polykinds/T7328.stderr b/testsuite/tests/polykinds/T7328.stderr
index 6151c5ae4200..54508c07736e 100644
--- a/testsuite/tests/polykinds/T7328.stderr
+++ b/testsuite/tests/polykinds/T7328.stderr
@@ -1,7 +1,7 @@
 
 T7328.hs:8:34:
     Kind occurs check
-    The first argument of `Foo' should have kind `k0',
-      but `f' has kind `k1 -> k0'
-    In the type `a ~ f i => Proxy (Foo f)'
-    In the class declaration for `Foo'
+    The first argument of ‛Foo’ should have kind ‛k0’,
+      but ‛f’ has kind ‛k1 -> k0’
+    In the type ‛a ~ f i => Proxy (Foo f)’
+    In the class declaration for ‛Foo’
diff --git a/testsuite/tests/polykinds/T7341.stderr b/testsuite/tests/polykinds/T7341.stderr
index da9ae7f707c9..36ab4eaaf268 100644
--- a/testsuite/tests/polykinds/T7341.stderr
+++ b/testsuite/tests/polykinds/T7341.stderr
@@ -1,6 +1,6 @@
-
-T7341.hs:11:12:
-    Expecting one more argument to `[]'
-    The first argument of `C' should have kind `*',
-      but `[]' has kind `* -> *'
-    In the instance declaration for `C []'
+
+T7341.hs:11:12:
+    Expecting one more argument to ‛[]’
+    The first argument of ‛C’ should have kind ‛*’,
+      but ‛[]’ has kind ‛* -> *’
+    In the instance declaration for ‛C []’
diff --git a/testsuite/tests/polykinds/T7404.stderr b/testsuite/tests/polykinds/T7404.stderr
index 561cc24b02bb..a228e0c1ba71 100644
--- a/testsuite/tests/polykinds/T7404.stderr
+++ b/testsuite/tests/polykinds/T7404.stderr
@@ -1,4 +1,4 @@
 
 T7404.hs:4:1:
-    Kind variable also used as type variable: `x'
-    In the declaration for type family `Foo'
+    Kind variable also used as type variable: ‛x’
+    In the declaration for type family ‛Foo’
diff --git a/testsuite/tests/polykinds/T7433.stderr b/testsuite/tests/polykinds/T7433.stderr
index 8f80b9e6790b..6cb69630e8cb 100644
--- a/testsuite/tests/polykinds/T7433.stderr
+++ b/testsuite/tests/polykinds/T7433.stderr
@@ -1,6 +1,6 @@
 
 T7433.hs:2:10:
-    Data constructor `Z' cannot be used here
+    Data constructor ‛Z’ cannot be used here
       (Perhaps you intended to use -XDataKinds)
-    In the type `Z'
-    In the type declaration for `T'
+    In the type ‛Z’
+    In the type declaration for ‛T’
diff --git a/testsuite/tests/polykinds/T7438.stderr b/testsuite/tests/polykinds/T7438.stderr
index 8a1af96fe366..aaa4daf019cd 100644
--- a/testsuite/tests/polykinds/T7438.stderr
+++ b/testsuite/tests/polykinds/T7438.stderr
@@ -1,20 +1,20 @@
 
 T7438.hs:6:14:
-    Couldn't match expected type `t1' with actual type `t'
-      `t' is untouchable
+    Couldn't match expected type ‛t1’ with actual type ‛t’
+      ‛t’ is untouchable
         inside the constraints (t2 ~ t3)
         bound by a pattern with constructor
                    Nil :: forall (k :: BOX) (a :: k). Thrist k a a,
-                 in an equation for `go'
+                 in an equation for ‛go’
         at T7438.hs:6:4-6
-      `t' is a rigid type variable bound by
+      ‛t’ is a rigid type variable bound by
           the inferred type of go :: Thrist k t2 t3 -> t -> t1
           at T7438.hs:6:1
-      `t1' is a rigid type variable bound by
+      ‛t1’ is a rigid type variable bound by
            the inferred type of go :: Thrist k t2 t3 -> t -> t1
            at T7438.hs:6:1
     Relevant bindings include
       go :: Thrist k t2 t3 -> t -> t1 (bound at T7438.hs:6:1)
       acc :: t (bound at T7438.hs:6:8)
     In the expression: acc
-    In an equation for `go': go Nil acc = acc
+    In an equation for ‛go’: go Nil acc = acc
diff --git a/testsuite/tests/polykinds/T7594.stderr b/testsuite/tests/polykinds/T7594.stderr
index 85a927decd66..c813a65e8cc6 100644
--- a/testsuite/tests/polykinds/T7594.stderr
+++ b/testsuite/tests/polykinds/T7594.stderr
@@ -1,16 +1,16 @@
 
 T7594.hs:25:11:
-    Couldn't match type `b' with `IO ()'
-      `b' is untouchable
+    Couldn't match type ‛b’ with ‛IO ()’
+      ‛b’ is untouchable
         inside the constraints ((:&:) Show Real a)
         bound by a type expected by the context:
                    (:&:) Show Real a => a -> b
         at T7594.hs:25:7-17
-      `b' is a rigid type variable bound by
+      ‛b’ is a rigid type variable bound by
           the inferred type of bar :: b at T7594.hs:25:1
     Expected type: a -> b
       Actual type: a -> IO ()
     Relevant bindings include bar :: b (bound at T7594.hs:25:1)
-    In the first argument of `app', namely `print'
+    In the first argument of ‛app’, namely ‛print’
     In the expression: app print q
-    In an equation for `bar': bar = app print q
+    In an equation for ‛bar’: bar = app print q
diff --git a/testsuite/tests/programs/hs-boot/hs-boot.stderr b/testsuite/tests/programs/hs-boot/hs-boot.stderr
index 99de1b67f5fe..b171e1b547c1 100644
--- a/testsuite/tests/programs/hs-boot/hs-boot.stderr
+++ b/testsuite/tests/programs/hs-boot/hs-boot.stderr
@@ -1,2 +1,2 @@
 
-B.hs:5:23: Warning: {-# SOURCE #-} unnecessary in import of  `A'
+B.hs:5:23: Warning: {-# SOURCE #-} unnecessary in import of  ‛A’
diff --git a/testsuite/tests/quasiquotation/T3953.stderr b/testsuite/tests/quasiquotation/T3953.stderr
index da6f2dcebf5b..bd2b0fed569f 100644
--- a/testsuite/tests/quasiquotation/T3953.stderr
+++ b/testsuite/tests/quasiquotation/T3953.stderr
@@ -1,2 +1,2 @@
 
-T3953.hs:5:7: Not in scope: `notDefinedHere'
+T3953.hs:5:7: Not in scope: ‛notDefinedHere’
diff --git a/testsuite/tests/rebindable/rebindable6.stderr b/testsuite/tests/rebindable/rebindable6.stderr
index a12cef09f228..e36e38d056a4 100644
--- a/testsuite/tests/rebindable/rebindable6.stderr
+++ b/testsuite/tests/rebindable/rebindable6.stderr
@@ -1,67 +1,67 @@
-
-rebindable6.hs:106:17:
-    No instance for (HasSeq (IO a -> t0 -> IO b))
-      arising from a do statement
-    The type variable `t0' is ambiguous
-    Relevant bindings include
-      test_do :: IO a -> IO (Maybe b) -> IO b
-        (bound at rebindable6.hs:104:9)
-      f :: IO a (bound at rebindable6.hs:104:17)
-      g :: IO (Maybe b) (bound at rebindable6.hs:104:19)
-    Note: there is a potential instance available:
-      instance HasSeq (IO a -> IO b -> IO b)
-        -- Defined at rebindable6.hs:52:18
-    In a stmt of a 'do' block: f
-    In the expression:
-      do { f;
-           Just (b :: b) <- g;
-           return b }
-    In an equation for `test_do':
-        test_do f g
-          = do { f;
-                 Just (b :: b) <- g;
-                 return b }
-
-rebindable6.hs:107:17:
-    No instance for (HasBind (IO (Maybe b) -> (Maybe b -> t1) -> t0))
-      arising from a do statement
-    The type variables `t0', `t1' are ambiguous
-    Relevant bindings include
-      test_do :: IO a -> IO (Maybe b) -> IO b
-        (bound at rebindable6.hs:104:9)
-      g :: IO (Maybe b) (bound at rebindable6.hs:104:19)
-    Note: there is a potential instance available:
-      instance HasBind (IO a -> (a -> IO b) -> IO b)
-        -- Defined at rebindable6.hs:47:18
-    In a stmt of a 'do' block: Just (b :: b) <- g
-    In the expression:
-      do { f;
-           Just (b :: b) <- g;
-           return b }
-    In an equation for `test_do':
-        test_do f g
-          = do { f;
-                 Just (b :: b) <- g;
-                 return b }
-
-rebindable6.hs:108:17:
-    No instance for (HasReturn (b -> t1))
-      arising from a use of `return'
-    The type variable `t1' is ambiguous
-    Relevant bindings include
-      test_do :: IO a -> IO (Maybe b) -> IO b
-        (bound at rebindable6.hs:104:9)
-      g :: IO (Maybe b) (bound at rebindable6.hs:104:19)
-      b :: b (bound at rebindable6.hs:107:23)
-    Note: there is a potential instance available:
-      instance HasReturn (a -> IO a) -- Defined at rebindable6.hs:42:18
-    In a stmt of a 'do' block: return b
-    In the expression:
-      do { f;
-           Just (b :: b) <- g;
-           return b }
-    In an equation for `test_do':
-        test_do f g
-          = do { f;
-                 Just (b :: b) <- g;
-                 return b }
+
+rebindable6.hs:106:17:
+    No instance for (HasSeq (IO a -> t0 -> IO b))
+      arising from a do statement
+    The type variable ‛t0’ is ambiguous
+    Relevant bindings include
+      test_do :: IO a -> IO (Maybe b) -> IO b
+        (bound at rebindable6.hs:104:9)
+      f :: IO a (bound at rebindable6.hs:104:17)
+      g :: IO (Maybe b) (bound at rebindable6.hs:104:19)
+    Note: there is a potential instance available:
+      instance HasSeq (IO a -> IO b -> IO b)
+        -- Defined at rebindable6.hs:52:18
+    In a stmt of a 'do' block: f
+    In the expression:
+      do { f;
+           Just (b :: b) <- g;
+           return b }
+    In an equation for ‛test_do’:
+        test_do f g
+          = do { f;
+                 Just (b :: b) <- g;
+                 return b }
+
+rebindable6.hs:107:17:
+    No instance for (HasBind (IO (Maybe b) -> (Maybe b -> t1) -> t0))
+      arising from a do statement
+    The type variables ‛t0’, ‛t1’ are ambiguous
+    Relevant bindings include
+      test_do :: IO a -> IO (Maybe b) -> IO b
+        (bound at rebindable6.hs:104:9)
+      g :: IO (Maybe b) (bound at rebindable6.hs:104:19)
+    Note: there is a potential instance available:
+      instance HasBind (IO a -> (a -> IO b) -> IO b)
+        -- Defined at rebindable6.hs:47:18
+    In a stmt of a 'do' block: Just (b :: b) <- g
+    In the expression:
+      do { f;
+           Just (b :: b) <- g;
+           return b }
+    In an equation for ‛test_do’:
+        test_do f g
+          = do { f;
+                 Just (b :: b) <- g;
+                 return b }
+
+rebindable6.hs:108:17:
+    No instance for (HasReturn (b -> t1))
+      arising from a use of ‛return’
+    The type variable ‛t1’ is ambiguous
+    Relevant bindings include
+      test_do :: IO a -> IO (Maybe b) -> IO b
+        (bound at rebindable6.hs:104:9)
+      g :: IO (Maybe b) (bound at rebindable6.hs:104:19)
+      b :: b (bound at rebindable6.hs:107:23)
+    Note: there is a potential instance available:
+      instance HasReturn (a -> IO a) -- Defined at rebindable6.hs:42:18
+    In a stmt of a 'do' block: return b
+    In the expression:
+      do { f;
+           Just (b :: b) <- g;
+           return b }
+    In an equation for ‛test_do’:
+        test_do f g
+          = do { f;
+                 Just (b :: b) <- g;
+                 return b }
diff --git a/testsuite/tests/rename/prog002/rename.prog002.stderr b/testsuite/tests/rename/prog002/rename.prog002.stderr
index 31b672b53913..3d488acb5a3f 100644
--- a/testsuite/tests/rename/prog002/rename.prog002.stderr
+++ b/testsuite/tests/rename/prog002/rename.prog002.stderr
@@ -1,2 +1,2 @@
 
-rnfail037.hs:8:7: Not in scope: data constructor `Rn037Help.C'
+rnfail037.hs:8:7: Not in scope: data constructor ‛Rn037Help.C’
diff --git a/testsuite/tests/rename/prog003/rename.prog003.stderr b/testsuite/tests/rename/prog003/rename.prog003.stderr
index 49c264cae852..42cc924bea23 100644
--- a/testsuite/tests/rename/prog003/rename.prog003.stderr
+++ b/testsuite/tests/rename/prog003/rename.prog003.stderr
@@ -1,2 +1,2 @@
 
-B.hs:4:6: Not in scope: type constructor or class `Class'
+B.hs:4:6: Not in scope: type constructor or class ‛Class’
diff --git a/testsuite/tests/rename/should_compile/T1789.stderr b/testsuite/tests/rename/should_compile/T1789.stderr
index dc9a79493584..3fd1f1a037d1 100644
--- a/testsuite/tests/rename/should_compile/T1789.stderr
+++ b/testsuite/tests/rename/should_compile/T1789.stderr
@@ -1,12 +1,12 @@
 
-T1789.hs:6:1:
-    Warning: The module `Prelude' does not have an explicit import list
+T1789.hs:6:1: Warning:
+    The module ‛Prelude’ does not have an explicit import list
 
-T1789.hs:7:1:
-    Warning: The module `Data.Map' does not have an explicit import list
+T1789.hs:7:1: Warning:
+    The module ‛Data.Map’ does not have an explicit import list
 
-T1789.hs:9:1:
-    Warning: The import item `Maybe(..)' does not have an explicit import list
+T1789.hs:9:1: Warning:
+    The import item ‛Maybe(..)’ does not have an explicit import list
 
-T1789.hs:10:1:
-    Warning: The module `Data.Maybe' does not have an explicit import list
+T1789.hs:10:1: Warning:
+    The module ‛Data.Maybe’ does not have an explicit import list
diff --git a/testsuite/tests/rename/should_compile/T1972.stderr b/testsuite/tests/rename/should_compile/T1972.stderr
index 610e509402a2..1cb78fbc29cb 100644
--- a/testsuite/tests/rename/should_compile/T1972.stderr
+++ b/testsuite/tests/rename/should_compile/T1972.stderr
@@ -1,11 +1,11 @@
 
-T1972.hs:12:3:
-    Warning: This binding for `name' shadows the existing binding
-               defined at T1972.hs:9:19
+T1972.hs:12:3: Warning:
+    This binding for ‛name’ shadows the existing binding
+      defined at T1972.hs:9:19
 
-T1972.hs:14:3:
-    Warning: This binding for `mapAccumL' shadows the existing bindings
-               defined at T1972.hs:16:1
-               imported from `Data.List' at T1972.hs:7:1-16
+T1972.hs:14:3: Warning:
+    This binding for ‛mapAccumL’ shadows the existing bindings
+      defined at T1972.hs:16:1
+      imported from ‛Data.List’ at T1972.hs:7:1-16
 
-T1972.hs:20:10: Warning: Defined but not used: `c'
+T1972.hs:20:10: Warning: Defined but not used: ‛c’
diff --git a/testsuite/tests/rename/should_compile/T3262.stderr-ghc b/testsuite/tests/rename/should_compile/T3262.stderr-ghc
index 4e730efa8d78..b3250fd5a394 100644
--- a/testsuite/tests/rename/should_compile/T3262.stderr-ghc
+++ b/testsuite/tests/rename/should_compile/T3262.stderr-ghc
@@ -1,8 +1,8 @@
 
-T3262.hs:12:11:
-    Warning: This binding for `not_ignored' shadows the existing binding
-               bound at T3262.hs:11:11
+T3262.hs:12:11: Warning:
+    This binding for ‛not_ignored’ shadows the existing binding
+      bound at T3262.hs:11:11
 
-T3262.hs:20:15:
-    Warning: This binding for `not_ignored' shadows the existing binding
-               bound at T3262.hs:19:15
+T3262.hs:20:15: Warning:
+    This binding for ‛not_ignored’ shadows the existing binding
+      bound at T3262.hs:19:15
diff --git a/testsuite/tests/rename/should_compile/T3371.stderr b/testsuite/tests/rename/should_compile/T3371.stderr
index b354d9d3d6d7..944739e45a42 100644
--- a/testsuite/tests/rename/should_compile/T3371.stderr
+++ b/testsuite/tests/rename/should_compile/T3371.stderr
@@ -1,2 +1,2 @@
 
-T3371.hs:10:14: Warning: Defined but not used: `a'
+T3371.hs:10:14: Warning: Defined but not used: ‛a’
diff --git a/testsuite/tests/rename/should_compile/T3449.stderr b/testsuite/tests/rename/should_compile/T3449.stderr
index da36d2446505..32ddc6f35d03 100644
--- a/testsuite/tests/rename/should_compile/T3449.stderr
+++ b/testsuite/tests/rename/should_compile/T3449.stderr
@@ -1,2 +1,2 @@
 
-T3449.hs-boot:8:1: Warning: Defined but not used: `unused'
+T3449.hs-boot:8:1: Warning: Defined but not used: ‛unused’
diff --git a/testsuite/tests/rename/should_compile/T3823.stderr b/testsuite/tests/rename/should_compile/T3823.stderr
index 0eb823455436..90e3c864ed33 100644
--- a/testsuite/tests/rename/should_compile/T3823.stderr
+++ b/testsuite/tests/rename/should_compile/T3823.stderr
@@ -1,6 +1,6 @@
 
 T3823B.hs:8:7:
-    Couldn't match expected type `A' with actual type `Bool'
-    In the first argument of `y', namely `a'
+    Couldn't match expected type ‛A’ with actual type ‛Bool’
+    In the first argument of ‛y’, namely ‛a’
     In the expression: y a
-    In an equation for `b': b = y a
+    In an equation for ‛b’: b = y a
diff --git a/testsuite/tests/rename/should_compile/T4489.stderr b/testsuite/tests/rename/should_compile/T4489.stderr
index 8cd400a72032..5fd076ee4254 100644
--- a/testsuite/tests/rename/should_compile/T4489.stderr
+++ b/testsuite/tests/rename/should_compile/T4489.stderr
@@ -1,6 +1,6 @@
-
-T4489.hs:4:1:
-    Warning: The module `Data.Maybe' does not have an explicit import list
-
-T4489.hs:5:1:
-    Warning: The import item `Maybe(..)' does not have an explicit import list
+
+T4489.hs:4:1: Warning:
+    The module ‛Data.Maybe’ does not have an explicit import list
+
+T4489.hs:5:1: Warning:
+    The import item ‛Maybe(..)’ does not have an explicit import list
diff --git a/testsuite/tests/rename/should_compile/T5331.stderr b/testsuite/tests/rename/should_compile/T5331.stderr
index e18c657e3f25..e78dd64daf36 100644
--- a/testsuite/tests/rename/should_compile/T5331.stderr
+++ b/testsuite/tests/rename/should_compile/T5331.stderr
@@ -1,13 +1,13 @@
-
-T5331.hs:8:17:
-    Warning: Unused quantified type variable `a'
-             In the definition of data constructor `S1'
-
-T5331.hs:11:16:
-    Warning: Unused quantified type variable `a'
-             In the definition of data constructor `W1'
-
-T5331.hs:13:13:
-    Warning: Unused quantified type variable `a'
-             In the type `forall a. Int'
-             In the type signature for `f'
+
+T5331.hs:8:17: Warning:
+    Unused quantified type variable ‛a’
+    In the definition of data constructor ‛S1’
+
+T5331.hs:11:16: Warning:
+    Unused quantified type variable ‛a’
+    In the definition of data constructor ‛W1’
+
+T5331.hs:13:13: Warning:
+    Unused quantified type variable ‛a’
+    In the type ‛forall a. Int’
+    In the type signature for ‛f’
diff --git a/testsuite/tests/rename/should_compile/T5334.stderr b/testsuite/tests/rename/should_compile/T5334.stderr
index de906b9dd667..2985386338de 100644
--- a/testsuite/tests/rename/should_compile/T5334.stderr
+++ b/testsuite/tests/rename/should_compile/T5334.stderr
@@ -1,13 +1,13 @@
 
-T5334.hs:7:5:
-    Warning: Fields of `T' not initialised: b
+T5334.hs:7:5: Warning:
+    Fields of ‛T’ not initialised: b
     In the expression: T {..}
-    In an equation for `t':
+    In an equation for ‛t’:
         t = T {..}
           where
               a = 1
 
-T5334.hs:14:5:
-    Warning: Fields of `S' not initialised: y
+T5334.hs:14:5: Warning:
+    Fields of ‛S’ not initialised: y
     In the expression: S {x = 1}
-    In an equation for `s': s = S {x = 1}
+    In an equation for ‛s’: s = S {x = 1}
diff --git a/testsuite/tests/rename/should_compile/T5867.stderr b/testsuite/tests/rename/should_compile/T5867.stderr
index 35941c8417c0..0ada9be52c04 100644
--- a/testsuite/tests/rename/should_compile/T5867.stderr
+++ b/testsuite/tests/rename/should_compile/T5867.stderr
@@ -1,8 +1,8 @@
 
 T5867.hs:4:7: Warning:
-    In the use of `f' (imported from T5867a):
+    In the use of ‛f’ (imported from T5867a):
     Deprecated: "Don't use f!"
 
 T5867.hs:5:7: Warning:
-    In the use of `f' (imported from T5867a):
+    In the use of ‛f’ (imported from T5867a):
     Deprecated: "Don't use f!"
diff --git a/testsuite/tests/rename/should_compile/T7145b.stderr b/testsuite/tests/rename/should_compile/T7145b.stderr
index 35e233d9ccf0..f24d02954b5b 100644
--- a/testsuite/tests/rename/should_compile/T7145b.stderr
+++ b/testsuite/tests/rename/should_compile/T7145b.stderr
@@ -1,2 +1,2 @@
 
-T7145b.hs:6:1: Warning: Defined but not used: `pure'
+T7145b.hs:6:1: Warning: Defined but not used: ‛pure’
diff --git a/testsuite/tests/rename/should_compile/T7167.stderr b/testsuite/tests/rename/should_compile/T7167.stderr
index 0607529f10f9..cddbbfe74de5 100644
--- a/testsuite/tests/rename/should_compile/T7167.stderr
+++ b/testsuite/tests/rename/should_compile/T7167.stderr
@@ -1,2 +1,2 @@
 
-T7167.hs:5:1: Warning: Module `Data.List' does not export `foo'
+T7167.hs:5:1: Warning: Module ‛Data.List’ does not export ‛foo’
diff --git a/testsuite/tests/rename/should_compile/T7336.stderr b/testsuite/tests/rename/should_compile/T7336.stderr
index bd51e730b2a7..0610b13e21f0 100644
--- a/testsuite/tests/rename/should_compile/T7336.stderr
+++ b/testsuite/tests/rename/should_compile/T7336.stderr
@@ -1,3 +1,3 @@
-
-T7336.hs:3:10: Warning:
-    Defined but not used: data constructor `MkU'
+
+T7336.hs:3:10: Warning:
+    Defined but not used: data constructor ‛MkU’
diff --git a/testsuite/tests/rename/should_compile/mc10.stderr-ghc b/testsuite/tests/rename/should_compile/mc10.stderr-ghc
index 585bfa4528a0..56a21b870051 100644
--- a/testsuite/tests/rename/should_compile/mc10.stderr-ghc
+++ b/testsuite/tests/rename/should_compile/mc10.stderr-ghc
@@ -1,2 +1,2 @@
 
-mc10.hs:14:11: Warning: Defined but not used: `y'
+mc10.hs:14:11: Warning: Defined but not used: ‛y’
diff --git a/testsuite/tests/rename/should_compile/rn037.stderr-ghc b/testsuite/tests/rename/should_compile/rn037.stderr-ghc
index 64b604f9bdef..ad171a42633a 100644
--- a/testsuite/tests/rename/should_compile/rn037.stderr-ghc
+++ b/testsuite/tests/rename/should_compile/rn037.stderr-ghc
@@ -1,5 +1,5 @@
 
-rn037.hs:3:1:
-    Warning: The import of `Data.List' is redundant
-               except perhaps to import instances from `Data.List'
-             To import instances alone, use: import Data.List()
+rn037.hs:3:1: Warning:
+    The import of ‛Data.List’ is redundant
+      except perhaps to import instances from ‛Data.List’
+    To import instances alone, use: import Data.List()
diff --git a/testsuite/tests/rename/should_compile/rn039.stderr-ghc b/testsuite/tests/rename/should_compile/rn039.stderr-ghc
index 51adb6fa8b95..2b87c367e3a3 100644
--- a/testsuite/tests/rename/should_compile/rn039.stderr-ghc
+++ b/testsuite/tests/rename/should_compile/rn039.stderr-ghc
@@ -1,5 +1,5 @@
 
-rn039.hs:6:16:
-    Warning: This binding for `-' shadows the existing binding
-               imported from `Prelude' at rn039.hs:2:8-20
-               (and originally defined in `GHC.Num')
+rn039.hs:6:16: Warning:
+    This binding for ‛-’ shadows the existing binding
+      imported from ‛Prelude’ at rn039.hs:2:8-20
+      (and originally defined in ‛GHC.Num’)
diff --git a/testsuite/tests/rename/should_compile/rn040.stderr-ghc b/testsuite/tests/rename/should_compile/rn040.stderr-ghc
index 5de9d0c1c6ff..f5802287b81c 100644
--- a/testsuite/tests/rename/should_compile/rn040.stderr-ghc
+++ b/testsuite/tests/rename/should_compile/rn040.stderr-ghc
@@ -1,4 +1,4 @@
 
-rn040.hs:6:12: Warning: Defined but not used: `y'
+rn040.hs:6:12: Warning: Defined but not used: ‛y’
 
-rn040.hs:8:8: Warning: Defined but not used: `w'
+rn040.hs:8:8: Warning: Defined but not used: ‛w’
diff --git a/testsuite/tests/rename/should_compile/rn041.stderr-ghc b/testsuite/tests/rename/should_compile/rn041.stderr-ghc
index da94a0985489..fbf27899ade9 100644
--- a/testsuite/tests/rename/should_compile/rn041.stderr-ghc
+++ b/testsuite/tests/rename/should_compile/rn041.stderr-ghc
@@ -1,6 +1,6 @@
 
-rn041.hs:7:1: Warning: Defined but not used: `f'
+rn041.hs:7:1: Warning: Defined but not used: ‛f’
 
-rn041.hs:9:1: Warning: Defined but not used: `g'
+rn041.hs:9:1: Warning: Defined but not used: ‛g’
 
-rn041.hs:10:1: Warning: Defined but not used: `h'
+rn041.hs:10:1: Warning: Defined but not used: ‛h’
diff --git a/testsuite/tests/rename/should_compile/rn046.stderr-ghc b/testsuite/tests/rename/should_compile/rn046.stderr-ghc
index ebde8af37340..433537613741 100644
--- a/testsuite/tests/rename/should_compile/rn046.stderr-ghc
+++ b/testsuite/tests/rename/should_compile/rn046.stderr-ghc
@@ -1,8 +1,8 @@
 
-rn046.hs:2:1:
-    Warning: The import of `Data.List' is redundant
-               except perhaps to import instances from `Data.List'
-             To import instances alone, use: import Data.List()
+rn046.hs:2:1: Warning:
+    The import of ‛Data.List’ is redundant
+      except perhaps to import instances from ‛Data.List’
+    To import instances alone, use: import Data.List()
 
-rn046.hs:3:1:
-    Warning: The import of `ord' from module `Data.Char' is redundant
+rn046.hs:3:1: Warning:
+    The import of ‛ord’ from module ‛Data.Char’ is redundant
diff --git a/testsuite/tests/rename/should_compile/rn047.stderr-ghc b/testsuite/tests/rename/should_compile/rn047.stderr-ghc
index 8b9614cb17bf..588237d267e5 100644
--- a/testsuite/tests/rename/should_compile/rn047.stderr-ghc
+++ b/testsuite/tests/rename/should_compile/rn047.stderr-ghc
@@ -1,2 +1,2 @@
 
-rn047.hs:12:11: Warning: Defined but not used: `y'
+rn047.hs:12:11: Warning: Defined but not used: ‛y’
diff --git a/testsuite/tests/rename/should_compile/rn050.stderr b/testsuite/tests/rename/should_compile/rn050.stderr
index 4eb19d696ee0..2554787a458c 100644
--- a/testsuite/tests/rename/should_compile/rn050.stderr
+++ b/testsuite/tests/rename/should_compile/rn050.stderr
@@ -1,8 +1,8 @@
 
 rn050.hs:13:7: Warning:
-    In the use of `op' (imported from Rn050_A):
+    In the use of ‛op’ (imported from Rn050_A):
     Deprecated: "Use bop instead"
 
 rn050.hs:13:10: Warning:
-    In the use of data constructor `C' (imported from Rn050_A):
+    In the use of data constructor ‛C’ (imported from Rn050_A):
     Deprecated: "Use D instead"
diff --git a/testsuite/tests/rename/should_compile/rn063.stderr b/testsuite/tests/rename/should_compile/rn063.stderr
index c437dd3c6a0e..635ef98bd9a6 100644
--- a/testsuite/tests/rename/should_compile/rn063.stderr
+++ b/testsuite/tests/rename/should_compile/rn063.stderr
@@ -1,4 +1,4 @@
 
-rn063.hs:10:9: Warning: Defined but not used: `x'
+rn063.hs:10:9: Warning: Defined but not used: ‛x’
 
-rn063.hs:13:9: Warning: Defined but not used: `y'
+rn063.hs:13:9: Warning: Defined but not used: ‛y’
diff --git a/testsuite/tests/rename/should_compile/rn064.stderr b/testsuite/tests/rename/should_compile/rn064.stderr
index f23a96bb5409..6ca77eaf25b7 100644
--- a/testsuite/tests/rename/should_compile/rn064.stderr
+++ b/testsuite/tests/rename/should_compile/rn064.stderr
@@ -1,4 +1,4 @@
 
-rn064.hs:13:12:
-    Warning: This binding for `r' shadows the existing binding
-               bound at rn064.hs:15:9
+rn064.hs:13:12: Warning:
+    This binding for ‛r’ shadows the existing binding
+      bound at rn064.hs:15:9
diff --git a/testsuite/tests/rename/should_compile/rn066.stderr b/testsuite/tests/rename/should_compile/rn066.stderr
index 3d38aa9f2fa6..52e82e9e7a00 100644
--- a/testsuite/tests/rename/should_compile/rn066.stderr
+++ b/testsuite/tests/rename/should_compile/rn066.stderr
@@ -1,8 +1,8 @@
 
 rn066.hs:13:7: Warning:
-    In the use of `op' (imported from Rn066_A):
+    In the use of ‛op’ (imported from Rn066_A):
     "Is that really a good idea?"
 
 rn066.hs:13:10: Warning:
-    In the use of data constructor `C' (imported from Rn066_A):
+    In the use of data constructor ‛C’ (imported from Rn066_A):
     "Are you sure you want to do that?"
diff --git a/testsuite/tests/rename/should_fail/T1595a.stderr b/testsuite/tests/rename/should_fail/T1595a.stderr
index 3c9adca7f74f..f7dd8113f0c6 100644
--- a/testsuite/tests/rename/should_fail/T1595a.stderr
+++ b/testsuite/tests/rename/should_fail/T1595a.stderr
@@ -1,2 +1,2 @@
 
-T1595a.hs:3:20: Not in scope: type constructor or class `Tpyo'
+T1595a.hs:3:20: Not in scope: type constructor or class ‛Tpyo’
diff --git a/testsuite/tests/rename/should_fail/T2310.stderr b/testsuite/tests/rename/should_fail/T2310.stderr
index 6500eef1fc34..a5dd532a0c6a 100644
--- a/testsuite/tests/rename/should_fail/T2310.stderr
+++ b/testsuite/tests/rename/should_fail/T2310.stderr
@@ -1,10 +1,10 @@
 
 T2310.hs:5:22:
-    Illegal result type signature `a'
+    Illegal result type signature ‛a’
       Result signatures are no longer supported in pattern matches
     In a lambda abstraction: \ x :: a -> (x :: a)
 
 T2310.hs:5:39:
-    Not in scope: `co'
+    Not in scope: ‛co’
     Perhaps you meant one of these:
-      `c' (line 5), `cos' (imported from Prelude)
+      ‛c’ (line 5), ‛cos’ (imported from Prelude)
diff --git a/testsuite/tests/rename/should_fail/T2723.stderr b/testsuite/tests/rename/should_fail/T2723.stderr
index 7ede0416584f..b34816145335 100644
--- a/testsuite/tests/rename/should_fail/T2723.stderr
+++ b/testsuite/tests/rename/should_fail/T2723.stderr
@@ -1,4 +1,4 @@
 
-T2723.hs:15:5:
-    Warning: This binding for `field3' shadows the existing binding
-               defined at T2723.hs:7:1
+T2723.hs:15:5: Warning:
+    This binding for ‛field3’ shadows the existing binding
+      defined at T2723.hs:7:1
diff --git a/testsuite/tests/rename/should_fail/T2901.stderr b/testsuite/tests/rename/should_fail/T2901.stderr
index 8cf5b2f2b142..fedaee6329b8 100644
--- a/testsuite/tests/rename/should_fail/T2901.stderr
+++ b/testsuite/tests/rename/should_fail/T2901.stderr
@@ -1,4 +1,4 @@
 
-T2901.hs:6:5: Not in scope: data constructor `F.Foo'
+T2901.hs:6:5: Not in scope: data constructor ‛F.Foo’
 
-T2901.hs:6:13: `F.field' is not a (visible) constructor field name
+T2901.hs:6:13: ‛F.field’ is not a (visible) constructor field name
diff --git a/testsuite/tests/rename/should_fail/T2993.stderr b/testsuite/tests/rename/should_fail/T2993.stderr
index 0ba55ddd36d0..ec6fa1ea2a2a 100644
--- a/testsuite/tests/rename/should_fail/T2993.stderr
+++ b/testsuite/tests/rename/should_fail/T2993.stderr
@@ -1,2 +1,2 @@
 
-T2993.hs:7:13: Not in scope: `<$>'
+T2993.hs:7:13: Not in scope: ‛<$>’
diff --git a/testsuite/tests/rename/should_fail/T3265.stderr b/testsuite/tests/rename/should_fail/T3265.stderr
index 37642ff16b97..0a56f4c5d00c 100644
--- a/testsuite/tests/rename/should_fail/T3265.stderr
+++ b/testsuite/tests/rename/should_fail/T3265.stderr
@@ -1,8 +1,8 @@
 
 T3265.hs:7:8:
-    Illegal declaration of a type or class operator `:+:'
+    Illegal declaration of a type or class operator ‛:+:’
       Use -XTypeOperators to declare operators in type and declarations
 
 T3265.hs:9:9:
-    Illegal declaration of a type or class operator `:*:'
+    Illegal declaration of a type or class operator ‛:*:’
       Use -XTypeOperators to declare operators in type and declarations
diff --git a/testsuite/tests/rename/should_fail/T5211.stderr b/testsuite/tests/rename/should_fail/T5211.stderr
index b99cc04d97ad..8dcc5b68bde0 100644
--- a/testsuite/tests/rename/should_fail/T5211.stderr
+++ b/testsuite/tests/rename/should_fail/T5211.stderr
@@ -1,5 +1,5 @@
 
 T5211.hs:5:1: Warning:
-    The qualified import of `Foreign.Storable' is redundant
-      except perhaps to import instances from `Foreign.Storable'
+    The qualified import of ‛Foreign.Storable’ is redundant
+      except perhaps to import instances from ‛Foreign.Storable’
     To import instances alone, use: import Foreign.Storable()
diff --git a/testsuite/tests/rename/should_fail/T5281.stderr b/testsuite/tests/rename/should_fail/T5281.stderr
index 3fa7670bb69e..99ad47b5846b 100644
--- a/testsuite/tests/rename/should_fail/T5281.stderr
+++ b/testsuite/tests/rename/should_fail/T5281.stderr
@@ -1,4 +1,4 @@
 
 T5281.hs:6:5: Warning:
-    In the use of `deprec' (imported from T5281A):
+    In the use of ‛deprec’ (imported from T5281A):
     Deprecated: "This is deprecated"
diff --git a/testsuite/tests/rename/should_fail/T5372.stderr b/testsuite/tests/rename/should_fail/T5372.stderr
index 47e50dc67209..667787508365 100644
--- a/testsuite/tests/rename/should_fail/T5372.stderr
+++ b/testsuite/tests/rename/should_fail/T5372.stderr
@@ -1,6 +1,6 @@
 
 T5372.hs:4:11:
-    Not in scope: data constructor `MkS'
-    Perhaps you meant `T5372a.MkS' (imported from T5372a)
+    Not in scope: data constructor ‛MkS’
+    Perhaps you meant ‛T5372a.MkS’ (imported from T5372a)
 
-T5372.hs:4:17: `x' is not a (visible) constructor field name
+T5372.hs:4:17: ‛x’ is not a (visible) constructor field name
diff --git a/testsuite/tests/rename/should_fail/T5385.stderr b/testsuite/tests/rename/should_fail/T5385.stderr
index c3ba1d5e67e9..2c87a0a47a93 100644
--- a/testsuite/tests/rename/should_fail/T5385.stderr
+++ b/testsuite/tests/rename/should_fail/T5385.stderr
@@ -1,8 +1,8 @@
 
 T5385.hs:3:16:
-    In module `T5385a':
-      `(:::)' is a data constructor of `T'
+    In module ‛T5385a’:
+      ‛(:::)’ is a data constructor of ‛T’
     To import it use
-      `import' T5385a( T( (:::) ) )
+      ‛import’ T5385a( T( (:::) ) )
     or
-      `import' T5385a( T(..) )
+      ‛import’ T5385a( T(..) )
diff --git a/testsuite/tests/rename/should_fail/T5533.stderr b/testsuite/tests/rename/should_fail/T5533.stderr
index b46285132fd3..ce13e14e2eba 100644
--- a/testsuite/tests/rename/should_fail/T5533.stderr
+++ b/testsuite/tests/rename/should_fail/T5533.stderr
@@ -1,4 +1,4 @@
 
 T5533.hs:4:1:
-    The type signature for `f2' lacks an accompanying binding
+    The type signature for ‛f2’ lacks an accompanying binding
       (You cannot give a type signature for a record selector or class method)
diff --git a/testsuite/tests/rename/should_fail/T5589.stderr b/testsuite/tests/rename/should_fail/T5589.stderr
index 5eaae6436ba2..cf0c0a9a12b2 100644
--- a/testsuite/tests/rename/should_fail/T5589.stderr
+++ b/testsuite/tests/rename/should_fail/T5589.stderr
@@ -1,5 +1,5 @@
-
-T5589.hs:4:1:
-    Duplicate type signatures for `aaa'
-    at T5589.hs:3:6-8
-       T5589.hs:4:1-3
+
+T5589.hs:4:1:
+    Duplicate type signatures for ‛aaa’
+    at T5589.hs:3:6-8
+       T5589.hs:4:1-3
diff --git a/testsuite/tests/rename/should_fail/T5657.stderr b/testsuite/tests/rename/should_fail/T5657.stderr
index af6f57e11a25..17a223d41c1d 100644
--- a/testsuite/tests/rename/should_fail/T5657.stderr
+++ b/testsuite/tests/rename/should_fail/T5657.stderr
@@ -1,5 +1,5 @@
 
-T5657.hs:3:8: Not in scope: `LT..'
+T5657.hs:3:8: Not in scope: ‛LT..’
 
 T5657.hs:3:8:
     A section must be enclosed in parentheses thus: (LT.. GT)
diff --git a/testsuite/tests/rename/should_fail/T5745.stderr b/testsuite/tests/rename/should_fail/T5745.stderr
index 44994c9187b2..b71e1e20577a 100644
--- a/testsuite/tests/rename/should_fail/T5745.stderr
+++ b/testsuite/tests/rename/should_fail/T5745.stderr
@@ -1,2 +1,2 @@
 
-T5745.hs:5:6: Not in scope: type constructor or class `T'
+T5745.hs:5:6: Not in scope: type constructor or class ‛T’
diff --git a/testsuite/tests/rename/should_fail/T5892a.stderr b/testsuite/tests/rename/should_fail/T5892a.stderr
index 1047599b83d6..a378dc39195f 100644
--- a/testsuite/tests/rename/should_fail/T5892a.stderr
+++ b/testsuite/tests/rename/should_fail/T5892a.stderr
@@ -1,9 +1,9 @@
 
 T5892a.hs:12:8: Warning:
-    Fields of `Version' not initialised: Data.Version.versionTags
+    Fields of ‛Version’ not initialised: Data.Version.versionTags
     In the expression: Version {..}
     In the expression: let versionBranch = [] in Version {..}
-    In an equation for `foo':
+    In an equation for ‛foo’:
         foo (Version {..}) = let versionBranch = ... in Version {..}
 
 <no location info>: 
diff --git a/testsuite/tests/rename/should_fail/T5892b.stderr b/testsuite/tests/rename/should_fail/T5892b.stderr
index 10d6c3692beb..10d1fd139e6b 100644
--- a/testsuite/tests/rename/should_fail/T5892b.stderr
+++ b/testsuite/tests/rename/should_fail/T5892b.stderr
@@ -1,4 +1,4 @@
-
-T5892b.hs:11:7:
-    Not in scope: `T5892b.versionTags'
-    Perhaps you meant `T5892b.versionBranch' (line 7)
+
+T5892b.hs:11:7:
+    Not in scope: ‛T5892b.versionTags’
+    Perhaps you meant ‛T5892b.versionBranch’ (line 7)
diff --git a/testsuite/tests/rename/should_fail/T7164.stderr b/testsuite/tests/rename/should_fail/T7164.stderr
index a7c23e136e24..5e27fb876d2f 100644
--- a/testsuite/tests/rename/should_fail/T7164.stderr
+++ b/testsuite/tests/rename/should_fail/T7164.stderr
@@ -1,5 +1,5 @@
 
 T7164.hs:8:1:
-    Multiple declarations of `derp'
+    Multiple declarations of ‛derp’
     Declared at: T7164.hs:5:5
                  T7164.hs:8:1
diff --git a/testsuite/tests/rename/should_fail/T7338.stderr b/testsuite/tests/rename/should_fail/T7338.stderr
index e2a92d3df9b2..b1e6e5c80303 100644
--- a/testsuite/tests/rename/should_fail/T7338.stderr
+++ b/testsuite/tests/rename/should_fail/T7338.stderr
@@ -1,6 +1,6 @@
 
 T7338.hs:4:1:
-    Duplicate type signatures for `a'
+    Duplicate type signatures for ‛a’
     at T7338.hs:3:1
        T7338.hs:3:4
        T7338.hs:4:1
diff --git a/testsuite/tests/rename/should_fail/T7338a.stderr b/testsuite/tests/rename/should_fail/T7338a.stderr
index 58807dc3b097..b4b00a35908f 100644
--- a/testsuite/tests/rename/should_fail/T7338a.stderr
+++ b/testsuite/tests/rename/should_fail/T7338a.stderr
@@ -1,10 +1,10 @@
 
 T7338a.hs:7:4:
-    Duplicate type signatures for `a'
+    Duplicate type signatures for ‛a’
     at T7338a.hs:3:1
        T7338a.hs:7:4
 
 T7338a.hs:10:1:
-    Duplicate type signatures for `c'
+    Duplicate type signatures for ‛c’
     at T7338a.hs:7:1
        T7338a.hs:10:1
diff --git a/testsuite/tests/rename/should_fail/T7454.stderr b/testsuite/tests/rename/should_fail/T7454.stderr
index 4f68ca4b90b5..a8d11886e454 100644
--- a/testsuite/tests/rename/should_fail/T7454.stderr
+++ b/testsuite/tests/rename/should_fail/T7454.stderr
@@ -1,3 +1,3 @@
 
 T7454.hs:5:1: Warning:
-    The import of `Arrow' from module `Control.Arrow' is redundant
+    The import of ‛Arrow’ from module ‛Control.Arrow’ is redundant
diff --git a/testsuite/tests/rename/should_fail/mc13.stderr b/testsuite/tests/rename/should_fail/mc13.stderr
index 82f8dd5f1800..3cf06955a49b 100644
--- a/testsuite/tests/rename/should_fail/mc13.stderr
+++ b/testsuite/tests/rename/should_fail/mc13.stderr
@@ -1,2 +1,2 @@
 
-mc13.hs:12:37: Not in scope: `f'
+mc13.hs:12:37: Not in scope: ‛f’
diff --git a/testsuite/tests/rename/should_fail/mc14.stderr b/testsuite/tests/rename/should_fail/mc14.stderr
index 1eadb9d4b753..28d2ca224172 100644
--- a/testsuite/tests/rename/should_fail/mc14.stderr
+++ b/testsuite/tests/rename/should_fail/mc14.stderr
@@ -1,2 +1,2 @@
 
-mc14.hs:14:49: Not in scope: `f'
+mc14.hs:14:49: Not in scope: ‛f’
diff --git a/testsuite/tests/rename/should_fail/rn_dup.stderr b/testsuite/tests/rename/should_fail/rn_dup.stderr
index e7859ea82c80..223985f763c1 100644
--- a/testsuite/tests/rename/should_fail/rn_dup.stderr
+++ b/testsuite/tests/rename/should_fail/rn_dup.stderr
@@ -1,22 +1,22 @@
 
 rn_dup.hs:9:10:
-    Multiple declarations of `MkT'
+    Multiple declarations of ‛MkT’
     Declared at: rn_dup.hs:7:10
                  rn_dup.hs:7:16
                  rn_dup.hs:9:10
 
 rn_dup.hs:12:16:
-    Multiple declarations of `rf'
+    Multiple declarations of ‛rf’
     Declared at: rn_dup.hs:11:16
                  rn_dup.hs:11:27
                  rn_dup.hs:12:16
 
 rn_dup.hs:17:8:
-    Multiple declarations of `CT'
+    Multiple declarations of ‛CT’
     Declared at: rn_dup.hs:15:8
                  rn_dup.hs:17:8
 
 rn_dup.hs:18:3:
-    Multiple declarations of `f'
+    Multiple declarations of ‛f’
     Declared at: rn_dup.hs:16:3
                  rn_dup.hs:18:3
diff --git a/testsuite/tests/rename/should_fail/rnfail001.stderr b/testsuite/tests/rename/should_fail/rnfail001.stderr
index 5414f93f275e..d8baefcb429e 100644
--- a/testsuite/tests/rename/should_fail/rnfail001.stderr
+++ b/testsuite/tests/rename/should_fail/rnfail001.stderr
@@ -1,6 +1,6 @@
 
 rnfail001.hs:3:3:
-    Conflicting definitions for `x'
+    Conflicting definitions for ‛x’
     Bound at: rnfail001.hs:3:3
               rnfail001.hs:3:5
-    In an equation for `f'
+    In an equation for ‛f’
diff --git a/testsuite/tests/rename/should_fail/rnfail002.stderr b/testsuite/tests/rename/should_fail/rnfail002.stderr
index 6f7313774817..6c15ef103d4c 100644
--- a/testsuite/tests/rename/should_fail/rnfail002.stderr
+++ b/testsuite/tests/rename/should_fail/rnfail002.stderr
@@ -1,5 +1,5 @@
 
 rnfail002.hs:6:1:
-    Multiple declarations of `y'
+    Multiple declarations of ‛y’
     Declared at: rnfail002.hs:5:1
                  rnfail002.hs:6:1
diff --git a/testsuite/tests/rename/should_fail/rnfail003.stderr b/testsuite/tests/rename/should_fail/rnfail003.stderr
index aab59114127e..04823326266e 100644
--- a/testsuite/tests/rename/should_fail/rnfail003.stderr
+++ b/testsuite/tests/rename/should_fail/rnfail003.stderr
@@ -1,5 +1,5 @@
 
 rnfail003.hs:4:1:
-    Multiple declarations of `f'
+    Multiple declarations of ‛f’
     Declared at: rnfail003.hs:2:1
                  rnfail003.hs:4:1
diff --git a/testsuite/tests/rename/should_fail/rnfail004.stderr b/testsuite/tests/rename/should_fail/rnfail004.stderr
index edff58cf6ff7..23e22fe28f3f 100644
--- a/testsuite/tests/rename/should_fail/rnfail004.stderr
+++ b/testsuite/tests/rename/should_fail/rnfail004.stderr
@@ -1,10 +1,10 @@
 
 rnfail004.hs:6:5:
-    Conflicting definitions for `a'
+    Conflicting definitions for ‛a’
     Bound at: rnfail004.hs:6:5
               rnfail004.hs:7:10
 
 rnfail004.hs:7:6:
-    Conflicting definitions for `b'
+    Conflicting definitions for ‛b’
     Bound at: rnfail004.hs:7:6
               rnfail004.hs:8:8
diff --git a/testsuite/tests/rename/should_fail/rnfail007.stderr b/testsuite/tests/rename/should_fail/rnfail007.stderr
index a00dc892d598..316e141bd19a 100644
--- a/testsuite/tests/rename/should_fail/rnfail007.stderr
+++ b/testsuite/tests/rename/should_fail/rnfail007.stderr
@@ -1,3 +1,3 @@
 
 rnfail007.hs:1:1:
-    The function `main' is not defined in module `Main'
+    The function ‛main’ is not defined in module ‛Main’
diff --git a/testsuite/tests/rename/should_fail/rnfail008.stderr b/testsuite/tests/rename/should_fail/rnfail008.stderr
index 91818fc65697..f565d8799005 100644
--- a/testsuite/tests/rename/should_fail/rnfail008.stderr
+++ b/testsuite/tests/rename/should_fail/rnfail008.stderr
@@ -1,2 +1,2 @@
 
-rnfail008.hs:18:9: `op3' is not a (visible) method of class `K'
+rnfail008.hs:18:9: ‛op3’ is not a (visible) method of class ‛K’
diff --git a/testsuite/tests/rename/should_fail/rnfail009.stderr b/testsuite/tests/rename/should_fail/rnfail009.stderr
index 358c17afe079..9f5e98ecb112 100644
--- a/testsuite/tests/rename/should_fail/rnfail009.stderr
+++ b/testsuite/tests/rename/should_fail/rnfail009.stderr
@@ -1,5 +1,5 @@
 
 rnfail009.hs:5:10:
-    Multiple declarations of `A'
+    Multiple declarations of ‛A’
     Declared at: rnfail009.hs:3:10
                  rnfail009.hs:5:10
diff --git a/testsuite/tests/rename/should_fail/rnfail010.stderr b/testsuite/tests/rename/should_fail/rnfail010.stderr
index d0e7c835ac21..d2f7a9385b93 100644
--- a/testsuite/tests/rename/should_fail/rnfail010.stderr
+++ b/testsuite/tests/rename/should_fail/rnfail010.stderr
@@ -1,5 +1,5 @@
 
 rnfail010.hs:6:1:
-    Multiple declarations of `f'
+    Multiple declarations of ‛f’
     Declared at: rnfail010.hs:2:1
                  rnfail010.hs:6:1
diff --git a/testsuite/tests/rename/should_fail/rnfail011.stderr b/testsuite/tests/rename/should_fail/rnfail011.stderr
index 7e7d02abf0ab..544455a08aa0 100644
--- a/testsuite/tests/rename/should_fail/rnfail011.stderr
+++ b/testsuite/tests/rename/should_fail/rnfail011.stderr
@@ -1,5 +1,5 @@
 
 rnfail011.hs:6:6:
-    Multiple declarations of `A'
+    Multiple declarations of ‛A’
     Declared at: rnfail011.hs:2:6
                  rnfail011.hs:6:6
diff --git a/testsuite/tests/rename/should_fail/rnfail012.stderr b/testsuite/tests/rename/should_fail/rnfail012.stderr
index 82dbd3a76f06..83b1e1d2fbcf 100644
--- a/testsuite/tests/rename/should_fail/rnfail012.stderr
+++ b/testsuite/tests/rename/should_fail/rnfail012.stderr
@@ -1,5 +1,5 @@
 
 rnfail012.hs:8:7:
-    Multiple declarations of `A'
+    Multiple declarations of ‛A’
     Declared at: rnfail012.hs:2:7
                  rnfail012.hs:8:7
diff --git a/testsuite/tests/rename/should_fail/rnfail013.stderr b/testsuite/tests/rename/should_fail/rnfail013.stderr
index 3ec4f43cb093..eebfaa2e020e 100644
--- a/testsuite/tests/rename/should_fail/rnfail013.stderr
+++ b/testsuite/tests/rename/should_fail/rnfail013.stderr
@@ -1,5 +1,5 @@
 
 rnfail013.hs:7:11:
-    Multiple declarations of `MkT'
+    Multiple declarations of ‛MkT’
     Declared at: rnfail013.hs:5:11
                  rnfail013.hs:7:11
diff --git a/testsuite/tests/rename/should_fail/rnfail015.stderr b/testsuite/tests/rename/should_fail/rnfail015.stderr
index dcb54f5b9e50..999a7acabf06 100644
--- a/testsuite/tests/rename/should_fail/rnfail015.stderr
+++ b/testsuite/tests/rename/should_fail/rnfail015.stderr
@@ -1,5 +1,5 @@
 
 rnfail015.hs:14:9:
-    Multiple declarations of `TokLiteral'
+    Multiple declarations of ‛TokLiteral’
     Declared at: rnfail015.hs:8:9
                  rnfail015.hs:14:9
diff --git a/testsuite/tests/rename/should_fail/rnfail017.stderr b/testsuite/tests/rename/should_fail/rnfail017.stderr
index f04b1d099061..a89b6be1c03e 100644
--- a/testsuite/tests/rename/should_fail/rnfail017.stderr
+++ b/testsuite/tests/rename/should_fail/rnfail017.stderr
@@ -1,8 +1,8 @@
 
 rnfail017.hs:5:10:
     Precedence parsing error
-        cannot mix `+' [infixl 6] and prefix `-' [infixl 6] in the same infix expression
+        cannot mix ‛+’ [infixl 6] and prefix `-' [infixl 6] in the same infix expression
 
 rnfail017.hs:6:10:
     Precedence parsing error
-        cannot mix `*' [infixl 7] and prefix `-' [infixl 6] in the same infix expression
+        cannot mix ‛*’ [infixl 7] and prefix `-' [infixl 6] in the same infix expression
diff --git a/testsuite/tests/rename/should_fail/rnfail018.stderr b/testsuite/tests/rename/should_fail/rnfail018.stderr
index 3bae3eb5279e..7658b18baadc 100644
--- a/testsuite/tests/rename/should_fail/rnfail018.stderr
+++ b/testsuite/tests/rename/should_fail/rnfail018.stderr
@@ -1,8 +1,8 @@
 
-rnfail018.hs:12:37: Not in scope: type variable `a'
+rnfail018.hs:12:37: Not in scope: type variable ‛a’
 
-rnfail018.hs:12:42: Not in scope: type variable `m'
+rnfail018.hs:12:42: Not in scope: type variable ‛m’
 
-rnfail018.hs:12:47: Not in scope: type variable `m'
+rnfail018.hs:12:47: Not in scope: type variable ‛m’
 
-rnfail018.hs:12:49: Not in scope: type variable `a'
+rnfail018.hs:12:49: Not in scope: type variable ‛a’
diff --git a/testsuite/tests/rename/should_fail/rnfail019.stderr b/testsuite/tests/rename/should_fail/rnfail019.stderr
index f990e2d2cd2c..449da500e1e9 100644
--- a/testsuite/tests/rename/should_fail/rnfail019.stderr
+++ b/testsuite/tests/rename/should_fail/rnfail019.stderr
@@ -1,6 +1,6 @@
 
 rnfail019.hs:5:9:
-    The operator `:' [infixr 5] of a section
+    The operator ‛:’ [infixr 5] of a section
         must have lower precedence than that of the operand,
-          namely `:' [infixr 5]
-        in the section: `x : y :'
+          namely ‛:’ [infixr 5]
+        in the section: ‛x : y :’
diff --git a/testsuite/tests/rename/should_fail/rnfail022.stderr b/testsuite/tests/rename/should_fail/rnfail022.stderr
index 011d6790d713..d443cec996bc 100644
--- a/testsuite/tests/rename/should_fail/rnfail022.stderr
+++ b/testsuite/tests/rename/should_fail/rnfail022.stderr
@@ -1,4 +1,4 @@
 
 rnfail022.hs:8:5:
-    Not in scope: `intersperse'
-    Perhaps you meant `L.intersperse' (imported from Data.List)
+    Not in scope: ‛intersperse’
+    Perhaps you meant ‛L.intersperse’ (imported from Data.List)
diff --git a/testsuite/tests/rename/should_fail/rnfail023.stderr b/testsuite/tests/rename/should_fail/rnfail023.stderr
index ec9d81ab76b7..7fa68c3f1928 100644
--- a/testsuite/tests/rename/should_fail/rnfail023.stderr
+++ b/testsuite/tests/rename/should_fail/rnfail023.stderr
@@ -1,9 +1,9 @@
 
 rnfail023.hs:7:1:
-    The type signature for `f' lacks an accompanying binding
+    The type signature for ‛f’ lacks an accompanying binding
 
 rnfail023.hs:8:12:
-    The INLINE pragma for `f' lacks an accompanying binding
+    The INLINE pragma for ‛f’ lacks an accompanying binding
 
 rnfail023.hs:14:7:
-    The type signature for `g' lacks an accompanying binding
+    The type signature for ‛g’ lacks an accompanying binding
diff --git a/testsuite/tests/rename/should_fail/rnfail024.stderr b/testsuite/tests/rename/should_fail/rnfail024.stderr
index 19b9f339216d..f3e6cbe61533 100644
--- a/testsuite/tests/rename/should_fail/rnfail024.stderr
+++ b/testsuite/tests/rename/should_fail/rnfail024.stderr
@@ -1,6 +1,6 @@
 
 rnfail024.hs:3:1:
-    The type signature for `sig_without_a_defn'
+    The type signature for ‛sig_without_a_defn’
       lacks an accompanying binding
 
-rnfail024.hs:6:5: Not in scope: `sig_without_a_defn'
+rnfail024.hs:6:5: Not in scope: ‛sig_without_a_defn’
diff --git a/testsuite/tests/rename/should_fail/rnfail025.stderr b/testsuite/tests/rename/should_fail/rnfail025.stderr
index 4c2e25a07cb4..bdb07ad5cfae 100644
--- a/testsuite/tests/rename/should_fail/rnfail025.stderr
+++ b/testsuite/tests/rename/should_fail/rnfail025.stderr
@@ -1,4 +1,4 @@
 
 rnfail025.hs:3:1:
-    The type signature for `sig_without_a_defn'
+    The type signature for ‛sig_without_a_defn’
       lacks an accompanying binding
diff --git a/testsuite/tests/rename/should_fail/rnfail026.stderr b/testsuite/tests/rename/should_fail/rnfail026.stderr
index 3a4ae4922438..f082327d56d2 100644
--- a/testsuite/tests/rename/should_fail/rnfail026.stderr
+++ b/testsuite/tests/rename/should_fail/rnfail026.stderr
@@ -1,9 +1,9 @@
 
 rnfail026.hs:16:35:
-    The first argument of `Monad' should have kind `* -> *',
-      but `Set a' has kind `*'
-    In the instance declaration for `Monad (forall a. Eq a => Set a)'
+    The first argument of ‛Monad’ should have kind ‛* -> *’,
+      but ‛Set a’ has kind ‛*’
+    In the instance declaration for ‛Monad (forall a. Eq a => Set a)’
 
 rnfail026.hs:19:10:
     Illegal polymorphic or qualified type: forall a. [a]
-    In the instance declaration for `Eq (forall a. [a])'
+    In the instance declaration for ‛Eq (forall a. [a])’
diff --git a/testsuite/tests/rename/should_fail/rnfail027.stderr b/testsuite/tests/rename/should_fail/rnfail027.stderr
index 31214a1a4279..062600ac8d1a 100644
--- a/testsuite/tests/rename/should_fail/rnfail027.stderr
+++ b/testsuite/tests/rename/should_fail/rnfail027.stderr
@@ -1,3 +1,3 @@
 
 rnfail027.hs:5:10:
-    The fixity signature for `wibble' lacks an accompanying binding
+    The fixity signature for ‛wibble’ lacks an accompanying binding
diff --git a/testsuite/tests/rename/should_fail/rnfail029.stderr b/testsuite/tests/rename/should_fail/rnfail029.stderr
index 360a9aac9e6c..671b035c4649 100644
--- a/testsuite/tests/rename/should_fail/rnfail029.stderr
+++ b/testsuite/tests/rename/should_fail/rnfail029.stderr
@@ -1,8 +1,8 @@
 
 rnfail029.hs:2:36:
-    Conflicting exports for `map':
-       `Data.List.map' exports `Data.List.map'
-         imported qualified from `Data.List' at rnfail029.hs:3:1-26
-         (and originally defined in `GHC.Base')
-       `module ShouldFail' exports `ShouldFail.map'
+    Conflicting exports for ‛map’:
+       ‛Data.List.map’ exports ‛Data.List.map’
+         imported qualified from ‛Data.List’ at rnfail029.hs:3:1-26
+         (and originally defined in ‛GHC.Base’)
+       ‛module ShouldFail’ exports ‛ShouldFail.map’
          defined at rnfail029.hs:4:1
diff --git a/testsuite/tests/rename/should_fail/rnfail030.stderr b/testsuite/tests/rename/should_fail/rnfail030.stderr
index 749206a81480..cbac79dc42b1 100644
--- a/testsuite/tests/rename/should_fail/rnfail030.stderr
+++ b/testsuite/tests/rename/should_fail/rnfail030.stderr
@@ -1,2 +1,2 @@
 
-rnfail030.hs:2:21: Not in scope: `Data.List.map'
+rnfail030.hs:2:21: Not in scope: ‛Data.List.map’
diff --git a/testsuite/tests/rename/should_fail/rnfail031.stderr b/testsuite/tests/rename/should_fail/rnfail031.stderr
index ad04461dc38e..eee31a2ec885 100644
--- a/testsuite/tests/rename/should_fail/rnfail031.stderr
+++ b/testsuite/tests/rename/should_fail/rnfail031.stderr
@@ -1,2 +1,2 @@
 
-rnfail031.hs:2:21: Not in scope: `Data.List.map'
+rnfail031.hs:2:21: Not in scope: ‛Data.List.map’
diff --git a/testsuite/tests/rename/should_fail/rnfail032.stderr b/testsuite/tests/rename/should_fail/rnfail032.stderr
index ea80202dd054..f4cf86597782 100644
--- a/testsuite/tests/rename/should_fail/rnfail032.stderr
+++ b/testsuite/tests/rename/should_fail/rnfail032.stderr
@@ -1,7 +1,7 @@
 
 rnfail032.hs:2:21:
-    Not in scope: `Data.List.map'
+    Not in scope: ‛Data.List.map’
     Perhaps you meant one of these:
-      `Data.List.zip' (imported from Data.List),
-      `Data.List.sum' (imported from Data.List),
-      `Data.List.all' (imported from Data.List)
+      ‛Data.List.zip’ (imported from Data.List),
+      ‛Data.List.sum’ (imported from Data.List),
+      ‛Data.List.all’ (imported from Data.List)
diff --git a/testsuite/tests/rename/should_fail/rnfail033.stderr b/testsuite/tests/rename/should_fail/rnfail033.stderr
index c9abd0f87a96..4a2e76222ce1 100644
--- a/testsuite/tests/rename/should_fail/rnfail033.stderr
+++ b/testsuite/tests/rename/should_fail/rnfail033.stderr
@@ -1,7 +1,7 @@
 
 rnfail033.hs:2:21:
-    Not in scope: `Data.List.map'
+    Not in scope: ‛Data.List.map’
     Perhaps you meant one of these:
-      `Data.List.zip' (imported from Data.List),
-      `Data.List.sum' (imported from Data.List),
-      `Data.List.all' (imported from Data.List)
+      ‛Data.List.zip’ (imported from Data.List),
+      ‛Data.List.sum’ (imported from Data.List),
+      ‛Data.List.all’ (imported from Data.List)
diff --git a/testsuite/tests/rename/should_fail/rnfail034.stderr b/testsuite/tests/rename/should_fail/rnfail034.stderr
index 2ec0a3b8e5e1..6c9b49ec4f7e 100644
--- a/testsuite/tests/rename/should_fail/rnfail034.stderr
+++ b/testsuite/tests/rename/should_fail/rnfail034.stderr
@@ -2,5 +2,5 @@
 rnfail034.hs:4:11: Qualified name in binding position: M.y
 
 rnfail034.hs:4:26:
-    Not in scope: `M.y'
-    Perhaps you meant `M.g' (line 4)
+    Not in scope: ‛M.y’
+    Perhaps you meant ‛M.g’ (line 4)
diff --git a/testsuite/tests/rename/should_fail/rnfail035.stderr b/testsuite/tests/rename/should_fail/rnfail035.stderr
index 83eb2d85e33c..35dd128e2407 100644
--- a/testsuite/tests/rename/should_fail/rnfail035.stderr
+++ b/testsuite/tests/rename/should_fail/rnfail035.stderr
@@ -1,2 +1,2 @@
 
-rnfail035.hs:2:21: Not in scope: type constructor or class `C'
+rnfail035.hs:2:21: Not in scope: type constructor or class ‛C’
diff --git a/testsuite/tests/rename/should_fail/rnfail040.stderr b/testsuite/tests/rename/should_fail/rnfail040.stderr
index cacdaa8d8d38..1ff86a826215 100644
--- a/testsuite/tests/rename/should_fail/rnfail040.stderr
+++ b/testsuite/tests/rename/should_fail/rnfail040.stderr
@@ -1,8 +1,8 @@
 
 rnfail040.hs:7:12:
-    Conflicting exports for `nub':
-       `module M' exports `M.nub'
-         imported from `Data.List' at rnfail040.hs:10:2-22
-       `module M' exports `T.nub'
-         imported from `Rnfail040_A' at rnfail040.hs:11:2-24
+    Conflicting exports for ‛nub’:
+       ‛module M’ exports ‛M.nub’
+         imported from ‛Data.List’ at rnfail040.hs:10:2-22
+       ‛module M’ exports ‛T.nub’
+         imported from ‛Rnfail040_A’ at rnfail040.hs:11:2-24
          (and originally defined at Rnfail040_A.hs:2:3-5)
diff --git a/testsuite/tests/rename/should_fail/rnfail041.stderr b/testsuite/tests/rename/should_fail/rnfail041.stderr
index 0c5c60d4d23d..bebccf2176a9 100644
--- a/testsuite/tests/rename/should_fail/rnfail041.stderr
+++ b/testsuite/tests/rename/should_fail/rnfail041.stderr
@@ -1,6 +1,6 @@
 
 rnfail041.hs:4:1:
-    The type signature for `h' lacks an accompanying binding
+    The type signature for ‛h’ lacks an accompanying binding
 
 rnfail041.hs:5:1:
-    The type signature for `j' lacks an accompanying binding
+    The type signature for ‛j’ lacks an accompanying binding
diff --git a/testsuite/tests/rename/should_fail/rnfail043.stderr b/testsuite/tests/rename/should_fail/rnfail043.stderr
index 428c1944dccc..61cef734f917 100644
--- a/testsuite/tests/rename/should_fail/rnfail043.stderr
+++ b/testsuite/tests/rename/should_fail/rnfail043.stderr
@@ -1,5 +1,5 @@
 
 rnfail043.hs:10:1:
-    Multiple declarations of `f'
+    Multiple declarations of ‛f’
     Declared at: rnfail043.hs:6:1
                  rnfail043.hs:10:1
diff --git a/testsuite/tests/rename/should_fail/rnfail044.stderr b/testsuite/tests/rename/should_fail/rnfail044.stderr
index 48be6944d079..fdae4e17c07e 100644
--- a/testsuite/tests/rename/should_fail/rnfail044.stderr
+++ b/testsuite/tests/rename/should_fail/rnfail044.stderr
@@ -1,7 +1,7 @@
 
 rnfail044.hs:5:12:
-    Ambiguous occurrence `splitAt'
-    It could refer to either `A.splitAt', defined at rnfail044.hs:8:3
-                          or `Data.List.splitAt',
-                             imported from `Prelude' at rnfail044.hs:5:8
-                             (and originally defined in `GHC.List')
+    Ambiguous occurrence ‛splitAt’
+    It could refer to either ‛A.splitAt’, defined at rnfail044.hs:8:3
+                          or ‛Data.List.splitAt’,
+                             imported from ‛Prelude’ at rnfail044.hs:5:8
+                             (and originally defined in ‛GHC.List’)
diff --git a/testsuite/tests/rename/should_fail/rnfail045.stderr b/testsuite/tests/rename/should_fail/rnfail045.stderr
index d8c80008c06e..9cba624ac315 100644
--- a/testsuite/tests/rename/should_fail/rnfail045.stderr
+++ b/testsuite/tests/rename/should_fail/rnfail045.stderr
@@ -1,10 +1,10 @@
 
 rnfail045.hs:5:1:
-    Equations for `op1' have different numbers of arguments
+    Equations for ‛op1’ have different numbers of arguments
       rnfail045.hs:5:1-16
       rnfail045.hs:6:1-13
 
 rnfail045.hs:8:1:
-    Equations for `op2' have different numbers of arguments
+    Equations for ‛op2’ have different numbers of arguments
       rnfail045.hs:8:1-13
       rnfail045.hs:9:1-16
diff --git a/testsuite/tests/rename/should_fail/rnfail048.stderr b/testsuite/tests/rename/should_fail/rnfail048.stderr
index 64cd89d280bb..7dd35d12a329 100644
--- a/testsuite/tests/rename/should_fail/rnfail048.stderr
+++ b/testsuite/tests/rename/should_fail/rnfail048.stderr
@@ -1,9 +1,9 @@
-
-rnfail048.hs:11:12:
-    Duplicate INLINE pragmas for `foo'
-    at rnfail048.hs:6:17-19
-       rnfail048.hs:7:18-20
-       rnfail048.hs:8:14-16
-       rnfail048.hs:9:15-17
-       rnfail048.hs:10:16-18
-       rnfail048.hs:11:12-14
+
+rnfail048.hs:11:12:
+    Duplicate INLINE pragmas for ‛foo’
+    at rnfail048.hs:6:17-19
+       rnfail048.hs:7:18-20
+       rnfail048.hs:8:14-16
+       rnfail048.hs:9:15-17
+       rnfail048.hs:10:16-18
+       rnfail048.hs:11:12-14
diff --git a/testsuite/tests/rename/should_fail/rnfail049.stderr b/testsuite/tests/rename/should_fail/rnfail049.stderr
index 6b753fbf2d36..8f08407ac24b 100644
--- a/testsuite/tests/rename/should_fail/rnfail049.stderr
+++ b/testsuite/tests/rename/should_fail/rnfail049.stderr
@@ -1,2 +1,2 @@
 
-rnfail049.hs:12:49: Not in scope: `f'
+rnfail049.hs:12:49: Not in scope: ‛f’
diff --git a/testsuite/tests/rename/should_fail/rnfail050.stderr b/testsuite/tests/rename/should_fail/rnfail050.stderr
index d097fc5b4430..bbd122543810 100644
--- a/testsuite/tests/rename/should_fail/rnfail050.stderr
+++ b/testsuite/tests/rename/should_fail/rnfail050.stderr
@@ -1,2 +1,2 @@
 
-rnfail050.hs:10:37: Not in scope: `f'
+rnfail050.hs:10:37: Not in scope: ‛f’
diff --git a/testsuite/tests/rename/should_fail/rnfail053.stderr b/testsuite/tests/rename/should_fail/rnfail053.stderr
index 47f44c44641e..8dc85ab49ec5 100644
--- a/testsuite/tests/rename/should_fail/rnfail053.stderr
+++ b/testsuite/tests/rename/should_fail/rnfail053.stderr
@@ -1,4 +1,4 @@
 
 rnfail053.hs:5:10:
-    Not a data constructor: `forall'
+    Not a data constructor: ‛forall’
     Perhaps you intended to use -XExistentialQuantification
diff --git a/testsuite/tests/rename/should_fail/rnfail054.stderr b/testsuite/tests/rename/should_fail/rnfail054.stderr
index ab952aadebbd..ef5b6d55b00a 100644
--- a/testsuite/tests/rename/should_fail/rnfail054.stderr
+++ b/testsuite/tests/rename/should_fail/rnfail054.stderr
@@ -1,5 +1,5 @@
 
 rnfail054.hs:6:13:
-    `foo' is not a record selector
+    ‛foo’ is not a record selector
     In the expression: x {foo = 1}
-    In an equation for `foo': foo x = x {foo = 1}
+    In an equation for ‛foo’: foo x = x {foo = 1}
diff --git a/testsuite/tests/rename/should_fail/rnfail055.stderr b/testsuite/tests/rename/should_fail/rnfail055.stderr
index cd559cca9551..5f7602195810 100644
--- a/testsuite/tests/rename/should_fail/rnfail055.stderr
+++ b/testsuite/tests/rename/should_fail/rnfail055.stderr
@@ -6,22 +6,22 @@ RnFail055.hs-boot:1:73: Warning:
     -XDatatypeContexts is deprecated: It was widely considered a misfeature, and has been removed from the Haskell language.
 
 RnFail055.hs-boot:4:1:
-    Identifier `f1' has conflicting definitions in the module and its hs-boot file
+    Identifier ‛f1’ has conflicting definitions in the module and its hs-boot file
     Main module: f1 :: Int -> Float
     Boot file:   f1 :: Float -> Int
 
 RnFail055.hs-boot:6:6:
-    Type constructor `S1' has conflicting definitions in the module and its hs-boot file
+    Type constructor ‛S1’ has conflicting definitions in the module and its hs-boot file
     Main module: type S1 a b = (a, b)
     Boot file:   type S1 a b c = (a, b)
 
 RnFail055.hs-boot:8:6:
-    Type constructor `S2' has conflicting definitions in the module and its hs-boot file
+    Type constructor ‛S2’ has conflicting definitions in the module and its hs-boot file
     Main module: type S2 a b = forall a1. (a1, b)
     Boot file:   type S2 a b = forall b1. (a, b1)
 
 RnFail055.hs-boot:12:6:
-    Type constructor `T1' has conflicting definitions in the module and its hs-boot file
+    Type constructor ‛T1’ has conflicting definitions in the module and its hs-boot file
     Main module: data T1 a b
                      No C type associated
                      RecFlag Recursive, Promotable
@@ -34,7 +34,7 @@ RnFail055.hs-boot:12:6:
                      FamilyInstance: none
 
 RnFail055.hs-boot:14:16:
-    Type constructor `T2' has conflicting definitions in the module and its hs-boot file
+    Type constructor ‛T2’ has conflicting definitions in the module and its hs-boot file
     Main module: data Eq b => T2 a b
                      No C type associated
                      RecFlag Recursive, Promotable
@@ -53,7 +53,7 @@ RnFail055.hs-boot:17:12:
     T3' is exported by the hs-boot file, but not exported by the module
 
 RnFail055.hs-boot:21:6:
-    Type constructor `T5' has conflicting definitions in the module and its hs-boot file
+    Type constructor ‛T5’ has conflicting definitions in the module and its hs-boot file
     Main module: data T5 a
                      No C type associated
                      RecFlag Recursive, Promotable
@@ -66,7 +66,7 @@ RnFail055.hs-boot:21:6:
                      FamilyInstance: none
 
 RnFail055.hs-boot:23:6:
-    Type constructor `T6' has conflicting definitions in the module and its hs-boot file
+    Type constructor ‛T6’ has conflicting definitions in the module and its hs-boot file
     Main module: data T6
                      No C type associated
                      RecFlag Recursive, Not promotable
@@ -79,7 +79,7 @@ RnFail055.hs-boot:23:6:
                      FamilyInstance: none
 
 RnFail055.hs-boot:25:6:
-    Type constructor `T7' has conflicting definitions in the module and its hs-boot file
+    Type constructor ‛T7’ has conflicting definitions in the module and its hs-boot file
     Main module: data T7 a
                      No C type associated
                      RecFlag Recursive, Promotable
@@ -95,7 +95,7 @@ RnFail055.hs-boot:27:22:
     RnFail055.m1 is exported by the hs-boot file, but not exported by the module
 
 RnFail055.hs-boot:28:7:
-    Class `C2' has conflicting definitions in the module and its hs-boot file
+    Class ‛C2’ has conflicting definitions in the module and its hs-boot file
     Main module: class C2 a b
                      RecFlag Recursive
                      m2 :: a -> b m2' :: a -> b
@@ -104,6 +104,6 @@ RnFail055.hs-boot:28:7:
                      m2 :: a -> b
 
 RnFail055.hs-boot:29:24:
-    Class `C3' has conflicting definitions in the module and its hs-boot file
+    Class ‛C3’ has conflicting definitions in the module and its hs-boot file
     Main module: class (Eq a, Ord a) => C3 a RecFlag Recursive
     Boot file:   class (Ord a, Eq a) => C3 a RecFlag NonRecursive
diff --git a/testsuite/tests/rename/should_fail/rnfail057.stderr b/testsuite/tests/rename/should_fail/rnfail057.stderr
index 79a5ac7edc1c..682365654d95 100644
--- a/testsuite/tests/rename/should_fail/rnfail057.stderr
+++ b/testsuite/tests/rename/should_fail/rnfail057.stderr
@@ -1,3 +1,3 @@
 
 rnfail057.hs:5:16:
-    Not in scope: type constructor or class `DontExistKind'
+    Not in scope: type constructor or class ‛DontExistKind’
diff --git a/testsuite/tests/safeHaskell/flags/SafeFlags22.stderr b/testsuite/tests/safeHaskell/flags/SafeFlags22.stderr
index abef5a8b8a5a..784f0472be10 100644
--- a/testsuite/tests/safeHaskell/flags/SafeFlags22.stderr
+++ b/testsuite/tests/safeHaskell/flags/SafeFlags22.stderr
@@ -1,6 +1,6 @@
 
 SafeFlags22.hs:1:16: Warning:
-    `SafeFlags22' has been inferred as unsafe!
+    ‛SafeFlags22’ has been inferred as unsafe!
     Reason:
         SafeFlags22.hs:7:1:
             System.IO.Unsafe: Can't be safely imported!
diff --git a/testsuite/tests/safeHaskell/flags/SafeFlags23.stderr b/testsuite/tests/safeHaskell/flags/SafeFlags23.stderr
index 410b8a1ba3c9..8af4d95f570f 100644
--- a/testsuite/tests/safeHaskell/flags/SafeFlags23.stderr
+++ b/testsuite/tests/safeHaskell/flags/SafeFlags23.stderr
@@ -1,6 +1,6 @@
 
 SafeFlags23.hs:1:16: Warning:
-    `SafeFlags22' has been inferred as unsafe!
+    ‛SafeFlags22’ has been inferred as unsafe!
     Reason:
         SafeFlags23.hs:7:1:
             System.IO.Unsafe: Can't be safely imported!
diff --git a/testsuite/tests/safeHaskell/flags/SafeFlags25.stderr b/testsuite/tests/safeHaskell/flags/SafeFlags25.stderr
index 3a1e971478c8..3e1d7b360757 100644
--- a/testsuite/tests/safeHaskell/flags/SafeFlags25.stderr
+++ b/testsuite/tests/safeHaskell/flags/SafeFlags25.stderr
@@ -1,3 +1,3 @@
 
 SafeFlags25.hs:1:16: Warning:
-    `SafeFlags25' has been inferred as safe!
+    ‛SafeFlags25’ has been inferred as safe!
diff --git a/testsuite/tests/safeHaskell/flags/SafeFlags26.stderr b/testsuite/tests/safeHaskell/flags/SafeFlags26.stderr
index fd5b341d142a..640f5be414b5 100644
--- a/testsuite/tests/safeHaskell/flags/SafeFlags26.stderr
+++ b/testsuite/tests/safeHaskell/flags/SafeFlags26.stderr
@@ -1,6 +1,6 @@
 
 SafeFlags26.hs:1:16: Warning:
-    `SafeFlags26' has been inferred as safe!
+    ‛SafeFlags26’ has been inferred as safe!
 
 <no location info>: 
 Failing due to -Werror.
diff --git a/testsuite/tests/safeHaskell/ghci/p10.stderr b/testsuite/tests/safeHaskell/ghci/p10.stderr
index 768948984e66..71ace7356921 100644
--- a/testsuite/tests/safeHaskell/ghci/p10.stderr
+++ b/testsuite/tests/safeHaskell/ghci/p10.stderr
@@ -1,2 +1,2 @@
 
-<interactive>:10:1: Not in scope: `b'
+<interactive>:10:1: Not in scope: ‛b’
diff --git a/testsuite/tests/safeHaskell/ghci/p13.stderr b/testsuite/tests/safeHaskell/ghci/p13.stderr
index 5e31e43439c1..226aac2f05c1 100644
--- a/testsuite/tests/safeHaskell/ghci/p13.stderr
+++ b/testsuite/tests/safeHaskell/ghci/p13.stderr
@@ -1,7 +1,7 @@
 
 <interactive>:12:1:
     Unsafe overlapping instances for Pos [Int]
-      arising from a use of `res'
+      arising from a use of ‛res’
     The matching instance is:
       instance [overlap ok] [safe] Pos [Int]
         -- Defined at <interactive>:10:10
@@ -10,4 +10,4 @@
     overlaps the following instances from different modules:
       instance [overlap ok] [safe] Pos [a] -- Defined at P13_A.hs:6:10
     In the expression: res [1 :: Int, 2 :: Int]
-    In an equation for `it': it = res [1 :: Int, 2 :: Int]
+    In an equation for ‛it’: it = res [1 :: Int, 2 :: Int]
diff --git a/testsuite/tests/safeHaskell/ghci/p15.stderr b/testsuite/tests/safeHaskell/ghci/p15.stderr
index f50d460ed807..0bc16dfbf1c1 100644
--- a/testsuite/tests/safeHaskell/ghci/p15.stderr
+++ b/testsuite/tests/safeHaskell/ghci/p15.stderr
@@ -1,9 +1,9 @@
 
 Top level: Warning:
-    Module `Data.OldTypeable' is deprecated: Use Data.Typeable instead
+    Module ‛Data.OldTypeable’ is deprecated: Use Data.Typeable instead
 
 <interactive>:10:36: Warning:
-    In the use of type constructor or class `Typeable'
+    In the use of type constructor or class ‛Typeable’
     (imported from Data.OldTypeable, but defined in Data.OldTypeable.Internal):
     Deprecated: "Use Data.Typeable.Internal instead"
 
@@ -11,8 +11,8 @@ Top level: Warning:
     Can't create hand written instances of Typeable in Safe Haskell! Can only derive them
 
 <interactive>:22:22:
-    No instance for (Typeable G) arising from a use of `cast'
+    No instance for (Typeable G) arising from a use of ‛cast’
     In the expression: (cast y) :: Maybe H
     In a pattern binding: (Just y_as_H) = (cast y) :: Maybe H
 
-<interactive>:23:1: Not in scope: `y_as_H'
+<interactive>:23:1: Not in scope: ‛y_as_H’
diff --git a/testsuite/tests/safeHaskell/ghci/p16.stderr b/testsuite/tests/safeHaskell/ghci/p16.stderr
index 33602c70a525..373920e57d68 100644
--- a/testsuite/tests/safeHaskell/ghci/p16.stderr
+++ b/testsuite/tests/safeHaskell/ghci/p16.stderr
@@ -3,13 +3,13 @@
     -XGeneralizedNewtypeDeriving is not allowed in Safe Haskell; ignoring -XGeneralizedNewtypeDeriving
 
 <interactive>:16:29:
-    Can't make a derived instance of `Op T2':
-      `Op' is not a derivable class
+    Can't make a derived instance of ‛Op T2’:
+      ‛Op’ is not a derivable class
       Try -XGeneralizedNewtypeDeriving for GHC's newtype-deriving extension
-    In the newtype declaration for `T2'
+    In the newtype declaration for ‛T2’
 
 <interactive>:19:9:
-    Not in scope: data constructor `T2'
-    Perhaps you meant `T1' (line 13)
+    Not in scope: data constructor ‛T2’
+    Perhaps you meant ‛T1’ (line 13)
 
-<interactive>:22:4: Not in scope: `y'
+<interactive>:22:4: Not in scope: ‛y’
diff --git a/testsuite/tests/safeHaskell/ghci/p4.stderr b/testsuite/tests/safeHaskell/ghci/p4.stderr
index 8ff4107af8a2..8ff140a7bd80 100644
--- a/testsuite/tests/safeHaskell/ghci/p4.stderr
+++ b/testsuite/tests/safeHaskell/ghci/p4.stderr
@@ -1,6 +1,6 @@
 
-<interactive>:6:9: Not in scope: `System.IO.Unsafe.unsafePerformIO'
+<interactive>:6:9: Not in scope: ‛System.IO.Unsafe.unsafePerformIO’
 
-<interactive>:7:9: Not in scope: `x'
+<interactive>:7:9: Not in scope: ‛x’
 
-<interactive>:8:1: Not in scope: `y'
+<interactive>:8:1: Not in scope: ‛y’
diff --git a/testsuite/tests/safeHaskell/ghci/p6.stderr b/testsuite/tests/safeHaskell/ghci/p6.stderr
index b32c521b4d0c..f46c1f815e46 100644
--- a/testsuite/tests/safeHaskell/ghci/p6.stderr
+++ b/testsuite/tests/safeHaskell/ghci/p6.stderr
@@ -6,5 +6,5 @@
       foreign import ccall safe "static sin" c_sin :: Double -> Double
 
 <interactive>:13:1:
-    Not in scope: `c_sin'
-    Perhaps you meant c_sin' (line 8)
+    Not in scope: ‛c_sin’
+    Perhaps you meant ‛c_sin'’ (line 8)
diff --git a/testsuite/tests/safeHaskell/ghci/p9.stderr b/testsuite/tests/safeHaskell/ghci/p9.stderr
index 768948984e66..71ace7356921 100644
--- a/testsuite/tests/safeHaskell/ghci/p9.stderr
+++ b/testsuite/tests/safeHaskell/ghci/p9.stderr
@@ -1,2 +1,2 @@
 
-<interactive>:10:1: Not in scope: `b'
+<interactive>:10:1: Not in scope: ‛b’
diff --git a/testsuite/tests/safeHaskell/safeInfered/UnsafeInfered07.stderr b/testsuite/tests/safeHaskell/safeInfered/UnsafeInfered07.stderr
index 4a83680d532e..e318319eaa87 100644
--- a/testsuite/tests/safeHaskell/safeInfered/UnsafeInfered07.stderr
+++ b/testsuite/tests/safeHaskell/safeInfered/UnsafeInfered07.stderr
@@ -1,20 +1,20 @@
 [1 of 2] Compiling UnsafeInfered07_A ( UnsafeInfered07_A.hs, UnsafeInfered07_A.o )
 
 UnsafeInfered07_A.hs:4:1: Warning:
-    Module `Data.OldTypeable' is deprecated: Use Data.Typeable instead
+    Module ‛Data.OldTypeable’ is deprecated: Use Data.Typeable instead
 
 UnsafeInfered07_A.hs:8:10: Warning:
-    In the use of type constructor or class `Typeable'
+    In the use of type constructor or class ‛Typeable’
     (imported from Data.OldTypeable, but defined in Data.OldTypeable.Internal):
     Deprecated: "Use Data.Typeable.Internal instead"
 
 UnsafeInfered07_A.hs:8:10: Warning:
-    In the use of type constructor or class `Typeable'
+    In the use of type constructor or class ‛Typeable’
     (imported from Data.OldTypeable, but defined in Data.OldTypeable.Internal):
     Deprecated: "Use Data.Typeable.Internal instead"
 
 UnsafeInfered07_A.hs:9:16: Warning:
-    In the use of `typeOf'
+    In the use of ‛typeOf’
     (imported from Data.OldTypeable, but defined in Data.OldTypeable.Internal):
     Deprecated: "Use Data.Typeable.Internal instead"
 [2 of 2] Compiling UnsafeInfered07  ( UnsafeInfered07.hs, UnsafeInfered07.o )
diff --git a/testsuite/tests/safeHaskell/safeInfered/UnsafeInfered11.stderr b/testsuite/tests/safeHaskell/safeInfered/UnsafeInfered11.stderr
index a6051e1b3d83..ec700d62fdb4 100644
--- a/testsuite/tests/safeHaskell/safeInfered/UnsafeInfered11.stderr
+++ b/testsuite/tests/safeHaskell/safeInfered/UnsafeInfered11.stderr
@@ -1,7 +1,7 @@
 [1 of 2] Compiling UnsafeInfered11_A ( UnsafeInfered11_A.hs, UnsafeInfered11_A.o )
 
 UnsafeInfered11_A.hs:1:16: Warning:
-    `UnsafeInfered11_A' has been inferred as unsafe!
+    ‛UnsafeInfered11_A’ has been inferred as unsafe!
     Reason:
         UnsafeInfered11_A.hs:17:11: Warning:
             Rule "lookupx/T" ignored
diff --git a/testsuite/tests/safeHaskell/safeInfered/UnsafeInfered12.stderr b/testsuite/tests/safeHaskell/safeInfered/UnsafeInfered12.stderr
index 8b6ec36bb9cb..53d7a4c3285a 100644
--- a/testsuite/tests/safeHaskell/safeInfered/UnsafeInfered12.stderr
+++ b/testsuite/tests/safeHaskell/safeInfered/UnsafeInfered12.stderr
@@ -1,6 +1,6 @@
 
 UnsafeInfered12.hs:2:16: Warning:
-    `UnsafeInfered12' has been inferred as unsafe!
+    ‛UnsafeInfered12’ has been inferred as unsafe!
     Reason:
         UnsafeInfered12.hs:1:14:
             -XTemplateHaskell is not allowed in Safe Haskell
diff --git a/testsuite/tests/safeHaskell/safeLanguage/SafeLang07.stderr b/testsuite/tests/safeHaskell/safeLanguage/SafeLang07.stderr
index cb081b0ebeb6..50c0ef7e5665 100644
--- a/testsuite/tests/safeHaskell/safeLanguage/SafeLang07.stderr
+++ b/testsuite/tests/safeHaskell/safeLanguage/SafeLang07.stderr
@@ -1,7 +1,7 @@
 
-SafeLang07.hs:2:14:
-    Warning: -XGeneralizedNewtypeDeriving is not allowed in Safe Haskell; ignoring -XGeneralizedNewtypeDeriving
+SafeLang07.hs:2:14: Warning:
+    -XGeneralizedNewtypeDeriving is not allowed in Safe Haskell; ignoring -XGeneralizedNewtypeDeriving
 
 SafeLang07.hs:15:1:
-    Failed to load interface for `SafeLang07_A'
+    Failed to load interface for ‛SafeLang07_A’
     Use -v to see a list of the files searched for.
diff --git a/testsuite/tests/safeHaskell/safeLanguage/SafeLang10.stderr b/testsuite/tests/safeHaskell/safeLanguage/SafeLang10.stderr
index de88221c2801..a226c797443b 100644
--- a/testsuite/tests/safeHaskell/safeLanguage/SafeLang10.stderr
+++ b/testsuite/tests/safeHaskell/safeLanguage/SafeLang10.stderr
@@ -4,7 +4,7 @@
 
 SafeLang10.hs:8:13:
     Unsafe overlapping instances for Pos [Int]
-      arising from a use of `res'
+      arising from a use of ‛res’
     The matching instance is:
       instance [overlap ok] [safe] Pos [Int]
         -- Defined at SafeLang10_B.hs:14:10
@@ -13,7 +13,7 @@ SafeLang10.hs:8:13:
     overlaps the following instances from different modules:
       instance Pos [a] -- Defined at SafeLang10_A.hs:13:10
     In the expression: res [(1 :: Int)]
-    In an equation for `r': r = res [(1 :: Int)]
+    In an equation for ‛r’: r = res [(1 :: Int)]
     In the expression:
       do { let r = res ...;
            putStrLn $ "Result: " ++ show r;
diff --git a/testsuite/tests/safeHaskell/unsafeLibs/Dep01.stderr b/testsuite/tests/safeHaskell/unsafeLibs/Dep01.stderr
index de3016e53410..656408bc4884 100644
--- a/testsuite/tests/safeHaskell/unsafeLibs/Dep01.stderr
+++ b/testsuite/tests/safeHaskell/unsafeLibs/Dep01.stderr
@@ -1,4 +1,4 @@
 
 Dep01.hs:8:12: Warning:
-    In the use of `unsafeSTToIO' (imported from Control.Monad.ST):
+    In the use of ‛unsafeSTToIO’ (imported from Control.Monad.ST):
     Deprecated: "Please import from Control.Monad.ST.Unsafe instead; This will be removed in the next release"
diff --git a/testsuite/tests/safeHaskell/unsafeLibs/Dep02.stderr b/testsuite/tests/safeHaskell/unsafeLibs/Dep02.stderr
index 531fda011dc3..4ea40a834f59 100644
--- a/testsuite/tests/safeHaskell/unsafeLibs/Dep02.stderr
+++ b/testsuite/tests/safeHaskell/unsafeLibs/Dep02.stderr
@@ -1,4 +1,4 @@
 
 Dep02.hs:15:17: Warning:
-    In the use of `unsafeIOToST' (imported from Control.Monad.ST.Lazy):
+    In the use of ‛unsafeIOToST’ (imported from Control.Monad.ST.Lazy):
     Deprecated: "Please import from Control.Monad.ST.Lazy.Unsafe instead; This will be removed in the next release"
diff --git a/testsuite/tests/simplCore/should_compile/T4398.stderr b/testsuite/tests/simplCore/should_compile/T4398.stderr
index ab17c8a4e902..692583e68023 100644
--- a/testsuite/tests/simplCore/should_compile/T4398.stderr
+++ b/testsuite/tests/simplCore/should_compile/T4398.stderr
@@ -1,4 +1,3 @@
-
-T4398.hs:5:11:
-    Warning: Forall'd constraint `Ord a' is not bound in RULE lhs
-               f @ a x y
+
+T4398.hs:5:11: Warning:
+    Forall'd constraint ‛Ord a’ is not bound in RULE lhs f @ a x y
diff --git a/testsuite/tests/simplCore/should_compile/T5359b.stderr b/testsuite/tests/simplCore/should_compile/T5359b.stderr
index a3484cfd4457..6106f3e17b73 100644
--- a/testsuite/tests/simplCore/should_compile/T5359b.stderr
+++ b/testsuite/tests/simplCore/should_compile/T5359b.stderr
@@ -1,3 +1,3 @@
 
 T5359b.hs:62:1: Warning:
-    SPECIALISE pragma on INLINE function probably won't fire: `genum'
+    SPECIALISE pragma on INLINE function probably won't fire: ‛genum’
diff --git a/testsuite/tests/simplCore/should_compile/T6082-RULE.stderr b/testsuite/tests/simplCore/should_compile/T6082-RULE.stderr
index a503b77d15eb..e133ec7e5859 100644
--- a/testsuite/tests/simplCore/should_compile/T6082-RULE.stderr
+++ b/testsuite/tests/simplCore/should_compile/T6082-RULE.stderr
@@ -1,8 +1,8 @@
 
 T6082-RULE.hs:5:11: Warning:
-    Rule "foo1" may never fire because `foo1' might inline first
-    Probable fix: add an INLINE[n] or NOINLINE[n] pragma on `foo1'
+    Rule "foo1" may never fire because ‛foo1’ might inline first
+    Probable fix: add an INLINE[n] or NOINLINE[n] pragma on ‛foo1’
 
 T6082-RULE.hs:10:11: Warning:
-    Rule "foo2" may never fire because `foo2' might inline first
-    Probable fix: add an INLINE[n] or NOINLINE[n] pragma on `foo2'
+    Rule "foo2" may never fire because ‛foo2’ might inline first
+    Probable fix: add an INLINE[n] or NOINLINE[n] pragma on ‛foo2’
diff --git a/testsuite/tests/simplCore/should_compile/simpl016.stderr b/testsuite/tests/simplCore/should_compile/simpl016.stderr
index 681dd10cabbd..0bd07fd0eb70 100644
--- a/testsuite/tests/simplCore/should_compile/simpl016.stderr
+++ b/testsuite/tests/simplCore/should_compile/simpl016.stderr
@@ -1,4 +1,4 @@
 
-simpl016.hs:5:1:
-    Warning: Forall'd constraint `Num b' is not bound in RULE lhs
-               delta' @ Int @ b GHC.Classes.$fEqInt
+simpl016.hs:5:1: Warning:
+    Forall'd constraint ‛Num b’ is not bound in RULE lhs
+      delta' @ Int @ b GHC.Classes.$fEqInt
diff --git a/testsuite/tests/simplCore/should_compile/simpl017.stderr b/testsuite/tests/simplCore/should_compile/simpl017.stderr
index 334691d2c254..26068534b3f6 100644
--- a/testsuite/tests/simplCore/should_compile/simpl017.stderr
+++ b/testsuite/tests/simplCore/should_compile/simpl017.stderr
@@ -1,26 +1,26 @@
 
 simpl017.hs:44:12:
-    Couldn't match expected type `forall v. [E m i] -> E' v m a'
-                with actual type `[E m i] -> E' v0 m a'
+    Couldn't match expected type ‛forall v. [E m i] -> E' v m a’
+                with actual type ‛[E m i] -> E' v0 m a’
     Relevant bindings include
       liftArray :: arr i a -> E m (forall v. [E m i] -> E' v m a)
         (bound at simpl017.hs:39:1)
       a :: arr i a (bound at simpl017.hs:39:11)
       ix :: [E m i] -> m i (bound at simpl017.hs:41:9)
       f :: [E m i] -> E' v0 m a (bound at simpl017.hs:43:9)
-    In the first argument of `return', namely `f'
+    In the first argument of ‛return’, namely ‛f’
     In a stmt of a 'do' block: return f
-    In the first argument of `E', namely
-      `(do { let ix :: [E m i] -> m i
+    In the first argument of ‛E’, namely
+      ‛(do { let ix :: [E m i] -> m i
                  ix [i] = runE i
                  {-# INLINE f #-}
                  ....;
-             return f })'
+             return f })’
 
 simpl017.hs:63:5:
-    Couldn't match type `forall v.
-                         [E' RValue (ST s) Int] -> E' v (ST s) Int'
-                  with `[E (ST t0) Int] -> E' RValue (ST s) Int'
+    Couldn't match type ‛forall v.
+                         [E' RValue (ST s) Int] -> E' v (ST s) Int’
+                  with ‛[E (ST t0) Int] -> E' RValue (ST s) Int’
     Expected type: [E (ST t0) Int] -> E (ST s) Int
       Actual type: forall v. [E (ST s) Int] -> E' v (ST s) Int
     Relevant bindings include
@@ -28,15 +28,15 @@ simpl017.hs:63:5:
       ma :: STArray s Int Int (bound at simpl017.hs:59:5)
       a :: forall v. [E (ST s) Int] -> E' v (ST s) Int
         (bound at simpl017.hs:60:5)
-    The function `a' is applied to one argument,
-    but its type `forall v. [E (ST s) Int] -> E' v (ST s) Int' has none
-    In the first argument of `plus', namely `a [one]'
+    The function ‛a’ is applied to one argument,
+    but its type ‛forall v. [E (ST s) Int] -> E' v (ST s) Int’ has none
+    In the first argument of ‛plus’, namely ‛a [one]’
     In a stmt of a 'do' block: a [one] `plus` a [one]
 
 simpl017.hs:63:19:
-    Couldn't match type `forall v.
-                         [E' RValue (ST s) Int] -> E' v (ST s) Int'
-                  with `[E (ST t1) Int] -> E' RValue (ST s) Int'
+    Couldn't match type ‛forall v.
+                         [E' RValue (ST s) Int] -> E' v (ST s) Int’
+                  with ‛[E (ST t1) Int] -> E' RValue (ST s) Int’
     Expected type: [E (ST t1) Int] -> E (ST s) Int
       Actual type: forall v. [E (ST s) Int] -> E' v (ST s) Int
     Relevant bindings include
@@ -44,7 +44,7 @@ simpl017.hs:63:19:
       ma :: STArray s Int Int (bound at simpl017.hs:59:5)
       a :: forall v. [E (ST s) Int] -> E' v (ST s) Int
         (bound at simpl017.hs:60:5)
-    The function `a' is applied to one argument,
-    but its type `forall v. [E (ST s) Int] -> E' v (ST s) Int' has none
-    In the second argument of `plus', namely `a [one]'
+    The function ‛a’ is applied to one argument,
+    but its type ‛forall v. [E (ST s) Int] -> E' v (ST s) Int’ has none
+    In the second argument of ‛plus’, namely ‛a [one]’
     In a stmt of a 'do' block: a [one] `plus` a [one]
diff --git a/testsuite/tests/simplCore/should_compile/simpl020.stderr b/testsuite/tests/simplCore/should_compile/simpl020.stderr
index cd84c1d2d371..d23a8ddf2358 100644
--- a/testsuite/tests/simplCore/should_compile/simpl020.stderr
+++ b/testsuite/tests/simplCore/should_compile/simpl020.stderr
@@ -1,8 +1,8 @@
 
-Simpl020_A.hs:25:10:
-    Warning: No explicit method or default declaration for `toGUIObject'
-    In the instance declaration for `GUIObject ()'
+Simpl020_A.hs:25:10: Warning:
+    No explicit method or default declaration for ‛toGUIObject’
+    In the instance declaration for ‛GUIObject ()’
 
-Simpl020_A.hs:25:10:
-    Warning: No explicit method or default declaration for `cset'
-    In the instance declaration for `GUIObject ()'
+Simpl020_A.hs:25:10: Warning:
+    No explicit method or default declaration for ‛cset’
+    In the instance declaration for ‛GUIObject ()’
diff --git a/testsuite/tests/th/T2597b.stderr b/testsuite/tests/th/T2597b.stderr
index 8881b810449a..a9295ebd5f12 100644
--- a/testsuite/tests/th/T2597b.stderr
+++ b/testsuite/tests/th/T2597b.stderr
@@ -3,4 +3,4 @@ T2597b.hs:8:8:
     Empty stmt list in do-block
     When splicing a TH expression: do
     In the expression: $mkBug2
-    In an equation for `bug2': bug2 = $mkBug2
+    In an equation for ‛bug2’: bug2 = $mkBug2
diff --git a/testsuite/tests/th/T2674.stderr b/testsuite/tests/th/T2674.stderr
index a69781dfe410..6875684dda79 100644
--- a/testsuite/tests/th/T2674.stderr
+++ b/testsuite/tests/th/T2674.stderr
@@ -1,4 +1,4 @@
 
 T2674.hs:9:3:
-    Function binding for `foo' has no equations
+    Function binding for ‛foo’ has no equations
     When splicing a TH declaration: 
diff --git a/testsuite/tests/th/T2713.stderr b/testsuite/tests/th/T2713.stderr
index 16f130c65a69..c036b4384817 100644
--- a/testsuite/tests/th/T2713.stderr
+++ b/testsuite/tests/th/T2713.stderr
@@ -1,8 +1,8 @@
 
 T2713.hs:11:10:
-    The fixity signature for `.*.' lacks an accompanying binding
-      (The fixity signature must be given where `.*.' is declared)
+    The fixity signature for ‛.*.’ lacks an accompanying binding
+      (The fixity signature must be given where ‛.*.’ is declared)
 
 T2713.hs:12:1:
-    The type signature for `f' lacks an accompanying binding
-      (The type signature must be given where `f' is declared)
+    The type signature for ‛f’ lacks an accompanying binding
+      (The type signature must be given where ‛f’ is declared)
diff --git a/testsuite/tests/th/T3177a.stderr b/testsuite/tests/th/T3177a.stderr
index a39419b948f1..4e9d4dd8fa4d 100644
--- a/testsuite/tests/th/T3177a.stderr
+++ b/testsuite/tests/th/T3177a.stderr
@@ -1,10 +1,10 @@
 
 T3177a.hs:8:15:
-    `Int' is applied to too many type arguments
-    In the type `Int Int'
+    ‛Int’ is applied to too many type arguments
+    In the type ‛Int Int’
     In the Template Haskell quotation [t| Int Int |]
-    In the first argument of `id', namely `[t| Int Int |]'
+    In the first argument of ‛id’, namely ‛[t| Int Int |]’
 
 T3177a.hs:11:6:
-    `Int' is applied to too many type arguments
-    In the type signature for `g': g :: Int Int
+    ‛Int’ is applied to too many type arguments
+    In the type signature for ‛g’: g :: Int Int
diff --git a/testsuite/tests/th/T3395.stderr b/testsuite/tests/th/T3395.stderr
index f85f7cc1da54..cd25afe0399f 100644
--- a/testsuite/tests/th/T3395.stderr
+++ b/testsuite/tests/th/T3395.stderr
@@ -5,12 +5,13 @@ T3395.hs:6:9:
     (It should be an expression.)
     When splicing a TH expression: [r1 <- undefined | undefined]
     In the expression:
-        $(return
+      $(return
         $ CompE
             [NoBindS (VarE $ mkName "undefined"),
              BindS (VarP $ mkName "r1") (VarE $ mkName "undefined")])
-    In an equation for `foo':
-        foo = $(return
+    In an equation for ‛foo’:
+        foo
+          = $(return
               $ CompE
                   [NoBindS (VarE $ mkName "undefined"),
                    BindS (VarP $ mkName "r1") (VarE $ mkName "undefined")])
diff --git a/testsuite/tests/th/T5358.stderr b/testsuite/tests/th/T5358.stderr
index 26c83758d502..bc4138f8a902 100644
--- a/testsuite/tests/th/T5358.stderr
+++ b/testsuite/tests/th/T5358.stderr
@@ -1,43 +1,43 @@
 
 T5358.hs:7:1:
-    Couldn't match expected type `t1 -> t1' with actual type `Int'
-    The equation(s) for `t1' have one argument,
-    but its type `Int' has none
+    Couldn't match expected type ‛t1 -> t1’ with actual type ‛Int’
+    The equation(s) for ‛t1’ have one argument,
+    but its type ‛Int’ has none
 
 T5358.hs:8:1:
-    Couldn't match expected type `t0 -> t0' with actual type `Int'
-    The equation(s) for `t2' have one argument,
-    but its type `Int' has none
+    Couldn't match expected type ‛t0 -> t0’ with actual type ‛Int’
+    The equation(s) for ‛t2’ have one argument,
+    but its type ‛Int’ has none
 
 T5358.hs:10:13:
-    Couldn't match expected type `t -> a0' with actual type `Int'
+    Couldn't match expected type ‛t -> a0’ with actual type ‛Int’
     Relevant bindings include
       prop_x1 :: t -> Bool (bound at T5358.hs:10:1)
       x :: t (bound at T5358.hs:10:9)
-    The function `t1' is applied to one argument,
-    but its type `Int' has none
-    In the first argument of `(==)', namely `t1 x'
+    The function ‛t1’ is applied to one argument,
+    but its type ‛Int’ has none
+    In the first argument of ‛(==)’, namely ‛t1 x’
     In the expression: t1 x == t2 x
 
 T5358.hs:10:21:
-    Couldn't match expected type `t -> a0' with actual type `Int'
+    Couldn't match expected type ‛t -> a0’ with actual type ‛Int’
     Relevant bindings include
       prop_x1 :: t -> Bool (bound at T5358.hs:10:1)
       x :: t (bound at T5358.hs:10:9)
-    The function `t2' is applied to one argument,
-    but its type `Int' has none
-    In the second argument of `(==)', namely `t2 x'
+    The function ‛t2’ is applied to one argument,
+    but its type ‛Int’ has none
+    In the second argument of ‛(==)’, namely ‛t2 x’
     In the expression: t1 x == t2 x
 
 T5358.hs:12:15:
     Exception when trying to run compile-time code:
       runTest called error: forall t_0 . t_0 -> GHC.Types.Bool
-      Code: do { VarI _ t _ _ <- reify (mkName "prop_x1");
-                 ($) error ((++) "runTest called error: " pprint t) }
+    Code: do { VarI _ t _ _ <- reify (mkName "prop_x1");
+               ($) error ((++) "runTest called error: " pprint t) }
     In the expression:
       $(do { VarI _ t _ _ <- reify (mkName "prop_x1");
              error $ ("runTest called error: " ++ pprint t) })
-    In an equation for `runTests':
+    In an equation for ‛runTests’:
         runTests
           = $(do { VarI _ t _ _ <- reify (mkName "prop_x1");
                    error $ ("runTest called error: " ++ pprint t) })
diff --git a/testsuite/tests/th/T5795.stderr b/testsuite/tests/th/T5795.stderr
index 5fce537ea6c2..74d6c34941a9 100644
--- a/testsuite/tests/th/T5795.stderr
+++ b/testsuite/tests/th/T5795.stderr
@@ -1,7 +1,7 @@
 
 T5795.hs:9:6:
     GHC stage restriction:
-      `ty' is used in a top-level splice or annotation,
+      ‛ty’ is used in a top-level splice or annotation,
       and must be imported, not defined locally
     In the expression: ty
-    In the type signature for `f': f :: $ty
+    In the type signature for ‛f’: f :: $ty
diff --git a/testsuite/tests/th/T5971.stderr b/testsuite/tests/th/T5971.stderr
index 3a06330a4778..9f3f993813ec 100644
--- a/testsuite/tests/th/T5971.stderr
+++ b/testsuite/tests/th/T5971.stderr
@@ -1,6 +1,6 @@
 
 T5971.hs:6:7:
-    The exact Name `x' is not in scope
+    The exact Name ‛x’ is not in scope
       Probable cause: you used a unique Template Haskell name (NameU), 
       perhaps via newName, but did not bind it
       If that's it, then -ddump-splices might be useful
diff --git a/testsuite/tests/th/T6114.stderr b/testsuite/tests/th/T6114.stderr
index 253c7c4d672b..e588ada7f393 100644
--- a/testsuite/tests/th/T6114.stderr
+++ b/testsuite/tests/th/T6114.stderr
@@ -1,6 +1,6 @@
 
 T6114.hs:6:17:
-    The exact Name `x' is not in scope
+    The exact Name ‛x’ is not in scope
       Probable cause: you used a unique Template Haskell name (NameU), 
       perhaps via newName, but did not bind it
       If that's it, then -ddump-splices might be useful
@@ -10,7 +10,7 @@ T6114.hs:6:17:
              instanceType <- [t| $(varT xName) |];
              _ <- reifyInstances ''Eq [instanceType];
              .... })
-    In an equation for `instanceVar':
+    In an equation for ‛instanceVar’:
         instanceVar
           = $(do { xName <- newName "x";
                    instanceType <- [t| $(varT xName) |];
diff --git a/testsuite/tests/th/T7276.stderr b/testsuite/tests/th/T7276.stderr
index aeb36647dc93..d1bb7c71feb0 100644
--- a/testsuite/tests/th/T7276.stderr
+++ b/testsuite/tests/th/T7276.stderr
@@ -1,7 +1,7 @@
 
 T7276.hs:6:8:
-    Couldn't match type `[Language.Haskell.TH.Syntax.Dec]'
-                  with `Language.Haskell.TH.Syntax.Exp'
+    Couldn't match type ‛[Language.Haskell.TH.Syntax.Dec]’
+                  with ‛Language.Haskell.TH.Syntax.Exp’
     Expected type: Language.Haskell.TH.Lib.ExpQ
       Actual type: Language.Haskell.TH.Lib.DecsQ
     In the Template Haskell quotation [d| y = 3 |]
diff --git a/testsuite/tests/th/T7276a.stdout b/testsuite/tests/th/T7276a.stdout
index 8c4f7afc6426..15ece9337298 100644
--- a/testsuite/tests/th/T7276a.stdout
+++ b/testsuite/tests/th/T7276a.stdout
@@ -1,21 +1,21 @@
 
 <interactive>:4:9: Warning:
-    Couldn't match type `[Dec]' with `Exp'
+    Couldn't match type ‛[Dec]’ with ‛Exp’
     Expected type: Q Exp
       Actual type: DecsQ
     In the Template Haskell quotation [d| a = () |]
     In the expression: [d| a = () |] :: Q Exp
-    In an equation for `x': x = [d| a = () |] :: Q Exp
+    In an equation for ‛x’: x = [d| a = () |] :: Q Exp
 
 <interactive>:1:1:
     Exception when trying to run compile-time code:
       <interactive>:4:9:
-    Couldn't match type `[Dec]' with `Exp'
+    Couldn't match type ‛[Dec]’ with ‛Exp’
     Expected type: Q Exp
       Actual type: DecsQ
     In the Template Haskell quotation [d| a = () |]
     In the expression: [d| a = () |] :: Q Exp
-    In an equation for `x': x = [d| a = () |] :: Q Exp
+    In an equation for ‛x’: x = [d| a = () |] :: Q Exp
 (deferred type error)
     Code: x
     In the expression: $x
diff --git a/testsuite/tests/th/TH_1tuple.stderr b/testsuite/tests/th/TH_1tuple.stderr
index cb8889e4ca0e..309bde5ebfb1 100644
--- a/testsuite/tests/th/TH_1tuple.stderr
+++ b/testsuite/tests/th/TH_1tuple.stderr
@@ -3,4 +3,4 @@ TH_1tuple.hs:11:7:
     Illegal 1-tuple type constructor
     When splicing a TH expression: 1 :: ()
     In the expression: $(sigE [| 1 |] (tupleT 1))
-    In an equation for `y': y = $(sigE [| 1 |] (tupleT 1))
+    In an equation for ‛y’: y = $(sigE [| 1 |] (tupleT 1))
diff --git a/testsuite/tests/th/TH_dupdecl.stderr b/testsuite/tests/th/TH_dupdecl.stderr
index a8628a3de7a5..4bd90febade5 100644
--- a/testsuite/tests/th/TH_dupdecl.stderr
+++ b/testsuite/tests/th/TH_dupdecl.stderr
@@ -1,5 +1,5 @@
 
 TH_dupdecl.hs:10:4:
-    Multiple declarations of `x'
+    Multiple declarations of ‛x’
     Declared at: TH_dupdecl.hs:8:4
                  TH_dupdecl.hs:10:4
diff --git a/testsuite/tests/th/TH_runIO.stderr b/testsuite/tests/th/TH_runIO.stderr
index f7a536a95adc..6d7499a3da3a 100644
--- a/testsuite/tests/th/TH_runIO.stderr
+++ b/testsuite/tests/th/TH_runIO.stderr
@@ -2,6 +2,6 @@
 TH_runIO.hs:12:9:
     Exception when trying to run compile-time code:
       user error (hi)
-      Code: runIO (fail "hi")
+    Code: runIO (fail "hi")
     In the expression: $(runIO (fail "hi"))
-    In an equation for `foo': foo = $(runIO (fail "hi"))
+    In an equation for ‛foo’: foo = $(runIO (fail "hi"))
diff --git a/testsuite/tests/th/TH_spliceD1.stderr b/testsuite/tests/th/TH_spliceD1.stderr
index d54ef19b88e9..2a93bb4f5a66 100644
--- a/testsuite/tests/th/TH_spliceD1.stderr
+++ b/testsuite/tests/th/TH_spliceD1.stderr
@@ -1,6 +1,6 @@
 
 TH_spliceD1.hs:10:3:
-    Conflicting definitions for `c'
+    Conflicting definitions for ‛c’
     Bound at: TH_spliceD1.hs:10:3-5
               TH_spliceD1.hs:10:3-5
-    In an equation for `f'
+    In an equation for ‛f’
diff --git a/testsuite/tests/th/TH_unresolvedInfix2.stderr b/testsuite/tests/th/TH_unresolvedInfix2.stderr
index a23cd4ae919d..fab508a33131 100644
--- a/testsuite/tests/th/TH_unresolvedInfix2.stderr
+++ b/testsuite/tests/th/TH_unresolvedInfix2.stderr
@@ -1,9 +1,9 @@
 
 TH_unresolvedInfix2.hs:12:11:
-    The operator `:+' [infixl 6] of a section
+    The operator ‛:+’ [infixl 6] of a section
         must have lower precedence than that of the operand,
-          namely `:+' [infixl 6]
-        in the section: `:+ N :+ N'
+          namely ‛:+’ [infixl 6]
+        in the section: ‛:+ N :+ N’
     In the result of the splice:
       $(let
           plus = conE ':+
@@ -15,7 +15,7 @@ TH_unresolvedInfix2.hs:12:11:
           plus = conE ...
           n = conE ...
         in infixE Nothing plus (Just $ uInfixE n plus n))
-    In an equation for `expr':
+    In an equation for ‛expr’:
         expr
           = $(let
                 plus = ...
diff --git a/testsuite/tests/typecheck/bug1465/bug1465.stderr b/testsuite/tests/typecheck/bug1465/bug1465.stderr
index 47a4d0c61643..3108183be256 100644
--- a/testsuite/tests/typecheck/bug1465/bug1465.stderr
+++ b/testsuite/tests/typecheck/bug1465/bug1465.stderr
@@ -1,7 +1,7 @@
 
 C.hs:6:11:
-    Couldn't match expected type `bug1465-1.0:A.T'
-                with actual type `A.T'
+    Couldn't match expected type ‛bug1465-1.0:A.T’
+                with actual type ‛A.T’
     In the expression: B2.f
     In the expression: [B1.f, B2.f]
-    In an equation for `x': x = [B1.f, B2.f]
+    In an equation for ‛x’: x = [B1.f, B2.f]
diff --git a/testsuite/tests/typecheck/prog001/typecheck.prog001.stderr-ghc b/testsuite/tests/typecheck/prog001/typecheck.prog001.stderr-ghc
index 17d8e2cf849f..4652417ce624 100644
--- a/testsuite/tests/typecheck/prog001/typecheck.prog001.stderr-ghc
+++ b/testsuite/tests/typecheck/prog001/typecheck.prog001.stderr-ghc
@@ -1,5 +1,4 @@
 
-B.hs:7:10:
-    Warning: No explicit method or default declaration for `row'
-    In the instance declaration for `Matrix Bool Val'
-
+B.hs:7:10: Warning:
+    No explicit method or default declaration for ‛row’
+    In the instance declaration for ‛Matrix Bool Val’
diff --git a/testsuite/tests/typecheck/should_compile/FD1.stderr b/testsuite/tests/typecheck/should_compile/FD1.stderr
index fdeb30e42dd7..5fa16fdf1506 100644
--- a/testsuite/tests/typecheck/should_compile/FD1.stderr
+++ b/testsuite/tests/typecheck/should_compile/FD1.stderr
@@ -5,9 +5,9 @@ FD1.hs:16:1:
       bound by the type signature for
                  plus :: E a (Int -> Int) => Int -> a
       at FD1.hs:15:9-38
-      `a' is a rigid type variable bound by
+      ‛a’ is a rigid type variable bound by
           the type signature for plus :: E a (Int -> Int) => Int -> a
           at FD1.hs:15:9
     Relevant bindings include plus :: Int -> a (bound at FD1.hs:16:1)
-    The equation(s) for `plus' have two arguments,
-    but its type `Int -> a' has only one
+    The equation(s) for ‛plus’ have two arguments,
+    but its type ‛Int -> a’ has only one
diff --git a/testsuite/tests/typecheck/should_compile/FD2.stderr b/testsuite/tests/typecheck/should_compile/FD2.stderr
index 8822c1ccb223..c98c9cf48040 100644
--- a/testsuite/tests/typecheck/should_compile/FD2.stderr
+++ b/testsuite/tests/typecheck/should_compile/FD2.stderr
@@ -2,7 +2,7 @@
 FD2.hs:26:34:
     Could not deduce (e ~ e1)
     from the context (Foldable a)
-      bound by the class declaration for `Foldable'
+      bound by the class declaration for ‛Foldable’
       at FD2.hs:(17,1)-(26,39)
     or from (Elem a e)
       bound by the type signature for
@@ -12,11 +12,11 @@ FD2.hs:26:34:
       bound by the type signature for
                  mf :: Elem a e1 => e1 -> Maybe e1 -> Maybe e1
       at FD2.hs:24:18-54
-      `e' is a rigid type variable bound by
+      ‛e’ is a rigid type variable bound by
           the type signature for
             foldr1 :: Elem a e => (e -> e -> e) -> a -> e
           at FD2.hs:21:13
-      `e1' is a rigid type variable bound by
+      ‛e1’ is a rigid type variable bound by
            the type signature for
              mf :: Elem a e1 => e1 -> Maybe e1 -> Maybe e1
            at FD2.hs:24:18
@@ -26,6 +26,6 @@ FD2.hs:26:34:
       mf :: e1 -> Maybe e1 -> Maybe e1 (bound at FD2.hs:25:12)
       x :: e1 (bound at FD2.hs:26:15)
       y :: e1 (bound at FD2.hs:26:23)
-    In the return type of a call of `f'
-    In the first argument of `Just', namely `(f x y)'
+    In the return type of a call of ‛f’
+    In the first argument of ‛Just’, namely ‛(f x y)’
     In the expression: Just (f x y)
diff --git a/testsuite/tests/typecheck/should_compile/FD3.stderr b/testsuite/tests/typecheck/should_compile/FD3.stderr
index ad849e6b0f6f..9c0a11c36ca7 100644
--- a/testsuite/tests/typecheck/should_compile/FD3.stderr
+++ b/testsuite/tests/typecheck/should_compile/FD3.stderr
@@ -1,7 +1,7 @@
 
 FD3.hs:15:15:
-    Couldn't match type `a' with `(String, a)'
-      `a' is a rigid type variable bound by
+    Couldn't match type ‛a’ with ‛(String, a)’
+      ‛a’ is a rigid type variable bound by
           the type signature for translate :: (String, a) -> A a
           at FD3.hs:14:14
     Relevant bindings include
@@ -9,8 +9,8 @@ FD3.hs:15:15:
       a :: (String, a) (bound at FD3.hs:15:11)
     When using functional dependencies to combine
       MkA a a,
-        arising from the dependency `a -> b'
+        arising from the dependency ‛a -> b’
         in the instance declaration at FD3.hs:12:10
-      MkA (String, a) a, arising from a use of `mkA' at FD3.hs:15:15-17
+      MkA (String, a) a, arising from a use of ‛mkA’ at FD3.hs:15:15-17
     In the expression: mkA a
-    In an equation for `translate': translate a = mkA a
+    In an equation for ‛translate’: translate a = mkA a
diff --git a/testsuite/tests/typecheck/should_compile/T2494.stderr b/testsuite/tests/typecheck/should_compile/T2494.stderr
index bbb8d0c94618..68b8dd4be12f 100644
--- a/testsuite/tests/typecheck/should_compile/T2494.stderr
+++ b/testsuite/tests/typecheck/should_compile/T2494.stderr
@@ -1,9 +1,9 @@
 
 T2494.hs:15:14:
-    Couldn't match type `a' with `b'
-      `a' is a rigid type variable bound by
+    Couldn't match type ‛a’ with ‛b’
+      ‛a’ is a rigid type variable bound by
           the RULE "foo/foo" at T2494.hs:13:16
-      `b' is a rigid type variable bound by
+      ‛b’ is a rigid type variable bound by
           the RULE "foo/foo" at T2494.hs:14:16
     Expected type: Maybe (m a) -> Maybe (m a)
       Actual type: Maybe (m b) -> Maybe (m b)
@@ -13,15 +13,15 @@ T2494.hs:15:14:
         (bound at T2494.hs:14:11)
       f :: forall (m :: * -> *). Monad m => Maybe (m a) -> Maybe (m a)
         (bound at T2494.hs:13:11)
-    In the first argument of `foo', namely `g'
-    In the second argument of `foo', namely `(foo g x)'
+    In the first argument of ‛foo’, namely ‛g’
+    In the second argument of ‛foo’, namely ‛(foo g x)’
     In the expression: foo f (foo g x)
 
 T2494.hs:15:30:
-    Couldn't match type `a' with `b'
-      `a' is a rigid type variable bound by
+    Couldn't match type ‛a’ with ‛b’
+      ‛a’ is a rigid type variable bound by
           the RULE "foo/foo" at T2494.hs:13:16
-      `b' is a rigid type variable bound by
+      ‛b’ is a rigid type variable bound by
           the RULE "foo/foo" at T2494.hs:14:16
     Expected type: Maybe (m a) -> Maybe (m a)
       Actual type: Maybe (m b) -> Maybe (m b)
@@ -31,6 +31,6 @@ T2494.hs:15:30:
         (bound at T2494.hs:14:11)
       f :: forall (m :: * -> *). Monad m => Maybe (m a) -> Maybe (m a)
         (bound at T2494.hs:13:11)
-    In the second argument of `(.)', namely `g'
-    In the first argument of `foo', namely `(f . g)'
+    In the second argument of ‛(.)’, namely ‛g’
+    In the first argument of ‛foo’, namely ‛(f . g)’
     In the expression: foo (f . g) x
diff --git a/testsuite/tests/typecheck/should_compile/T2497.stderr b/testsuite/tests/typecheck/should_compile/T2497.stderr
index de6ca484b5b8..7ee9bee08e88 100644
--- a/testsuite/tests/typecheck/should_compile/T2497.stderr
+++ b/testsuite/tests/typecheck/should_compile/T2497.stderr
@@ -1,2 +1,2 @@
 
-T2497.hs:18:1: Warning: Defined but not used: `beq'
+T2497.hs:18:1: Warning: Defined but not used: ‛beq’
diff --git a/testsuite/tests/typecheck/should_compile/T5481.stderr b/testsuite/tests/typecheck/should_compile/T5481.stderr
index c88aecbca630..931c3e04202b 100644
--- a/testsuite/tests/typecheck/should_compile/T5481.stderr
+++ b/testsuite/tests/typecheck/should_compile/T5481.stderr
@@ -1,8 +1,8 @@
 
 T5481.hs:6:10:
-    The RHS of an associated type declaration mentions type variable `b'
+    The RHS of an associated type declaration mentions type variable ‛b’
       All such variables must be bound on the LHS
 
 T5481.hs:8:10:
-    The RHS of an associated type declaration mentions type variable `a'
+    The RHS of an associated type declaration mentions type variable ‛a’
       All such variables must be bound on the LHS
diff --git a/testsuite/tests/typecheck/should_compile/T7050.stderr b/testsuite/tests/typecheck/should_compile/T7050.stderr
index e7330ce4f5e9..860c90757fb4 100644
--- a/testsuite/tests/typecheck/should_compile/T7050.stderr
+++ b/testsuite/tests/typecheck/should_compile/T7050.stderr
@@ -1,5 +1,5 @@
 
 T7050.hs:3:14: Warning:
-    Ignoring unusable UNPACK pragma on the first argument of `Foo'
-    In the definition of data constructor `Foo'
-    In the data declaration for `Foo'
+    Ignoring unusable UNPACK pragma on the first argument of ‛Foo’
+    In the definition of data constructor ‛Foo’
+    In the data declaration for ‛Foo’
diff --git a/testsuite/tests/typecheck/should_compile/T7562.stderr b/testsuite/tests/typecheck/should_compile/T7562.stderr
index 1460def5cba4..36f1de5780d7 100644
--- a/testsuite/tests/typecheck/should_compile/T7562.stderr
+++ b/testsuite/tests/typecheck/should_compile/T7562.stderr
@@ -1,5 +1,5 @@
 
 T7562.hs:3:14: Warning:
-    UNPACK pragma lacks '!' on the first argument of `Pair2'
-    In the definition of data constructor `Pair2'
-    In the data declaration for `Pair2'
+    UNPACK pragma lacks '!' on the first argument of ‛Pair2’
+    In the definition of data constructor ‛Pair2’
+    In the data declaration for ‛Pair2’
diff --git a/testsuite/tests/typecheck/should_compile/holes.stderr b/testsuite/tests/typecheck/should_compile/holes.stderr
index b04bb8f8eae9..6f00061cbd4e 100644
--- a/testsuite/tests/typecheck/should_compile/holes.stderr
+++ b/testsuite/tests/typecheck/should_compile/holes.stderr
@@ -1,26 +1,26 @@
 
 holes.hs:5:5: Warning:
-    Found hole `_' with type: t
-    Where: `t' is a rigid type variable bound by
+    Found hole ‛_’ with type: t
+    Where: ‛t’ is a rigid type variable bound by
                the inferred type of f :: t at holes.hs:5:1
     Relevant bindings include f :: t (bound at holes.hs:5:1)
     In the expression: _
-    In an equation for `f': f = _
+    In an equation for ‛f’: f = _
 
 holes.hs:8:7: Warning:
-    Found hole `_' with type: Char
+    Found hole ‛_’ with type: Char
     In the expression: _
-    In an equation for `g': g x = _
+    In an equation for ‛g’: g x = _
 
 holes.hs:10:5: Warning:
-    Found hole `_' with type: [Char]
-    In the first argument of `(++)', namely `_'
+    Found hole ‛_’ with type: [Char]
+    In the first argument of ‛(++)’, namely ‛_’
     In the expression: _ ++ "a"
-    In an equation for `h': h = _ ++ "a"
+    In an equation for ‛h’: h = _ ++ "a"
 
 holes.hs:13:15: Warning:
-    Found hole `_' with type: b0
-    Where: `b0' is an ambiguous type variable
-    In the second argument of `const', namely `_'
+    Found hole ‛_’ with type: b0
+    Where: ‛b0’ is an ambiguous type variable
+    In the second argument of ‛const’, namely ‛_’
     In the expression: const y _
-    In an equation for `z': z y = const y _
+    In an equation for ‛z’: z y = const y _
diff --git a/testsuite/tests/typecheck/should_compile/holes2.stderr b/testsuite/tests/typecheck/should_compile/holes2.stderr
index 9945d288f4c0..5ceb46e05fe4 100644
--- a/testsuite/tests/typecheck/should_compile/holes2.stderr
+++ b/testsuite/tests/typecheck/should_compile/holes2.stderr
@@ -1,19 +1,19 @@
 
 holes2.hs:5:5: Warning:
-    No instance for (Show a0) arising from a use of `show'
-    The type variable `a0' is ambiguous
+    No instance for (Show a0) arising from a use of ‛show’
+    The type variable ‛a0’ is ambiguous
     Note: there are several potential instances:
-      instance Show Double -- Defined in `GHC.Float'
-      instance Show Float -- Defined in `GHC.Float'
+      instance Show Double -- Defined in ‛GHC.Float’
+      instance Show Float -- Defined in ‛GHC.Float’
       instance (Integral a, Show a) => Show (GHC.Real.Ratio a)
-        -- Defined in `GHC.Real'
+        -- Defined in ‛GHC.Real’
       ...plus 23 others
     In the expression: show _
-    In an equation for `f': f = show _
+    In an equation for ‛f’: f = show _
 
 holes2.hs:5:10: Warning:
-    Found hole `_' with type: a0
-    Where: `a0' is an ambiguous type variable
-    In the first argument of `show', namely `_'
+    Found hole ‛_’ with type: a0
+    Where: ‛a0’ is an ambiguous type variable
+    In the first argument of ‛show’, namely ‛_’
     In the expression: show _
-    In an equation for `f': f = show _
+    In an equation for ‛f’: f = show _
diff --git a/testsuite/tests/typecheck/should_compile/holes3.stderr b/testsuite/tests/typecheck/should_compile/holes3.stderr
index 87c80fe300f6..a945e5e25157 100644
--- a/testsuite/tests/typecheck/should_compile/holes3.stderr
+++ b/testsuite/tests/typecheck/should_compile/holes3.stderr
@@ -1,26 +1,26 @@
 
 holes3.hs:5:5:
-    Found hole `_' with type: t
-    Where: `t' is a rigid type variable bound by
+    Found hole ‛_’ with type: t
+    Where: ‛t’ is a rigid type variable bound by
                the inferred type of f :: t at holes3.hs:5:1
     Relevant bindings include f :: t (bound at holes3.hs:5:1)
     In the expression: _
-    In an equation for `f': f = _
+    In an equation for ‛f’: f = _
 
 holes3.hs:8:7:
-    Found hole `_gr' with type: Char
+    Found hole ‛_gr’ with type: Char
     In the expression: _gr
-    In an equation for `g': g x = _gr
+    In an equation for ‛g’: g x = _gr
 
 holes3.hs:10:5:
-    Found hole `_aa' with type: [Char]
-    In the first argument of `(++)', namely `_aa'
+    Found hole ‛_aa’ with type: [Char]
+    In the first argument of ‛(++)’, namely ‛_aa’
     In the expression: _aa ++ "a"
-    In an equation for `h': h = _aa ++ "a"
+    In an equation for ‛h’: h = _aa ++ "a"
 
 holes3.hs:13:15:
-    Found hole `_x' with type: b0
-    Where: `b0' is an ambiguous type variable
-    In the second argument of `const', namely `_x'
+    Found hole ‛_x’ with type: b0
+    Where: ‛b0’ is an ambiguous type variable
+    In the second argument of ‛const’, namely ‛_x’
     In the expression: const y _x
-    In an equation for `z': z y = const y _x
+    In an equation for ‛z’: z y = const y _x
diff --git a/testsuite/tests/typecheck/should_compile/tc056.stderr b/testsuite/tests/typecheck/should_compile/tc056.stderr
index 786c88e80434..c05f9b3bc2db 100644
--- a/testsuite/tests/typecheck/should_compile/tc056.stderr
+++ b/testsuite/tests/typecheck/should_compile/tc056.stderr
@@ -1,6 +1,6 @@
 
-tc056.hs:16:10:
-    Warning: Duplicate constraint(s): Eq' a
+tc056.hs:16:10: Warning:
+    Duplicate constraint(s): Eq' a
     In the context: (Eq' a, Eq' a)
     While checking an instance declaration
-    In the instance declaration for `Eq' [a]'
+    In the instance declaration for ‛Eq' [a]’
diff --git a/testsuite/tests/typecheck/should_compile/tc115.stderr-ghc b/testsuite/tests/typecheck/should_compile/tc115.stderr-ghc
index 8b3997deb5c3..26c37479352d 100644
--- a/testsuite/tests/typecheck/should_compile/tc115.stderr-ghc
+++ b/testsuite/tests/typecheck/should_compile/tc115.stderr-ghc
@@ -1,4 +1,4 @@
 
-tc115.hs:12:10:
-    Warning: No explicit method or default declaration for `foo'
-    In the instance declaration for `Foo [m a] (m a)'
+tc115.hs:12:10: Warning:
+    No explicit method or default declaration for ‛foo’
+    In the instance declaration for ‛Foo [m a] (m a)’
diff --git a/testsuite/tests/typecheck/should_compile/tc116.stderr-ghc b/testsuite/tests/typecheck/should_compile/tc116.stderr-ghc
index 5593928d28d7..cb1856bfccf0 100644
--- a/testsuite/tests/typecheck/should_compile/tc116.stderr-ghc
+++ b/testsuite/tests/typecheck/should_compile/tc116.stderr-ghc
@@ -1,4 +1,4 @@
 
-tc116.hs:12:10:
-    Warning: No explicit method or default declaration for `foo'
-    In the instance declaration for `Foo [m a] (m a)'
+tc116.hs:12:10: Warning:
+    No explicit method or default declaration for ‛foo’
+    In the instance declaration for ‛Foo [m a] (m a)’
diff --git a/testsuite/tests/typecheck/should_compile/tc125.stderr-ghc b/testsuite/tests/typecheck/should_compile/tc125.stderr-ghc
index 2a2de4283d3a..0bbaf442d533 100644
--- a/testsuite/tests/typecheck/should_compile/tc125.stderr-ghc
+++ b/testsuite/tests/typecheck/should_compile/tc125.stderr-ghc
@@ -1,20 +1,20 @@
 
-tc125.hs:16:10:
-    Warning: No explicit method or default declaration for `add'
-    In the instance declaration for `Add Z a a'
+tc125.hs:16:10: Warning:
+    No explicit method or default declaration for ‛add’
+    In the instance declaration for ‛Add Z a a’
 
-tc125.hs:17:10:
-    Warning: No explicit method or default declaration for `add'
-    In the instance declaration for `Add (S a) b (S c)'
+tc125.hs:17:10: Warning:
+    No explicit method or default declaration for ‛add’
+    In the instance declaration for ‛Add (S a) b (S c)’
 
-tc125.hs:21:10:
-    Warning: No explicit method or default declaration for `mul'
-    In the instance declaration for `Mul Z a Z'
+tc125.hs:21:10: Warning:
+    No explicit method or default declaration for ‛mul’
+    In the instance declaration for ‛Mul Z a Z’
 
-tc125.hs:22:10:
-    Warning: No explicit method or default declaration for `mul'
-    In the instance declaration for `Mul (S a) b d'
+tc125.hs:22:10: Warning:
+    No explicit method or default declaration for ‛mul’
+    In the instance declaration for ‛Mul (S a) b d’
 
-tc125.hs:29:10:
-    Warning: No explicit method or default declaration for `add'
-    In the instance declaration for `Add (Q a b) (Q c d) (Q ad_bc bd)'
+tc125.hs:29:10: Warning:
+    No explicit method or default declaration for ‛add’
+    In the instance declaration for ‛Add (Q a b) (Q c d) (Q ad_bc bd)’
diff --git a/testsuite/tests/typecheck/should_compile/tc126.stderr-ghc b/testsuite/tests/typecheck/should_compile/tc126.stderr-ghc
index ee49f159f4f7..c4c41ea4739c 100644
--- a/testsuite/tests/typecheck/should_compile/tc126.stderr-ghc
+++ b/testsuite/tests/typecheck/should_compile/tc126.stderr-ghc
@@ -1,8 +1,8 @@
 
-tc126.hs:15:25:
-    Warning: No explicit method or default declaration for `bug'
-    In the instance declaration for `Bug (Int -> r) Int r'
+tc126.hs:15:25: Warning:
+    No explicit method or default declaration for ‛bug’
+    In the instance declaration for ‛Bug (Int -> r) Int r’
 
-tc126.hs:16:10:
-    Warning: No explicit method or default declaration for `bug'
-    In the instance declaration for `Bug f (c a) (c r)'
+tc126.hs:16:10: Warning:
+    No explicit method or default declaration for ‛bug’
+    In the instance declaration for ‛Bug f (c a) (c r)’
diff --git a/testsuite/tests/typecheck/should_compile/tc141.stderr b/testsuite/tests/typecheck/should_compile/tc141.stderr
index e7d7f7cb1c54..55aac9e94302 100644
--- a/testsuite/tests/typecheck/should_compile/tc141.stderr
+++ b/testsuite/tests/typecheck/should_compile/tc141.stderr
@@ -1,14 +1,14 @@
 
 tc141.hs:11:12:
-    You cannot bind scoped type variable `a'
+    You cannot bind scoped type variable ‛a’
       in a pattern binding signature
     In the pattern: p :: a
     In the pattern: (p :: a, q :: a)
     In a pattern binding: (p :: a, q :: a) = x
 
 tc141.hs:11:31:
-    Couldn't match expected type `a1' with actual type `a'
-      because type variable `a1' would escape its scope
+    Couldn't match expected type ‛a1’ with actual type ‛a’
+      because type variable ‛a1’ would escape its scope
     This (rigid, skolem) type variable is bound by
       an expression type signature: a1
       at tc141.hs:11:31-34
@@ -22,7 +22,7 @@ tc141.hs:11:31:
     In the expression: let (p :: a, q :: a) = x in (q :: a, p)
 
 tc141.hs:13:13:
-    You cannot bind scoped type variable `a'
+    You cannot bind scoped type variable ‛a’
       in a pattern binding signature
     In the pattern: y :: a
     In a pattern binding: y :: a = a
@@ -34,8 +34,8 @@ tc141.hs:13:13:
       in v
 
 tc141.hs:15:18:
-    Couldn't match expected type `a2' with actual type `t'
-      because type variable `a2' would escape its scope
+    Couldn't match expected type ‛a2’ with actual type ‛t’
+      because type variable ‛a2’ would escape its scope
     This (rigid, skolem) type variable is bound by
       the type signature for v :: a2
       at tc141.hs:14:19
@@ -44,7 +44,7 @@ tc141.hs:15:18:
       b :: t (bound at tc141.hs:13:5)
       v :: a2 (bound at tc141.hs:15:14)
     In the expression: b
-    In an equation for `v': v = b
+    In an equation for ‛v’: v = b
     In the expression:
       let
         v :: a
diff --git a/testsuite/tests/typecheck/should_compile/tc161.stderr-ghc b/testsuite/tests/typecheck/should_compile/tc161.stderr-ghc
index 57b0f60830f0..60b5b95d76f7 100644
--- a/testsuite/tests/typecheck/should_compile/tc161.stderr-ghc
+++ b/testsuite/tests/typecheck/should_compile/tc161.stderr-ghc
@@ -1,4 +1,4 @@
 
-tc161.hs:17:10:
-    Warning: No explicit method or default declaration for `op'
-    In the instance declaration for `Foo Int'
+tc161.hs:17:10: Warning:
+    No explicit method or default declaration for ‛op’
+    In the instance declaration for ‛Foo Int’
diff --git a/testsuite/tests/typecheck/should_compile/tc167.stderr b/testsuite/tests/typecheck/should_compile/tc167.stderr
index 7790d2267792..51c982a2762b 100644
--- a/testsuite/tests/typecheck/should_compile/tc167.stderr
+++ b/testsuite/tests/typecheck/should_compile/tc167.stderr
@@ -1,4 +1,4 @@
 
 tc167.hs:8:12:
-    Expecting a lifted type, but `Int#' is unlifted
-    In the type signature for `f': f :: ((->) Int#) Int#
+    Expecting a lifted type, but ‛Int#’ is unlifted
+    In the type signature for ‛f’: f :: ((->) Int#) Int#
diff --git a/testsuite/tests/typecheck/should_compile/tc168.stderr b/testsuite/tests/typecheck/should_compile/tc168.stderr
index 96fa5a062937..6fbc96f9343b 100644
--- a/testsuite/tests/typecheck/should_compile/tc168.stderr
+++ b/testsuite/tests/typecheck/should_compile/tc168.stderr
@@ -1,11 +1,11 @@
-
-tc168.hs:17:1:
-    Could not deduce (C a1 (a, b0))
-      arising from the ambiguity check for `g'
-    from the context (C a1 (a, b))
-      bound by the inferred type for `g': C a1 (a, b) => a1 -> a
-      at tc168.hs:17:1-16
-    The type variable `b0' is ambiguous
-    When checking that `g'
-      has the inferred type `forall a b a1. C a1 (a, b) => a1 -> a'
-    Probable cause: the inferred type is ambiguous
+
+tc168.hs:17:1:
+    Could not deduce (C a1 (a, b0))
+      arising from the ambiguity check for ‛g’
+    from the context (C a1 (a, b))
+      bound by the inferred type for ‛g’: C a1 (a, b) => a1 -> a
+      at tc168.hs:17:1-16
+    The type variable ‛b0’ is ambiguous
+    When checking that ‛g’
+      has the inferred type ‛forall a b a1. C a1 (a, b) => a1 -> a’
+    Probable cause: the inferred type is ambiguous
diff --git a/testsuite/tests/typecheck/should_compile/tc211.stderr b/testsuite/tests/typecheck/should_compile/tc211.stderr
index 998cd76f5ed2..7538dedda8b0 100644
--- a/testsuite/tests/typecheck/should_compile/tc211.stderr
+++ b/testsuite/tests/typecheck/should_compile/tc211.stderr
@@ -1,20 +1,20 @@
 
 tc211.hs:15:22:
-    Couldn't match type `forall a6. a6 -> a6' with `a -> a'
+    Couldn't match type ‛forall a6. a6 -> a6’ with ‛a -> a’
     Expected type: [a -> a]
       Actual type: [forall a. a -> a]
-    In the first argument of `head', namely `foo'
-    In the first argument of `(:) ::
+    In the first argument of ‛head’, namely ‛foo’
+    In the first argument of ‛(:) ::
                                 (forall a. a -> a)
-                                -> [forall a. a -> a] -> [forall a. a -> a]', namely
-      `(head foo)'
+                                -> [forall a. a -> a] -> [forall a. a -> a]’, namely
+      ‛(head foo)’
     In the expression:
       ((:) ::
          (forall a. a -> a) -> [forall a. a -> a] -> [forall a. a -> a])
         (head foo) foo
 
 tc211.hs:70:9:
-    Couldn't match type `forall a7. a7 -> a7' with `a6 -> a6'
+    Couldn't match type ‛forall a7. a7 -> a7’ with ‛a6 -> a6’
     Expected type: List (forall a. a -> a)
                    -> (forall a. a -> a) -> a6 -> a6
       Actual type: List (forall a. a -> a)
@@ -27,7 +27,7 @@ tc211.hs:70:9:
          List (forall a. a -> a)
          -> (forall a. a -> a) -> (forall a. a -> a))
         xs1 (\ x -> x)
-    In an equation for `bar4':
+    In an equation for ‛bar4’:
         bar4
           = (foo2 ::
                List (forall a. a -> a)
diff --git a/testsuite/tests/typecheck/should_compile/tc254.stderr b/testsuite/tests/typecheck/should_compile/tc254.stderr
index b24224d70954..a721c7e3b447 100644
--- a/testsuite/tests/typecheck/should_compile/tc254.stderr
+++ b/testsuite/tests/typecheck/should_compile/tc254.stderr
@@ -1,4 +1,4 @@
 
-tc254.hs:8:1:
-    Warning: No explicit associated type or default declaration for `Typ'
-    In the instance declaration for `Cls Int'
+tc254.hs:8:1: Warning:
+    No explicit associated type or default declaration for ‛Typ’
+    In the instance declaration for ‛Cls Int’
diff --git a/testsuite/tests/typecheck/should_fail/AssocTyDef01.stderr b/testsuite/tests/typecheck/should_fail/AssocTyDef01.stderr
index 5d3a596d9763..e342e900a6bb 100644
--- a/testsuite/tests/typecheck/should_fail/AssocTyDef01.stderr
+++ b/testsuite/tests/typecheck/should_fail/AssocTyDef01.stderr
@@ -1,3 +1,3 @@
 
 AssocTyDef01.hs:9:10:
-    `OtherType' is not a (visible) associated type of class `Cls'
+    ‛OtherType’ is not a (visible) associated type of class ‛Cls’
diff --git a/testsuite/tests/typecheck/should_fail/AssocTyDef02.stderr b/testsuite/tests/typecheck/should_fail/AssocTyDef02.stderr
index 2d1b43952816..749e42c991c6 100644
--- a/testsuite/tests/typecheck/should_fail/AssocTyDef02.stderr
+++ b/testsuite/tests/typecheck/should_fail/AssocTyDef02.stderr
@@ -1,6 +1,6 @@
-
-AssocTyDef02.hs:6:10:
-    Type indexes must match class instance head
-    Found `[b]' but expected `a'
-    In the type synonym instance default declaration for `Typ'
-    In the class declaration for `Cls'
+
+AssocTyDef02.hs:6:10:
+    Type indexes must match class instance head
+    Found ‛[b]’ but expected ‛a’
+    In the type synonym instance default declaration for ‛Typ’
+    In the class declaration for ‛Cls’
diff --git a/testsuite/tests/typecheck/should_fail/AssocTyDef03.stderr b/testsuite/tests/typecheck/should_fail/AssocTyDef03.stderr
index bd7fadfd8c2e..82e9b0f3a303 100644
--- a/testsuite/tests/typecheck/should_fail/AssocTyDef03.stderr
+++ b/testsuite/tests/typecheck/should_fail/AssocTyDef03.stderr
@@ -1,5 +1,5 @@
-
-AssocTyDef03.hs:6:5:
-    Wrong category of family instance; declaration was for a data type
-    In the type instance declaration for `Typ'
-    In the class declaration for `Cls'
+
+AssocTyDef03.hs:6:5:
+    Wrong category of family instance; declaration was for a data type
+    In the type instance declaration for ‛Typ’
+    In the class declaration for ‛Cls’
diff --git a/testsuite/tests/typecheck/should_fail/AssocTyDef04.stderr b/testsuite/tests/typecheck/should_fail/AssocTyDef04.stderr
index e02758b288ef..b03eb045e5f3 100644
--- a/testsuite/tests/typecheck/should_fail/AssocTyDef04.stderr
+++ b/testsuite/tests/typecheck/should_fail/AssocTyDef04.stderr
@@ -1,7 +1,7 @@
-
-AssocTyDef04.hs:6:18:
-    Expecting one more argument to `Maybe'
-    Expected kind `*', but `Maybe' has kind `* -> *'
-    In the type `Maybe'
-    In the type instance declaration for `Typ'
-    In the class declaration for `Cls'
+
+AssocTyDef04.hs:6:18:
+    Expecting one more argument to ‛Maybe’
+    Expected kind ‛*’, but ‛Maybe’ has kind ‛* -> *’
+    In the type ‛Maybe’
+    In the type instance declaration for ‛Typ’
+    In the class declaration for ‛Cls’
diff --git a/testsuite/tests/typecheck/should_fail/AssocTyDef05.stderr b/testsuite/tests/typecheck/should_fail/AssocTyDef05.stderr
index 797c8389134a..401251e36abf 100644
--- a/testsuite/tests/typecheck/should_fail/AssocTyDef05.stderr
+++ b/testsuite/tests/typecheck/should_fail/AssocTyDef05.stderr
@@ -1,5 +1,5 @@
 
 AssocTyDef05.hs:6:10:
     Number of parameters must match family declaration; expected 1
-    In the type instance declaration for `Typ'
-    In the class declaration for `Cls'
+    In the type instance declaration for ‛Typ’
+    In the class declaration for ‛Cls’
diff --git a/testsuite/tests/typecheck/should_fail/AssocTyDef06.stderr b/testsuite/tests/typecheck/should_fail/AssocTyDef06.stderr
index 6100ef2a902a..91e92bdcae35 100644
--- a/testsuite/tests/typecheck/should_fail/AssocTyDef06.stderr
+++ b/testsuite/tests/typecheck/should_fail/AssocTyDef06.stderr
@@ -1,5 +1,5 @@
 
 AssocTyDef06.hs:6:10:
     Number of parameters must match family declaration; expected 1
-    In the type instance declaration for `Typ'
-    In the class declaration for `Cls'
+    In the type instance declaration for ‛Typ’
+    In the class declaration for ‛Cls’
diff --git a/testsuite/tests/typecheck/should_fail/AssocTyDef07.stderr b/testsuite/tests/typecheck/should_fail/AssocTyDef07.stderr
index 4a4562d0e03d..151f5a9b8fee 100644
--- a/testsuite/tests/typecheck/should_fail/AssocTyDef07.stderr
+++ b/testsuite/tests/typecheck/should_fail/AssocTyDef07.stderr
@@ -1,3 +1,3 @@
 
 AssocTyDef07.hs:5:10:
-    `Typ' is not a (visible) associated type of class `Cls'
+    ‛Typ’ is not a (visible) associated type of class ‛Cls’
diff --git a/testsuite/tests/typecheck/should_fail/AssocTyDef08.stderr b/testsuite/tests/typecheck/should_fail/AssocTyDef08.stderr
index c45132f994ba..97147c7dfdcb 100644
--- a/testsuite/tests/typecheck/should_fail/AssocTyDef08.stderr
+++ b/testsuite/tests/typecheck/should_fail/AssocTyDef08.stderr
@@ -1,3 +1,3 @@
 
 AssocTyDef08.hs:4:10:
-    `Typ' is not a (visible) associated type of class `Cls'
+    ‛Typ’ is not a (visible) associated type of class ‛Cls’
diff --git a/testsuite/tests/typecheck/should_fail/AssocTyDef09.stderr b/testsuite/tests/typecheck/should_fail/AssocTyDef09.stderr
index 053450c48eb8..3f8c11328974 100644
--- a/testsuite/tests/typecheck/should_fail/AssocTyDef09.stderr
+++ b/testsuite/tests/typecheck/should_fail/AssocTyDef09.stderr
@@ -1,3 +1,3 @@
 
 AssocTyDef09.hs:8:10:
-    `OtherType' is not a (visible) associated type of class `Cls'
+    ‛OtherType’ is not a (visible) associated type of class ‛Cls’
diff --git a/testsuite/tests/typecheck/should_fail/FDsFromGivens.stderr b/testsuite/tests/typecheck/should_fail/FDsFromGivens.stderr
index 60a334232e18..893ec8ae1235 100644
--- a/testsuite/tests/typecheck/should_fail/FDsFromGivens.stderr
+++ b/testsuite/tests/typecheck/should_fail/FDsFromGivens.stderr
@@ -1,14 +1,14 @@
 
 FDsFromGivens.hs:21:15:
-    Couldn't match type `Char' with `[a]'
+    Couldn't match type ‛Char’ with ‛[a]’
     Relevant bindings include
       bar :: KCC -> a -> a (bound at FDsFromGivens.hs:21:1)
     When using functional dependencies to combine
       C Char Char,
         arising from a pattern with constructor
                        KCC :: C Char Char => () -> KCC,
-                     in an equation for `bar'
+                     in an equation for ‛bar’
         at FDsFromGivens.hs:21:6-10
-      C Char [a], arising from a use of `f' at FDsFromGivens.hs:21:15
+      C Char [a], arising from a use of ‛f’ at FDsFromGivens.hs:21:15
     In the expression: f
-    In an equation for `bar': bar (KCC _) = f
+    In an equation for ‛bar’: bar (KCC _) = f
diff --git a/testsuite/tests/typecheck/should_fail/FailDueToGivenOverlapping.stderr b/testsuite/tests/typecheck/should_fail/FailDueToGivenOverlapping.stderr
index 1cf4e9f1cca8..74e0bc7341c2 100644
--- a/testsuite/tests/typecheck/should_fail/FailDueToGivenOverlapping.stderr
+++ b/testsuite/tests/typecheck/should_fail/FailDueToGivenOverlapping.stderr
@@ -1,12 +1,12 @@
 
 FailDueToGivenOverlapping.hs:27:9:
-    Overlapping instances for E [t0] arising from a use of `eop'
+    Overlapping instances for E [t0] arising from a use of ‛eop’
     Matching givens (or their superclasses):
       (E [Int])
         bound by the type signature for bar :: E [Int] => () -> ()
         at FailDueToGivenOverlapping.hs:26:8-26
     Matching instances:
       instance E [a] -- Defined at FailDueToGivenOverlapping.hs:21:10
-    (The choice depends on the instantiation of `t0')
+    (The choice depends on the instantiation of ‛t0’)
     In the expression: eop [undefined]
-    In an equation for `bar': bar _ = eop [undefined]
+    In an equation for ‛bar’: bar _ = eop [undefined]
diff --git a/testsuite/tests/typecheck/should_fail/FrozenErrorTests.stderr b/testsuite/tests/typecheck/should_fail/FrozenErrorTests.stderr
index 5a36d7d54b75..9857c9c9a75a 100644
--- a/testsuite/tests/typecheck/should_fail/FrozenErrorTests.stderr
+++ b/testsuite/tests/typecheck/should_fail/FrozenErrorTests.stderr
@@ -1,53 +1,53 @@
-
-FrozenErrorTests.hs:12:12:
-    Couldn't match type `Int' with `Bool'
-    Inaccessible code in
-      a pattern with constructor
-        MkT3 :: forall a. a ~ Bool => T a,
-      in a case alternative
-    In the pattern: MkT3
-    In a case alternative: MkT3 -> ()
-    In the expression: case x of { MkT3 -> () }
-
-FrozenErrorTests.hs:26:9:
-    Occurs check: cannot construct the infinite type: a ~ [a]
-    Expected type: [a]
-      Actual type: F a Bool
-    Relevant bindings include
-      test1 :: a (bound at FrozenErrorTests.hs:26:1)
-    In the expression: goo1 False undefined
-    In an equation for `test1': test1 = goo1 False undefined
-
-FrozenErrorTests.hs:29:15:
-    Couldn't match type `Int' with `[Int]'
-    Expected type: [[Int]]
-      Actual type: F [Int] Bool
-    In the first argument of `goo2', namely `(goo1 False undefined)'
-    In the expression: goo2 (goo1 False undefined)
-    In an equation for `test2': test2 = goo2 (goo1 False undefined)
-
-FrozenErrorTests.hs:30:9:
-    Couldn't match type `Int' with `[Int]'
-    Expected type: [[Int]]
-      Actual type: F [Int] Bool
-    In the expression: goo1 False (goo2 undefined)
-    In an equation for `test3': test3 = goo1 False (goo2 undefined)
-
-FrozenErrorTests.hs:45:15:
-    Couldn't match type `T2 c c' with `M (T2 (T2 c c) c)'
-    Expected type: T2 (M (T2 (T2 c c) c)) (T2 (T2 c c) c)
-      Actual type: F (T2 (T2 c c) c) Bool
-    Relevant bindings include
-      test4 :: T2 (T2 c c) c (bound at FrozenErrorTests.hs:45:1)
-    In the first argument of `goo4', namely `(goo3 False undefined)'
-    In the expression: goo4 (goo3 False undefined)
-    In an equation for `test4': test4 = goo4 (goo3 False undefined)
-
-FrozenErrorTests.hs:46:9:
-    Couldn't match type `T2 c c' with `M (T2 (T2 c c) c)'
-    Expected type: T2 (M (T2 (T2 c c) c)) (T2 (T2 c c) c)
-      Actual type: F (T2 (T2 c c) c) Bool
-    Relevant bindings include
-      test5 :: T2 (T2 c c) c (bound at FrozenErrorTests.hs:46:1)
-    In the expression: goo3 False (goo4 undefined)
-    In an equation for `test5': test5 = goo3 False (goo4 undefined)
+
+FrozenErrorTests.hs:12:12:
+    Couldn't match type ‛Int’ with ‛Bool’
+    Inaccessible code in
+      a pattern with constructor
+        MkT3 :: forall a. a ~ Bool => T a,
+      in a case alternative
+    In the pattern: MkT3
+    In a case alternative: MkT3 -> ()
+    In the expression: case x of { MkT3 -> () }
+
+FrozenErrorTests.hs:26:9:
+    Occurs check: cannot construct the infinite type: a ~ [a]
+    Expected type: [a]
+      Actual type: F a Bool
+    Relevant bindings include
+      test1 :: a (bound at FrozenErrorTests.hs:26:1)
+    In the expression: goo1 False undefined
+    In an equation for ‛test1’: test1 = goo1 False undefined
+
+FrozenErrorTests.hs:29:15:
+    Couldn't match type ‛Int’ with ‛[Int]’
+    Expected type: [[Int]]
+      Actual type: F [Int] Bool
+    In the first argument of ‛goo2’, namely ‛(goo1 False undefined)’
+    In the expression: goo2 (goo1 False undefined)
+    In an equation for ‛test2’: test2 = goo2 (goo1 False undefined)
+
+FrozenErrorTests.hs:30:9:
+    Couldn't match type ‛Int’ with ‛[Int]’
+    Expected type: [[Int]]
+      Actual type: F [Int] Bool
+    In the expression: goo1 False (goo2 undefined)
+    In an equation for ‛test3’: test3 = goo1 False (goo2 undefined)
+
+FrozenErrorTests.hs:45:15:
+    Couldn't match type ‛T2 c c’ with ‛M (T2 (T2 c c) c)’
+    Expected type: T2 (M (T2 (T2 c c) c)) (T2 (T2 c c) c)
+      Actual type: F (T2 (T2 c c) c) Bool
+    Relevant bindings include
+      test4 :: T2 (T2 c c) c (bound at FrozenErrorTests.hs:45:1)
+    In the first argument of ‛goo4’, namely ‛(goo3 False undefined)’
+    In the expression: goo4 (goo3 False undefined)
+    In an equation for ‛test4’: test4 = goo4 (goo3 False undefined)
+
+FrozenErrorTests.hs:46:9:
+    Couldn't match type ‛T2 c c’ with ‛M (T2 (T2 c c) c)’
+    Expected type: T2 (M (T2 (T2 c c) c)) (T2 (T2 c c) c)
+      Actual type: F (T2 (T2 c c) c) Bool
+    Relevant bindings include
+      test5 :: T2 (T2 c c) c (bound at FrozenErrorTests.hs:46:1)
+    In the expression: goo3 False (goo4 undefined)
+    In an equation for ‛test5’: test5 = goo3 False (goo4 undefined)
diff --git a/testsuite/tests/typecheck/should_fail/IPFail.stderr b/testsuite/tests/typecheck/should_fail/IPFail.stderr
index d8efdfec56b8..127693a5caf1 100644
--- a/testsuite/tests/typecheck/should_fail/IPFail.stderr
+++ b/testsuite/tests/typecheck/should_fail/IPFail.stderr
@@ -1,9 +1,9 @@
 
 IPFail.hs:6:18:
-    Could not deduce (Num Bool) arising from the literal `5'
+    Could not deduce (Num Bool) arising from the literal ‛5’
     from the context (?x::Int)
       bound by the type signature for f0 :: (?x::Int) => () -> Bool
       at IPFail.hs:5:7-31
     In the expression: 5
     In the expression: let ?x = 5 in ?x
-    In an equation for `f0': f0 () = let ?x = 5 in ?x
+    In an equation for ‛f0’: f0 () = let ?x = 5 in ?x
diff --git a/testsuite/tests/typecheck/should_fail/LongWayOverlapping.stderr b/testsuite/tests/typecheck/should_fail/LongWayOverlapping.stderr
index fbd0b4486895..d50cc847ddf2 100644
--- a/testsuite/tests/typecheck/should_fail/LongWayOverlapping.stderr
+++ b/testsuite/tests/typecheck/should_fail/LongWayOverlapping.stderr
@@ -1,7 +1,7 @@
 
 LongWayOverlapping.hs:23:11:
     No instance for (EmbAsChild [Char] Char)
-      arising from a use of `emb'
+      arising from a use of ‛emb’
     In the expression: emb 'c'
-    In an equation for `emb': emb _ = emb 'c'
-    In the instance declaration for `EmbAsChild [Char] Bool'
+    In an equation for ‛emb’: emb _ = emb 'c'
+    In the instance declaration for ‛EmbAsChild [Char] Bool’
diff --git a/testsuite/tests/typecheck/should_fail/SCLoop.stderr b/testsuite/tests/typecheck/should_fail/SCLoop.stderr
index 37970cc737ed..309dd91af016 100644
--- a/testsuite/tests/typecheck/should_fail/SCLoop.stderr
+++ b/testsuite/tests/typecheck/should_fail/SCLoop.stderr
@@ -1,5 +1,5 @@
 
 SCLoop.hs:22:7:
-    No instance for (SC ()) arising from a use of `op'
+    No instance for (SC ()) arising from a use of ‛op’
     In the expression: op () ([Just True])
-    In an equation for `foo': foo = op () ([Just True])
+    In an equation for ‛foo’: foo = op () ([Just True])
diff --git a/testsuite/tests/typecheck/should_fail/SilentParametersOverlapping.stderr b/testsuite/tests/typecheck/should_fail/SilentParametersOverlapping.stderr
index 6a49325e4377..255e6513ebff 100644
--- a/testsuite/tests/typecheck/should_fail/SilentParametersOverlapping.stderr
+++ b/testsuite/tests/typecheck/should_fail/SilentParametersOverlapping.stderr
@@ -1,13 +1,13 @@
 
 SilentParametersOverlapping.hs:15:9:
-    Overlapping instances for C [(t0, t1)] arising from a use of `c'
+    Overlapping instances for C [(t0, t1)] arising from a use of ‛c’
     Matching givens (or their superclasses):
       (C [(a, b)])
         bound by the instance declaration
         at SilentParametersOverlapping.hs:14:37-45
     Matching instances:
       instance C [a] -- Defined at SilentParametersOverlapping.hs:11:10
-    (The choice depends on the instantiation of `t0, t1')
+    (The choice depends on the instantiation of ‛t0, t1’)
     In the expression: c [(undefined, undefined)]
-    In an equation for `b': b x = c [(undefined, undefined)]
-    In the instance declaration for `B [(a, b)]'
+    In an equation for ‛b’: b x = c [(undefined, undefined)]
+    In the instance declaration for ‛B [(a, b)]’
diff --git a/testsuite/tests/typecheck/should_fail/T1595.stderr b/testsuite/tests/typecheck/should_fail/T1595.stderr
index d3f665c15a96..a84903ded706 100644
--- a/testsuite/tests/typecheck/should_fail/T1595.stderr
+++ b/testsuite/tests/typecheck/should_fail/T1595.stderr
@@ -1,6 +1,6 @@
 
 T1595.hs:8:15:
-    Not in scope: type constructor or class `DoesNotExist'
+    Not in scope: type constructor or class ‛DoesNotExist’
 
 T1595.hs:13:22:
-    Not in scope: type constructor or class `DoesNotExist'
+    Not in scope: type constructor or class ‛DoesNotExist’
diff --git a/testsuite/tests/typecheck/should_fail/T1633.stderr b/testsuite/tests/typecheck/should_fail/T1633.stderr
index bdfa10ad59b2..8a01bd9fd674 100644
--- a/testsuite/tests/typecheck/should_fail/T1633.stderr
+++ b/testsuite/tests/typecheck/should_fail/T1633.stderr
@@ -1,5 +1,5 @@
 
 T1633.hs:6:18:
-    The first argument of `Functor' should have kind `* -> *',
-      but `Bool' has kind `*'
-    In the instance declaration for `Functor Bool'
+    The first argument of ‛Functor’ should have kind ‛* -> *’,
+      but ‛Bool’ has kind ‛*’
+    In the instance declaration for ‛Functor Bool’
diff --git a/testsuite/tests/typecheck/should_fail/T1897a.stderr b/testsuite/tests/typecheck/should_fail/T1897a.stderr
index eb1204850ff4..b495f17b1c6e 100644
--- a/testsuite/tests/typecheck/should_fail/T1897a.stderr
+++ b/testsuite/tests/typecheck/should_fail/T1897a.stderr
@@ -1,11 +1,11 @@
-
-T1897a.hs:9:1:
-    Could not deduce (Wob a0 b)
-      arising from the ambiguity check for `foo'
-    from the context (Wob a b)
-      bound by the inferred type for `foo': Wob a b => b -> [b]
-      at T1897a.hs:9:1-24
-    The type variable `a0' is ambiguous
-    When checking that `foo'
-      has the inferred type `forall a b. Wob a b => b -> [b]'
-    Probable cause: the inferred type is ambiguous
+
+T1897a.hs:9:1:
+    Could not deduce (Wob a0 b)
+      arising from the ambiguity check for ‛foo’
+    from the context (Wob a b)
+      bound by the inferred type for ‛foo’: Wob a b => b -> [b]
+      at T1897a.hs:9:1-24
+    The type variable ‛a0’ is ambiguous
+    When checking that ‛foo’
+      has the inferred type ‛forall a b. Wob a b => b -> [b]’
+    Probable cause: the inferred type is ambiguous
diff --git a/testsuite/tests/typecheck/should_fail/T1899.stderr b/testsuite/tests/typecheck/should_fail/T1899.stderr
index 0838984c2f82..d637ac7a0a1c 100644
--- a/testsuite/tests/typecheck/should_fail/T1899.stderr
+++ b/testsuite/tests/typecheck/should_fail/T1899.stderr
@@ -1,12 +1,12 @@
 
 T1899.hs:12:29:
-    Couldn't match expected type `a' with actual type `Proposition a0'
-      `a' is a rigid type variable bound by
+    Couldn't match expected type ‛a’ with actual type ‛Proposition a0’
+      ‛a’ is a rigid type variable bound by
           the type signature for transRHS :: [a] -> Int -> Constraint a
           at T1899.hs:9:14
     Relevant bindings include
       transRHS :: [a] -> Int -> Constraint a (bound at T1899.hs:10:2)
       varSet :: [a] (bound at T1899.hs:10:11)
-    In the return type of a call of `Auxiliary'
-    In the first argument of `Prop', namely `(Auxiliary undefined)'
+    In the return type of a call of ‛Auxiliary’
+    In the first argument of ‛Prop’, namely ‛(Auxiliary undefined)’
     In the expression: Prop (Auxiliary undefined)
diff --git a/testsuite/tests/typecheck/should_fail/T2126.stderr b/testsuite/tests/typecheck/should_fail/T2126.stderr
index 2facb189a9fb..1e0a72df2edd 100644
--- a/testsuite/tests/typecheck/should_fail/T2126.stderr
+++ b/testsuite/tests/typecheck/should_fail/T2126.stderr
@@ -1,4 +1,4 @@
 
 T2126.hs:5:1:
-    A newtype must have exactly one constructor, but `X' has none
-    In the newtype declaration for `X'
+    A newtype must have exactly one constructor, but ‛X’ has none
+    In the newtype declaration for ‛X’
diff --git a/testsuite/tests/typecheck/should_fail/T2247.stderr b/testsuite/tests/typecheck/should_fail/T2247.stderr
index 70ef7f703e30..15ec58448296 100644
--- a/testsuite/tests/typecheck/should_fail/T2247.stderr
+++ b/testsuite/tests/typecheck/should_fail/T2247.stderr
@@ -1,6 +1,6 @@
 
 T2247.hs:6:10:
-    Illegal instance declaration for `FD a b'
+    Illegal instance declaration for ‛FD a b’
       Multiple uses of this instance may be inconsistent
       with the functional dependencies of the class.
-    In the instance declaration for `FD a b'
+    In the instance declaration for ‛FD a b’
diff --git a/testsuite/tests/typecheck/should_fail/T2354.stderr b/testsuite/tests/typecheck/should_fail/T2354.stderr
index da21f79299cd..55285ffd1230 100644
--- a/testsuite/tests/typecheck/should_fail/T2354.stderr
+++ b/testsuite/tests/typecheck/should_fail/T2354.stderr
@@ -1,6 +1,6 @@
 
 T2354.hs:4:3:
-    The INLINE pragma for default method `toInt' lacks an accompanying binding
+    The INLINE pragma for default method ‛toInt’ lacks an accompanying binding
 
 T2354.hs:6:3:
-    The INLINE pragma for default method `fromInt' lacks an accompanying binding
+    The INLINE pragma for default method ‛fromInt’ lacks an accompanying binding
diff --git a/testsuite/tests/typecheck/should_fail/T2414.stderr b/testsuite/tests/typecheck/should_fail/T2414.stderr
index 53ea2b11e3a8..af968d90dae4 100644
--- a/testsuite/tests/typecheck/should_fail/T2414.stderr
+++ b/testsuite/tests/typecheck/should_fail/T2414.stderr
@@ -3,6 +3,6 @@ T2414.hs:9:13:
     Occurs check: cannot construct the infinite type: b0 ~ (Bool, b0)
     Expected type: b0 -> Maybe (Bool, b0)
       Actual type: b0 -> Maybe b0
-    In the first argument of `unfoldr', namely `Just'
+    In the first argument of ‛unfoldr’, namely ‛Just’
     In the expression: unfoldr Just
-    In an equation for `f': f = unfoldr Just
+    In an equation for ‛f’: f = unfoldr Just
diff --git a/testsuite/tests/typecheck/should_fail/T2534.stderr b/testsuite/tests/typecheck/should_fail/T2534.stderr
index 02ad7821ffdd..389b515957ec 100644
--- a/testsuite/tests/typecheck/should_fail/T2534.stderr
+++ b/testsuite/tests/typecheck/should_fail/T2534.stderr
@@ -1,8 +1,8 @@
 
 T2534.hs:3:19:
-    Couldn't match expected type `a -> a -> b' with actual type `[t0]'
+    Couldn't match expected type ‛a -> a -> b’ with actual type ‛[t0]’
     Relevant bindings include
       foo :: a -> a -> b (bound at T2534.hs:3:1)
-    In the second argument of `foldr', namely `[]'
+    In the second argument of ‛foldr’, namely ‛[]’
     In the expression: foldr (>>=) [] []
-    In an equation for `foo': foo = foldr (>>=) [] []
+    In an equation for ‛foo’: foo = foldr (>>=) [] []
diff --git a/testsuite/tests/typecheck/should_fail/T2538.stderr b/testsuite/tests/typecheck/should_fail/T2538.stderr
index b2d1d3aeb6fc..2e67c878af37 100644
--- a/testsuite/tests/typecheck/should_fail/T2538.stderr
+++ b/testsuite/tests/typecheck/should_fail/T2538.stderr
@@ -2,13 +2,13 @@
 T2538.hs:6:6:
     Illegal polymorphic or qualified type: Eq a => a -> a
     Perhaps you intended to use -XRankNTypes or -XRank2Types
-    In the type signature for `f': f :: (Eq a => a -> a) -> Int
+    In the type signature for ‛f’: f :: (Eq a => a -> a) -> Int
 
 T2538.hs:9:6:
     Illegal polymorphic or qualified type: Eq a => a -> a
     Perhaps you intended to use -XImpredicativeTypes
-    In the type signature for `g': g :: [Eq a => a -> a] -> Int
+    In the type signature for ‛g’: g :: [Eq a => a -> a] -> Int
 
 T2538.hs:12:6:
     Illegal polymorphic or qualified type: Eq a => a -> a
-    In the type signature for `h': h :: Ix (Eq a => a -> a) => Int
+    In the type signature for ‛h’: h :: Ix (Eq a => a -> a) => Int
diff --git a/testsuite/tests/typecheck/should_fail/T2688.stderr b/testsuite/tests/typecheck/should_fail/T2688.stderr
index 3bb0f493494c..bbc415ad81b4 100644
--- a/testsuite/tests/typecheck/should_fail/T2688.stderr
+++ b/testsuite/tests/typecheck/should_fail/T2688.stderr
@@ -2,16 +2,16 @@
 T2688.hs:8:22:
     Could not deduce (s ~ v)
     from the context (VectorSpace v s)
-      bound by the class declaration for `VectorSpace'
+      bound by the class declaration for ‛VectorSpace’
       at T2688.hs:(5,1)-(8,23)
-      `s' is a rigid type variable bound by
-          the class declaration for `VectorSpace' at T2688.hs:5:21
-      `v' is a rigid type variable bound by
-          the class declaration for `VectorSpace' at T2688.hs:5:19
+      ‛s’ is a rigid type variable bound by
+          the class declaration for ‛VectorSpace’ at T2688.hs:5:21
+      ‛v’ is a rigid type variable bound by
+          the class declaration for ‛VectorSpace’ at T2688.hs:5:19
     Relevant bindings include
       ^/ :: v -> s -> v (bound at T2688.hs:8:5)
       v :: v (bound at T2688.hs:8:5)
       s :: s (bound at T2688.hs:8:10)
-    In the second argument of `(/)', namely `s'
-    In the second argument of `(*^)', namely `(1 / s)'
+    In the second argument of ‛(/)’, namely ‛s’
+    In the second argument of ‛(*^)’, namely ‛(1 / s)’
     In the expression: v *^ (1 / s)
diff --git a/testsuite/tests/typecheck/should_fail/T2714.stderr b/testsuite/tests/typecheck/should_fail/T2714.stderr
index 68056509c73b..07adee2eee02 100644
--- a/testsuite/tests/typecheck/should_fail/T2714.stderr
+++ b/testsuite/tests/typecheck/should_fail/T2714.stderr
@@ -1,7 +1,7 @@
 
 T2714.hs:8:5:
-    Couldn't match type `c' with `f0 (a -> b)'
-      `c' is a rigid type variable bound by
+    Couldn't match type ‛c’ with ‛f0 (a -> b)’
+      ‛c’ is a rigid type variable bound by
           the type signature for f :: ((a -> b) -> b) -> c -> a
           at T2714.hs:8:1
     Expected type: ((a -> b) -> b) -> c -> a
@@ -9,11 +9,11 @@ T2714.hs:8:5:
     Relevant bindings include
       f :: ((a -> b) -> b) -> forall c. c -> a (bound at T2714.hs:8:1)
     In the expression: ffmap
-    In an equation for `f': f = ffmap
+    In an equation for ‛f’: f = ffmap
 
 T2714.hs:8:5:
-    Couldn't match type `a' with `f0 b'
-      `a' is a rigid type variable bound by
+    Couldn't match type ‛a’ with ‛f0 b’
+      ‛a’ is a rigid type variable bound by
           the type signature for f :: ((a -> b) -> b) -> forall c. c -> a
           at T2714.hs:7:6
     Expected type: ((a -> b) -> b) -> c -> a
@@ -21,4 +21,4 @@ T2714.hs:8:5:
     Relevant bindings include
       f :: ((a -> b) -> b) -> forall c. c -> a (bound at T2714.hs:8:1)
     In the expression: ffmap
-    In an equation for `f': f = ffmap
+    In an equation for ‛f’: f = ffmap
diff --git a/testsuite/tests/typecheck/should_fail/T2806.stderr b/testsuite/tests/typecheck/should_fail/T2806.stderr
index ebbffb29eb7c..da35b207ddc2 100644
--- a/testsuite/tests/typecheck/should_fail/T2806.stderr
+++ b/testsuite/tests/typecheck/should_fail/T2806.stderr
@@ -1,8 +1,8 @@
 
-T2806.hs:13:11:
-    Warning: Pattern bindings containing unlifted types should use an outermost bang pattern:
-               (I# _x) = 4
-    In an equation for `foo':
+T2806.hs:13:11: Warning:
+    Pattern bindings containing unlifted types should use an outermost bang pattern:
+      (I# _x) = 4
+    In an equation for ‛foo’:
         foo
           = 3
           where
diff --git a/testsuite/tests/typecheck/should_fail/T2846b.stderr b/testsuite/tests/typecheck/should_fail/T2846b.stderr
index b70c4d1a0dbb..23b6a6a0e2c4 100644
--- a/testsuite/tests/typecheck/should_fail/T2846b.stderr
+++ b/testsuite/tests/typecheck/should_fail/T2846b.stderr
@@ -1,5 +1,5 @@
 
 T2846b.hs:5:5:
-    No instance for (Show (Num a0 => a0)) arising from a use of `show'
+    No instance for (Show (Num a0 => a0)) arising from a use of ‛show’
     In the expression: show ([1, 2, 3] :: [Num a => a])
-    In an equation for `f': f = show ([1, 2, 3] :: [Num a => a])
+    In an equation for ‛f’: f = show ([1, 2, 3] :: [Num a => a])
diff --git a/testsuite/tests/typecheck/should_fail/T2994.stderr b/testsuite/tests/typecheck/should_fail/T2994.stderr
index 7c797afb75b7..2794cb2afc58 100644
--- a/testsuite/tests/typecheck/should_fail/T2994.stderr
+++ b/testsuite/tests/typecheck/should_fail/T2994.stderr
@@ -1,16 +1,16 @@
 
 T2994.hs:11:10:
-    Expecting one more argument to `MonadReader Int'
+    Expecting one more argument to ‛MonadReader Int’
     Expected a constraint,
-      but `MonadReader Int' has kind `* -> Constraint'
-    In the instance declaration for `MonadReader Int'
+      but ‛MonadReader Int’ has kind ‛* -> Constraint’
+    In the instance declaration for ‛MonadReader Int’
 
 T2994.hs:13:23:
-    Expecting one more argument to `Reader' r'
-    The first argument of `MonadReader' should have kind `*',
-      but `Reader' r' has kind `* -> *'
-    In the instance declaration for `MonadReader (Reader' r)'
+    Expecting one more argument to ‛Reader' r’
+    The first argument of ‛MonadReader’ should have kind ‛*’,
+      but ‛Reader' r’ has kind ‛* -> *’
+    In the instance declaration for ‛MonadReader (Reader' r)’
 
 T2994.hs:15:10:
-    `MonadReader' is applied to too many type arguments
-    In the instance declaration for `MonadReader r r (Reader' r)'
+    ‛MonadReader’ is applied to too many type arguments
+    In the instance declaration for ‛MonadReader r r (Reader' r)’
diff --git a/testsuite/tests/typecheck/should_fail/T3102.stderr b/testsuite/tests/typecheck/should_fail/T3102.stderr
index 0cf9d5218700..b3f69d376103 100644
--- a/testsuite/tests/typecheck/should_fail/T3102.stderr
+++ b/testsuite/tests/typecheck/should_fail/T3102.stderr
@@ -1,10 +1,10 @@
 
 T3102.hs:11:12:
-    Couldn't match type `a' with `(?p::Int) => a0'
-      `a' is a rigid type variable bound by
+    Couldn't match type ‛a’ with ‛(?p::Int) => a0’
+      ‛a’ is a rigid type variable bound by
           a type expected by the context: a -> String at T3102.hs:11:10
     Expected type: a -> String
       Actual type: ((?p::Int) => a0) -> String
-    In the first argument of `f', namely `t'
+    In the first argument of ‛f’, namely ‛t’
     In the expression: f t
-    In an equation for `result': result = f t
+    In an equation for ‛result’: result = f t
diff --git a/testsuite/tests/typecheck/should_fail/T3176.stderr b/testsuite/tests/typecheck/should_fail/T3176.stderr
index 393880367dad..160eb4769e3f 100644
--- a/testsuite/tests/typecheck/should_fail/T3176.stderr
+++ b/testsuite/tests/typecheck/should_fail/T3176.stderr
@@ -1,7 +1,7 @@
 
 T3176.hs:9:27:
-    Cannot use record selector `unES' as a function due to escaped type variables
+    Cannot use record selector ‛unES’ as a function due to escaped type variables
     Probable fix: use pattern-matching syntax instead
     In the expression: unES
-    In the second argument of `($)', namely `unES $ f t'
+    In the second argument of ‛($)’, namely ‛unES $ f t’
     In the expression: show $ unES $ f t
diff --git a/testsuite/tests/typecheck/should_fail/T3323.stderr b/testsuite/tests/typecheck/should_fail/T3323.stderr
index d7c4c266814f..029ef7357800 100644
--- a/testsuite/tests/typecheck/should_fail/T3323.stderr
+++ b/testsuite/tests/typecheck/should_fail/T3323.stderr
@@ -2,4 +2,4 @@
 T3323.hs:18:7:
     Record update for insufficiently polymorphic field: haDevice :: dev
     In the expression: h {haDevice = undefined}
-    In an equation for `f': f h = h {haDevice = undefined}
+    In an equation for ‛f’: f h = h {haDevice = undefined}
diff --git a/testsuite/tests/typecheck/should_fail/T3406.stderr b/testsuite/tests/typecheck/should_fail/T3406.stderr
index ceba706f876f..40779d4f2ebb 100644
--- a/testsuite/tests/typecheck/should_fail/T3406.stderr
+++ b/testsuite/tests/typecheck/should_fail/T3406.stderr
@@ -1,10 +1,10 @@
 
 T3406.hs:11:6:
-    The type variables `a, b'
-    should be bound by the pattern signature `ItemColID a b'
+    The type variables ‛a, b’
+    should be bound by the pattern signature ‛ItemColID a b’
     but are actually discarded by a type synonym
     To fix this, expand the type synonym
     [Note: I hope to lift this restriction in due course]
     In the pattern: x :: ItemColID a b
-    In an equation for `get':
+    In an equation for ‛get’:
         get (x :: ItemColID a b) = x :: ItemColID a b
diff --git a/testsuite/tests/typecheck/should_fail/T3468.stderr b/testsuite/tests/typecheck/should_fail/T3468.stderr
index 1dcc3488ed4e..fa702d6d0fbf 100644
--- a/testsuite/tests/typecheck/should_fail/T3468.stderr
+++ b/testsuite/tests/typecheck/should_fail/T3468.stderr
@@ -1,12 +1,12 @@
-
-T3468.hs-boot:3:6:
-    Type constructor `Tool' has conflicting definitions in the module and its hs-boot file
-    Main module: data Tool d
-                     No C type associated
-                     RecFlag Recursive, Promotable
-                     = F :: forall d a r. a -> Tool d Stricts: _
-                     FamilyInstance: none
-    Boot file:   abstract(False) Tool
-                     No C type associated
-                     RecFlag NonRecursive, Not promotable
-                     FamilyInstance: none
+
+T3468.hs-boot:3:6:
+    Type constructor ‛Tool’ has conflicting definitions in the module and its hs-boot file
+    Main module: data Tool d
+                     No C type associated
+                     RecFlag Recursive, Promotable
+                     = F :: forall d a r. a -> Tool d Stricts: _
+                     FamilyInstance: none
+    Boot file:   abstract(False) Tool
+                     No C type associated
+                     RecFlag NonRecursive, Not promotable
+                     FamilyInstance: none
diff --git a/testsuite/tests/typecheck/should_fail/T3540.stderr b/testsuite/tests/typecheck/should_fail/T3540.stderr
index 83bcbf1f859a..db84dcd62c01 100644
--- a/testsuite/tests/typecheck/should_fail/T3540.stderr
+++ b/testsuite/tests/typecheck/should_fail/T3540.stderr
@@ -1,20 +1,20 @@
 
 T3540.hs:4:12:
-    Expected a type, but `a ~ Int' has kind `Constraint'
-    In the type signature for `thing': thing :: a ~ Int
+    Expected a type, but ‛a ~ Int’ has kind ‛Constraint’
+    In the type signature for ‛thing’: thing :: a ~ Int
 
 T3540.hs:7:20:
-    Expected a type, but `a ~ Int' has kind `Constraint'
-    In the type signature for `thing1': thing1 :: Int -> (a ~ Int)
+    Expected a type, but ‛a ~ Int’ has kind ‛Constraint’
+    In the type signature for ‛thing1’: thing1 :: Int -> (a ~ Int)
 
 T3540.hs:10:13:
-    Expected a type, but `a ~ Int' has kind `Constraint'
-    In the type signature for `thing2': thing2 :: (a ~ Int) -> Int
+    Expected a type, but ‛a ~ Int’ has kind ‛Constraint’
+    In the type signature for ‛thing2’: thing2 :: (a ~ Int) -> Int
 
 T3540.hs:13:12:
-    Expected a type, but `?dude :: Int' has kind `Constraint'
-    In the type signature for `thing3': thing3 :: (?dude :: Int) -> Int
+    Expected a type, but ‛?dude :: Int’ has kind ‛Constraint’
+    In the type signature for ‛thing3’: thing3 :: (?dude :: Int) -> Int
 
 T3540.hs:16:11:
-    Expected a type, but `Eq a' has kind `Constraint'
-    In the type signature for `thing4': thing4 :: (Eq a) -> Int
+    Expected a type, but ‛Eq a’ has kind ‛Constraint’
+    In the type signature for ‛thing4’: thing4 :: (Eq a) -> Int
diff --git a/testsuite/tests/typecheck/should_fail/T3592.stderr b/testsuite/tests/typecheck/should_fail/T3592.stderr
index 08a02ce8a275..be59667e3407 100644
--- a/testsuite/tests/typecheck/should_fail/T3592.stderr
+++ b/testsuite/tests/typecheck/should_fail/T3592.stderr
@@ -1,13 +1,13 @@
 
 T3592.hs:8:5:
-    No instance for (Show (T a)) arising from a use of `show'
+    No instance for (Show (T a)) arising from a use of ‛show’
     In the expression: show
-    In an equation for `f': f = show
+    In an equation for ‛f’: f = show
 
 T3592.hs:11:7:
-    No instance for (Show a) arising from a use of `show'
+    No instance for (Show a) arising from a use of ‛show’
     Possible fix:
       add (Show a) to the context of
         the type signature for g :: T a -> String
     In the expression: show x
-    In an equation for `g': g x = show x
+    In an equation for ‛g’: g x = show x
diff --git a/testsuite/tests/typecheck/should_fail/T3613.stderr b/testsuite/tests/typecheck/should_fail/T3613.stderr
index 1373b7143d76..956e20cb76dd 100644
--- a/testsuite/tests/typecheck/should_fail/T3613.stderr
+++ b/testsuite/tests/typecheck/should_fail/T3613.stderr
@@ -1,20 +1,20 @@
 
 T3613.hs:14:20:
-    Couldn't match type `IO' with `Maybe'
+    Couldn't match type ‛IO’ with ‛Maybe’
     Expected type: Maybe ()
       Actual type: IO ()
-    In the first argument of `(>>)', namely `bar'
-    In the first argument of `fooThen', namely `(bar >> undefined)'
+    In the first argument of ‛(>>)’, namely ‛bar’
+    In the first argument of ‛fooThen’, namely ‛(bar >> undefined)’
     In the expression: fooThen (bar >> undefined)
 
 T3613.hs:17:24:
-    Couldn't match type `IO' with `Maybe'
+    Couldn't match type ‛IO’ with ‛Maybe’
     Expected type: Maybe ()
       Actual type: IO ()
     In a stmt of a 'do' block: bar
-    In the first argument of `fooThen', namely
-      `(do { bar;
-             undefined })'
+    In the first argument of ‛fooThen’, namely
+      ‛(do { bar;
+             undefined })’
     In the expression:
       fooThen
         (do { bar;
diff --git a/testsuite/tests/typecheck/should_fail/T3966.stderr b/testsuite/tests/typecheck/should_fail/T3966.stderr
index ccbe46744972..6e292b088736 100644
--- a/testsuite/tests/typecheck/should_fail/T3966.stderr
+++ b/testsuite/tests/typecheck/should_fail/T3966.stderr
@@ -1,8 +1,8 @@
 
 T3966.hs:5:16: Warning:
-    Ignoring unusable UNPACK pragma on the first argument of `Foo'
-    In the definition of data constructor `Foo'
-    In the data declaration for `Foo'
+    Ignoring unusable UNPACK pragma on the first argument of ‛Foo’
+    In the definition of data constructor ‛Foo’
+    In the data declaration for ‛Foo’
 
 <no location info>: 
 Failing due to -Werror.
diff --git a/testsuite/tests/typecheck/should_fail/T4875.stderr b/testsuite/tests/typecheck/should_fail/T4875.stderr
index 24c570e73b88..ae88bdf9762b 100644
--- a/testsuite/tests/typecheck/should_fail/T4875.stderr
+++ b/testsuite/tests/typecheck/should_fail/T4875.stderr
@@ -1,5 +1,5 @@
-
-T4875.hs:27:24:
-    `r' is applied to too many type arguments
-    In the type `r c -> [c]'
-    In the class declaration for `Morphic'
+
+T4875.hs:27:24:
+    ‛r’ is applied to too many type arguments
+    In the type ‛r c -> [c]’
+    In the class declaration for ‛Morphic’
diff --git a/testsuite/tests/typecheck/should_fail/T5051.stderr b/testsuite/tests/typecheck/should_fail/T5051.stderr
index cebde5c29fc6..b15c2d9fafed 100644
--- a/testsuite/tests/typecheck/should_fail/T5051.stderr
+++ b/testsuite/tests/typecheck/should_fail/T5051.stderr
@@ -1,11 +1,11 @@
 
 T5051.hs:11:11:
-    Overlapping instances for Eq [a] arising from a use of `>='
+    Overlapping instances for Eq [a] arising from a use of ‛>=’
     Matching instances:
-      instance Eq a => Eq [a] -- Defined in `GHC.Classes'
+      instance Eq a => Eq [a] -- Defined in ‛GHC.Classes’
       instance [overlap ok] Eq [T] -- Defined at T5051.hs:8:10
-    (The choice depends on the instantiation of `a'
+    (The choice depends on the instantiation of ‛a’
      To pick the first instance above, use -XIncoherentInstances
      when compiling the other instance declarations)
     In the expression: x >= x
-    In an equation for `foo': foo x = x >= x
+    In an equation for ‛foo’: foo x = x >= x
diff --git a/testsuite/tests/typecheck/should_fail/T5084.stderr b/testsuite/tests/typecheck/should_fail/T5084.stderr
index eba9426342d2..de9b4b1469a2 100644
--- a/testsuite/tests/typecheck/should_fail/T5084.stderr
+++ b/testsuite/tests/typecheck/should_fail/T5084.stderr
@@ -1,3 +1,3 @@
 
 T5084.hs:6:5:
-    The INLINE pragma for default method `bar' lacks an accompanying binding
+    The INLINE pragma for default method ‛bar’ lacks an accompanying binding
diff --git a/testsuite/tests/typecheck/should_fail/T5095.stderr b/testsuite/tests/typecheck/should_fail/T5095.stderr
index 6ef994fdc670..166bc5e2cf62 100644
--- a/testsuite/tests/typecheck/should_fail/T5095.stderr
+++ b/testsuite/tests/typecheck/should_fail/T5095.stderr
@@ -1,64 +1,64 @@
 
 T5095.hs:9:11:
-    Overlapping instances for Eq a arising from a use of `=='
+    Overlapping instances for Eq a arising from a use of ‛==’
     Matching instances:
       instance [overlap ok] Show a => Eq a -- Defined at T5095.hs:5:10
-      instance Eq a => Eq (GHC.Real.Ratio a) -- Defined in `GHC.Real'
-      instance Eq () -- Defined in `GHC.Classes'
-      instance (Eq a, Eq b) => Eq (a, b) -- Defined in `GHC.Classes'
+      instance Eq a => Eq (GHC.Real.Ratio a) -- Defined in ‛GHC.Real’
+      instance Eq () -- Defined in ‛GHC.Classes’
+      instance (Eq a, Eq b) => Eq (a, b) -- Defined in ‛GHC.Classes’
       instance (Eq a, Eq b, Eq c) => Eq (a, b, c)
-        -- Defined in `GHC.Classes'
+        -- Defined in ‛GHC.Classes’
       instance (Eq a, Eq b, Eq c, Eq d) => Eq (a, b, c, d)
-        -- Defined in `GHC.Classes'
+        -- Defined in ‛GHC.Classes’
       instance (Eq a, Eq b, Eq c, Eq d, Eq e) => Eq (a, b, c, d, e)
-        -- Defined in `GHC.Classes'
+        -- Defined in ‛GHC.Classes’
       instance (Eq a, Eq b, Eq c, Eq d, Eq e, Eq f) =>
                Eq (a, b, c, d, e, f)
-        -- Defined in `GHC.Classes'
+        -- Defined in ‛GHC.Classes’
       instance (Eq a, Eq b, Eq c, Eq d, Eq e, Eq f, Eq g) =>
                Eq (a, b, c, d, e, f, g)
-        -- Defined in `GHC.Classes'
+        -- Defined in ‛GHC.Classes’
       instance (Eq a, Eq b, Eq c, Eq d, Eq e, Eq f, Eq g, Eq h) =>
                Eq (a, b, c, d, e, f, g, h)
-        -- Defined in `GHC.Classes'
+        -- Defined in ‛GHC.Classes’
       instance (Eq a, Eq b, Eq c, Eq d, Eq e, Eq f, Eq g, Eq h, Eq i) =>
                Eq (a, b, c, d, e, f, g, h, i)
-        -- Defined in `GHC.Classes'
+        -- Defined in ‛GHC.Classes’
       instance (Eq a, Eq b, Eq c, Eq d, Eq e, Eq f, Eq g, Eq h, Eq i,
                 Eq j) =>
                Eq (a, b, c, d, e, f, g, h, i, j)
-        -- Defined in `GHC.Classes'
+        -- Defined in ‛GHC.Classes’
       instance (Eq a, Eq b, Eq c, Eq d, Eq e, Eq f, Eq g, Eq h, Eq i,
                 Eq j, Eq k) =>
                Eq (a, b, c, d, e, f, g, h, i, j, k)
-        -- Defined in `GHC.Classes'
+        -- Defined in ‛GHC.Classes’
       instance (Eq a, Eq b, Eq c, Eq d, Eq e, Eq f, Eq g, Eq h, Eq i,
                 Eq j, Eq k, Eq l) =>
                Eq (a, b, c, d, e, f, g, h, i, j, k, l)
-        -- Defined in `GHC.Classes'
+        -- Defined in ‛GHC.Classes’
       instance (Eq a, Eq b, Eq c, Eq d, Eq e, Eq f, Eq g, Eq h, Eq i,
                 Eq j, Eq k, Eq l, Eq m) =>
                Eq (a, b, c, d, e, f, g, h, i, j, k, l, m)
-        -- Defined in `GHC.Classes'
+        -- Defined in ‛GHC.Classes’
       instance (Eq a, Eq b, Eq c, Eq d, Eq e, Eq f, Eq g, Eq h, Eq i,
                 Eq j, Eq k, Eq l, Eq m, Eq n) =>
                Eq (a, b, c, d, e, f, g, h, i, j, k, l, m, n)
-        -- Defined in `GHC.Classes'
+        -- Defined in ‛GHC.Classes’
       instance (Eq a, Eq b, Eq c, Eq d, Eq e, Eq f, Eq g, Eq h, Eq i,
                 Eq j, Eq k, Eq l, Eq m, Eq n, Eq o) =>
                Eq (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o)
-        -- Defined in `GHC.Classes'
-      instance Eq Bool -- Defined in `GHC.Classes'
-      instance Eq Char -- Defined in `GHC.Classes'
-      instance Eq Double -- Defined in `GHC.Classes'
-      instance Eq Float -- Defined in `GHC.Classes'
-      instance Eq Int -- Defined in `GHC.Classes'
-      instance Eq Ordering -- Defined in `GHC.Classes'
-      instance Eq GHC.Types.Word -- Defined in `GHC.Classes'
-      instance Eq a => Eq [a] -- Defined in `GHC.Classes'
-      instance Eq Integer -- Defined in `integer-gmp:GHC.Integer.Type'
-    (The choice depends on the instantiation of `a'
+        -- Defined in ‛GHC.Classes’
+      instance Eq Bool -- Defined in ‛GHC.Classes’
+      instance Eq Char -- Defined in ‛GHC.Classes’
+      instance Eq Double -- Defined in ‛GHC.Classes’
+      instance Eq Float -- Defined in ‛GHC.Classes’
+      instance Eq Int -- Defined in ‛GHC.Classes’
+      instance Eq Ordering -- Defined in ‛GHC.Classes’
+      instance Eq GHC.Types.Word -- Defined in ‛GHC.Classes’
+      instance Eq a => Eq [a] -- Defined in ‛GHC.Classes’
+      instance Eq Integer -- Defined in ‛integer-gmp:GHC.Integer.Type’
+    (The choice depends on the instantiation of ‛a’
      To pick the first instance above, use -XIncoherentInstances
      when compiling the other instance declarations)
     In the expression: x == y
-    In an equation for `f': f x y = x == y
+    In an equation for ‛f’: f x y = x == y
diff --git a/testsuite/tests/typecheck/should_fail/T5236.stderr b/testsuite/tests/typecheck/should_fail/T5236.stderr
index 74e460699360..b2de3de8d63a 100644
--- a/testsuite/tests/typecheck/should_fail/T5236.stderr
+++ b/testsuite/tests/typecheck/should_fail/T5236.stderr
@@ -1,12 +1,12 @@
-
-T5236.hs:13:9:
-    Couldn't match type `A' with `B'
-    When using functional dependencies to combine
-      Id A A,
-        arising from the dependency `a -> b'
-        in the instance declaration at T5236.hs:10:10
-      Id A B,
-        arising from the type signature for loop :: Id A B => Bool
-        at T5236.hs:13:9-22
-    In the ambiguity check for: Id A B => Bool
-    In the type signature for `loop': loop :: Id A B => Bool
+
+T5236.hs:13:9:
+    Couldn't match type ‛A’ with ‛B’
+    When using functional dependencies to combine
+      Id A A,
+        arising from the dependency ‛a -> b’
+        in the instance declaration at T5236.hs:10:10
+      Id A B,
+        arising from the type signature for loop :: Id A B => Bool
+        at T5236.hs:13:9-22
+    In the ambiguity check for: Id A B => Bool
+    In the type signature for ‛loop’: loop :: Id A B => Bool
diff --git a/testsuite/tests/typecheck/should_fail/T5246.stderr b/testsuite/tests/typecheck/should_fail/T5246.stderr
index b37fbf3ebede..f494a4c5b77b 100644
--- a/testsuite/tests/typecheck/should_fail/T5246.stderr
+++ b/testsuite/tests/typecheck/should_fail/T5246.stderr
@@ -1,10 +1,10 @@
 
 T5246.hs:11:10:
-    Couldn't match type `[Char]' with `Int'
+    Couldn't match type ‛[Char]’ with ‛Int’
     When using functional dependencies to combine
       ?x::[Char],
         arising from the implicit-parameter bindings for ?x
         at T5246.hs:(10,7)-(11,12)
-      ?x::Int, arising from a use of `foo' at T5246.hs:11:10-12
+      ?x::Int, arising from a use of ‛foo’ at T5246.hs:11:10-12
     In the expression: foo
     In the expression: let ?x = "hello" in foo
diff --git a/testsuite/tests/typecheck/should_fail/T5300.stderr b/testsuite/tests/typecheck/should_fail/T5300.stderr
index 749bd22b2fe2..f2652fcbbdcf 100644
--- a/testsuite/tests/typecheck/should_fail/T5300.stderr
+++ b/testsuite/tests/typecheck/should_fail/T5300.stderr
@@ -1,32 +1,32 @@
-
-T5300.hs:11:7:
-    Could not deduce (C1 a b c0)
-      arising from the ambiguity check for `f1'
-    from the context (Monad m, C1 a b c)
-      bound by the type signature for
-                 f1 :: (Monad m, C1 a b c) => a -> StateT (T b) m a
-      at T5300.hs:11:7-50
-    The type variable `c0' is ambiguous
-    In the ambiguity check for:
-      forall a b (m :: * -> *) c.
-      (Monad m, C1 a b c) =>
-      a -> StateT (T b) m a
-    In the type signature for `f1':
-      f1 :: (Monad m, C1 a b c) => a -> StateT (T b) m a
-
-T5300.hs:14:7:
-    Could not deduce (C1 a1 b1 c10)
-      arising from the ambiguity check for `f2'
-    from the context (Monad m, C1 a1 b1 c1, C2 a2 b2 c2)
-      bound by the type signature for
-                 f2 :: (Monad m, C1 a1 b1 c1, C2 a2 b2 c2) =>
-                       a1 -> StateT (T b2) m a2
-      at T5300.hs:14:7-69
-    The type variable `c10' is ambiguous
-    In the ambiguity check for:
-      forall a1 b2 (m :: * -> *) a2 b1 c1 c2.
-      (Monad m, C1 a1 b1 c1, C2 a2 b2 c2) =>
-      a1 -> StateT (T b2) m a2
-    In the type signature for `f2':
-      f2 :: (Monad m, C1 a1 b1 c1, C2 a2 b2 c2) =>
-            a1 -> StateT (T b2) m a2
+
+T5300.hs:11:7:
+    Could not deduce (C1 a b c0)
+      arising from the ambiguity check for ‛f1’
+    from the context (Monad m, C1 a b c)
+      bound by the type signature for
+                 f1 :: (Monad m, C1 a b c) => a -> StateT (T b) m a
+      at T5300.hs:11:7-50
+    The type variable ‛c0’ is ambiguous
+    In the ambiguity check for:
+      forall a b (m :: * -> *) c.
+      (Monad m, C1 a b c) =>
+      a -> StateT (T b) m a
+    In the type signature for ‛f1’:
+      f1 :: (Monad m, C1 a b c) => a -> StateT (T b) m a
+
+T5300.hs:14:7:
+    Could not deduce (C1 a1 b1 c10)
+      arising from the ambiguity check for ‛f2’
+    from the context (Monad m, C1 a1 b1 c1, C2 a2 b2 c2)
+      bound by the type signature for
+                 f2 :: (Monad m, C1 a1 b1 c1, C2 a2 b2 c2) =>
+                       a1 -> StateT (T b2) m a2
+      at T5300.hs:14:7-69
+    The type variable ‛c10’ is ambiguous
+    In the ambiguity check for:
+      forall a1 b2 (m :: * -> *) a2 b1 c1 c2.
+      (Monad m, C1 a1 b1 c1, C2 a2 b2 c2) =>
+      a1 -> StateT (T b2) m a2
+    In the type signature for ‛f2’:
+      f2 :: (Monad m, C1 a1 b1 c1, C2 a2 b2 c2) =>
+            a1 -> StateT (T b2) m a2
diff --git a/testsuite/tests/typecheck/should_fail/T5570.stderr b/testsuite/tests/typecheck/should_fail/T5570.stderr
index d45eec581d34..90f9155afad2 100644
--- a/testsuite/tests/typecheck/should_fail/T5570.stderr
+++ b/testsuite/tests/typecheck/should_fail/T5570.stderr
@@ -1,9 +1,9 @@
-
-T5570.hs:7:16:
-    Couldn't match kind `*' with `#'
-    When matching types
-      s0 :: *
-      Double# :: #
-    In the second argument of `($)', namely `D# $ 3.0##'
-    In the expression: print $ D# $ 3.0##
-    In an equation for `main': main = print $ D# $ 3.0##
+
+T5570.hs:7:16:
+    Couldn't match kind ‛*’ with ‛#’
+    When matching types
+      s0 :: *
+      Double# :: #
+    In the second argument of ‛($)’, namely ‛D# $ 3.0##’
+    In the expression: print $ D# $ 3.0##
+    In an equation for ‛main’: main = print $ D# $ 3.0##
diff --git a/testsuite/tests/typecheck/should_fail/T5684.stderr b/testsuite/tests/typecheck/should_fail/T5684.stderr
index a94aa883428a..f3534f506d49 100644
--- a/testsuite/tests/typecheck/should_fail/T5684.stderr
+++ b/testsuite/tests/typecheck/should_fail/T5684.stderr
@@ -1,64 +1,64 @@
 
 T5684.hs:25:12:
-    No instance for (A b6) arising from a use of `op'
+    No instance for (A b6) arising from a use of ‛op’
     In the expression: op True undefined
     In the expression:
       [op False False, op 'c' undefined, op True undefined]
-    In an equation for `flop1':
+    In an equation for ‛flop1’:
         flop1 = [op False False, op 'c' undefined, op True undefined]
 
 T5684.hs:30:12:
-    No instance for (A b5) arising from a use of `op'
+    No instance for (A b5) arising from a use of ‛op’
     In the expression: op True undefined
     In the expression:
       [op False False, op True undefined, op 'c' undefined]
-    In an equation for `flop2':
+    In an equation for ‛flop2’:
         flop2 = [op False False, op True undefined, op 'c' undefined]
 
 T5684.hs:36:12:
-    No instance for (A b4) arising from a use of `op'
+    No instance for (A b4) arising from a use of ‛op’
     In the expression: op True undefined
     In the expression:
       [op 'c' undefined, op True undefined, op False False]
-    In an equation for `flop3':
+    In an equation for ‛flop3’:
         flop3 = [op 'c' undefined, op True undefined, op False False]
 
 T5684.hs:42:12:
-    No instance for (A b3) arising from a use of `op'
+    No instance for (A b3) arising from a use of ‛op’
     In the expression: op True undefined
     In the expression:
       [op 'c' undefined, op False False, op True undefined]
-    In an equation for `flop4':
+    In an equation for ‛flop4’:
         flop4 = [op 'c' undefined, op False False, op True undefined]
 
 T5684.hs:46:12:
-    No instance for (A b2) arising from a use of `op'
+    No instance for (A b2) arising from a use of ‛op’
     In the expression: op True undefined
     In the expression:
       [op True undefined, op 'c' undefined, op False False]
-    In an equation for `flop5':
+    In an equation for ‛flop5’:
         flop5 = [op True undefined, op 'c' undefined, op False False]
 
 T5684.hs:52:12:
-    No instance for (A b0) arising from a use of `op'
+    No instance for (A b0) arising from a use of ‛op’
     In the expression: op True undefined
     In the expression:
       [op True undefined, op False False, op 'c' undefined]
-    In an equation for `flop6':
+    In an equation for ‛flop6’:
         flop6 = [op True undefined, op False False, op 'c' undefined]
 
 T5684.hs:53:12:
-    No instance for (A Bool) arising from a use of `op'
+    No instance for (A Bool) arising from a use of ‛op’
     In the expression: op False False
     In the expression:
       [op True undefined, op False False, op 'c' undefined]
-    In an equation for `flop6':
+    In an equation for ‛flop6’:
         flop6 = [op True undefined, op False False, op 'c' undefined]
 
 T5684.hs:54:12:
-    No instance for (B Char b1) arising from a use of `op'
+    No instance for (B Char b1) arising from a use of ‛op’
     In the expression: op 'c' undefined
     In the expression:
       [op True undefined, op False False, op 'c' undefined]
-    In an equation for `flop6':
+    In an equation for ‛flop6’:
         flop6 = [op True undefined, op False False, op 'c' undefined]
diff --git a/testsuite/tests/typecheck/should_fail/T5689.stderr b/testsuite/tests/typecheck/should_fail/T5689.stderr
index 4bd1210784cb..6fb1f222d68c 100644
--- a/testsuite/tests/typecheck/should_fail/T5689.stderr
+++ b/testsuite/tests/typecheck/should_fail/T5689.stderr
@@ -1,39 +1,39 @@
-
-T5689.hs:10:36:
-    Couldn't match expected type `Bool' with actual type `t'
-    Relevant bindings include
-      r :: IORef (t -> t) (bound at T5689.hs:7:14)
-      v :: t (bound at T5689.hs:10:28)
-    In the expression: v
-    In the expression: if v then False else True
-    In the second argument of `writeIORef', namely
-      `(\ v -> if v then False else True)'
-
-T5689.hs:10:43:
-    Couldn't match expected type `t' with actual type `Bool'
-    Relevant bindings include
-      r :: IORef (t -> t) (bound at T5689.hs:7:14)
-      v :: t (bound at T5689.hs:10:28)
-    In the expression: False
-    In the expression: if v then False else True
-    In the second argument of `writeIORef', namely
-      `(\ v -> if v then False else True)'
-
-T5689.hs:10:54:
-    Couldn't match expected type `t' with actual type `Bool'
-    Relevant bindings include
-      r :: IORef (t -> t) (bound at T5689.hs:7:14)
-      v :: t (bound at T5689.hs:10:28)
-    In the expression: True
-    In the expression: if v then False else True
-    In the second argument of `writeIORef', namely
-      `(\ v -> if v then False else True)'
-
-T5689.hs:14:23:
-    Couldn't match expected type `t' with actual type `Bool'
-    Relevant bindings include
-      r :: IORef (t -> t) (bound at T5689.hs:7:14)
-      c :: t -> t (bound at T5689.hs:12:13)
-    In the first argument of `c', namely `True'
-    In the second argument of `($)', namely `c True'
-    In a stmt of a 'do' block: print $ c True
+
+T5689.hs:10:36:
+    Couldn't match expected type ‛Bool’ with actual type ‛t’
+    Relevant bindings include
+      r :: IORef (t -> t) (bound at T5689.hs:7:14)
+      v :: t (bound at T5689.hs:10:28)
+    In the expression: v
+    In the expression: if v then False else True
+    In the second argument of ‛writeIORef’, namely
+      ‛(\ v -> if v then False else True)’
+
+T5689.hs:10:43:
+    Couldn't match expected type ‛t’ with actual type ‛Bool’
+    Relevant bindings include
+      r :: IORef (t -> t) (bound at T5689.hs:7:14)
+      v :: t (bound at T5689.hs:10:28)
+    In the expression: False
+    In the expression: if v then False else True
+    In the second argument of ‛writeIORef’, namely
+      ‛(\ v -> if v then False else True)’
+
+T5689.hs:10:54:
+    Couldn't match expected type ‛t’ with actual type ‛Bool’
+    Relevant bindings include
+      r :: IORef (t -> t) (bound at T5689.hs:7:14)
+      v :: t (bound at T5689.hs:10:28)
+    In the expression: True
+    In the expression: if v then False else True
+    In the second argument of ‛writeIORef’, namely
+      ‛(\ v -> if v then False else True)’
+
+T5689.hs:14:23:
+    Couldn't match expected type ‛t’ with actual type ‛Bool’
+    Relevant bindings include
+      r :: IORef (t -> t) (bound at T5689.hs:7:14)
+      c :: t -> t (bound at T5689.hs:12:13)
+    In the first argument of ‛c’, namely ‛True’
+    In the second argument of ‛($)’, namely ‛c True’
+    In a stmt of a 'do' block: print $ c True
diff --git a/testsuite/tests/typecheck/should_fail/T5691.stderr b/testsuite/tests/typecheck/should_fail/T5691.stderr
index fc517c2d482b..4b5676374c6e 100644
--- a/testsuite/tests/typecheck/should_fail/T5691.stderr
+++ b/testsuite/tests/typecheck/should_fail/T5691.stderr
@@ -1,17 +1,17 @@
-
-T5691.hs:14:9:
-    Couldn't match type `p' with `PrintRuleInterp'
-    Expected type: PrintRuleInterp a
-      Actual type: p a
-    In the pattern: f :: p a
-    In an equation for `test': test (f :: p a) = MkPRI $ printRule_ f
-    In the instance declaration for `Test PrintRuleInterp'
-
-T5691.hs:15:24:
-    Couldn't match type `p' with `PrintRuleInterp'
-    Expected type: PrintRuleInterp a
-      Actual type: p a
-    Relevant bindings include f :: p a (bound at T5691.hs:14:9)
-    In the first argument of `printRule_', namely `f'
-    In the second argument of `($)', namely `printRule_ f'
-    In the expression: MkPRI $ printRule_ f
+
+T5691.hs:14:9:
+    Couldn't match type ‛p’ with ‛PrintRuleInterp’
+    Expected type: PrintRuleInterp a
+      Actual type: p a
+    In the pattern: f :: p a
+    In an equation for ‛test’: test (f :: p a) = MkPRI $ printRule_ f
+    In the instance declaration for ‛Test PrintRuleInterp’
+
+T5691.hs:15:24:
+    Couldn't match type ‛p’ with ‛PrintRuleInterp’
+    Expected type: PrintRuleInterp a
+      Actual type: p a
+    Relevant bindings include f :: p a (bound at T5691.hs:14:9)
+    In the first argument of ‛printRule_’, namely ‛f’
+    In the second argument of ‛($)’, namely ‛printRule_ f’
+    In the expression: MkPRI $ printRule_ f
diff --git a/testsuite/tests/typecheck/should_fail/T5853.stderr b/testsuite/tests/typecheck/should_fail/T5853.stderr
index c36d64e84deb..4fdef8cdd780 100644
--- a/testsuite/tests/typecheck/should_fail/T5853.stderr
+++ b/testsuite/tests/typecheck/should_fail/T5853.stderr
@@ -8,7 +8,7 @@ T5853.hs:15:52:
                       Elem (Subst fa a) ~ a,
                       Subst (Subst fa a) (Elem fa) ~ fa)
       bound by the RULE "map/map" at T5853.hs:15:2-57
-    NB: `Subst' is a type function, and may not be injective
+    NB: ‛Subst’ is a type function, and may not be injective
     Relevant bindings include
       xs :: Subst fa a (bound at T5853.hs:15:23)
       g :: a -> Elem fa (bound at T5853.hs:15:21)
diff --git a/testsuite/tests/typecheck/should_fail/T5858.stderr b/testsuite/tests/typecheck/should_fail/T5858.stderr
index 437b5baca643..893fd1a62b7e 100644
--- a/testsuite/tests/typecheck/should_fail/T5858.stderr
+++ b/testsuite/tests/typecheck/should_fail/T5858.stderr
@@ -1,10 +1,10 @@
 
 T5858.hs:11:7:
     No instance for (InferOverloaded ([t0], [t1]))
-      arising from a use of `infer'
-    The type variables `t0', `t1' are ambiguous
+      arising from a use of ‛infer’
+    The type variables ‛t0’, ‛t1’ are ambiguous
     Note: there is a potential instance available:
       instance t1 ~ String => InferOverloaded (t1, t1)
         -- Defined at T5858.hs:8:10
     In the expression: infer ([], [])
-    In an equation for `foo': foo = infer ([], [])
+    In an equation for ‛foo’: foo = infer ([], [])
diff --git a/testsuite/tests/typecheck/should_fail/T5957.stderr b/testsuite/tests/typecheck/should_fail/T5957.stderr
index c0bc12a7a2b4..f4300b0633a4 100644
--- a/testsuite/tests/typecheck/should_fail/T5957.stderr
+++ b/testsuite/tests/typecheck/should_fail/T5957.stderr
@@ -2,5 +2,5 @@
 T5957.hs:3:9:
     Illegal polymorphic or qualified type: Show a => a -> String
     Perhaps you intended to use -XRankNTypes or -XRank2Types
-    In the type signature for `flex':
+    In the type signature for ‛flex’:
       flex :: Int -> Show a => a -> String
diff --git a/testsuite/tests/typecheck/should_fail/T5978.stderr b/testsuite/tests/typecheck/should_fail/T5978.stderr
index 9edfde072164..e07acd49b142 100644
--- a/testsuite/tests/typecheck/should_fail/T5978.stderr
+++ b/testsuite/tests/typecheck/should_fail/T5978.stderr
@@ -1,10 +1,10 @@
-
-T5978.hs:22:11:
-    Couldn't match type `Bool' with `Char'
-    When using functional dependencies to combine
-      C Double Bool,
-        arising from the dependency `from -> to'
-        in the instance declaration at T5978.hs:8:10
-      C Double Char, arising from a use of `polyBar' at T5978.hs:22:11-17
-    In the expression: polyBar id monoFoo
-    In an equation for `monoBar': monoBar = polyBar id monoFoo
+
+T5978.hs:22:11:
+    Couldn't match type ‛Bool’ with ‛Char’
+    When using functional dependencies to combine
+      C Double Bool,
+        arising from the dependency ‛from -> to’
+        in the instance declaration at T5978.hs:8:10
+      C Double Char, arising from a use of ‛polyBar’ at T5978.hs:22:11-17
+    In the expression: polyBar id monoFoo
+    In an equation for ‛monoBar’: monoBar = polyBar id monoFoo
diff --git a/testsuite/tests/typecheck/should_fail/T6001.stderr b/testsuite/tests/typecheck/should_fail/T6001.stderr
index 7fe591d54fc1..b1ef88d9fbfa 100644
--- a/testsuite/tests/typecheck/should_fail/T6001.stderr
+++ b/testsuite/tests/typecheck/should_fail/T6001.stderr
@@ -2,4 +2,4 @@
 T6001.hs:8:18:
     Method signature does not match class; it should be
       fromInteger :: Integer -> DayKind
-    In the instance declaration for `Num DayKind'
+    In the instance declaration for ‛Num DayKind’
diff --git a/testsuite/tests/typecheck/should_fail/T6069.stderr b/testsuite/tests/typecheck/should_fail/T6069.stderr
index b6ce7799bd93..750dcbc54044 100644
--- a/testsuite/tests/typecheck/should_fail/T6069.stderr
+++ b/testsuite/tests/typecheck/should_fail/T6069.stderr
@@ -1,24 +1,24 @@
 
 T6069.hs:13:15:
-    Couldn't match type `ST s0 Int' with `forall s. ST s b0'
+    Couldn't match type ‛ST s0 Int’ with ‛forall s. ST s b0’
     Expected type: ST s0 Int -> b0
       Actual type: (forall s. ST s b0) -> b0
-    In the second argument of `(.)', namely `runST'
+    In the second argument of ‛(.)’, namely ‛runST’
     In the expression: print . runST
     In the expression: (print . runST) fourty_two
 
 T6069.hs:14:15:
-    Couldn't match type `ST s1 Int' with `forall s. ST s b1'
+    Couldn't match type ‛ST s1 Int’ with ‛forall s. ST s b1’
     Expected type: ST s1 Int -> b1
       Actual type: (forall s. ST s b1) -> b1
-    In the second argument of `(.)', namely `runST'
+    In the second argument of ‛(.)’, namely ‛runST’
     In the expression: (print . runST)
     In the expression: (print . runST) $ fourty_two
 
 T6069.hs:15:16:
-    Couldn't match type `ST s2 Int' with `forall s. ST s b2'
+    Couldn't match type ‛ST s2 Int’ with ‛forall s. ST s b2’
     Expected type: ST s2 Int -> b2
       Actual type: (forall s. ST s b2) -> b2
-    In the second argument of `(.)', namely `runST'
-    In the first argument of `($)', namely `(print . runST)'
+    In the second argument of ‛(.)’, namely ‛runST’
+    In the first argument of ‛($)’, namely ‛(print . runST)’
     In the expression: (print . runST) $
diff --git a/testsuite/tests/typecheck/should_fail/T6078.stderr b/testsuite/tests/typecheck/should_fail/T6078.stderr
index 7690ecd9c61c..32e3e056d3ae 100644
--- a/testsuite/tests/typecheck/should_fail/T6078.stderr
+++ b/testsuite/tests/typecheck/should_fail/T6078.stderr
@@ -7,5 +7,5 @@ T6078.hs:8:10:
       let ip1p@(Ptr ip1) = Ptr ip0 `plusPtr` len in ip1p
     In the expression:
       \ fpbuf ip0 ipe s0 -> let ip1p@(Ptr ip1) = ... in ip1p
-    In an equation for `byteStringSlice':
+    In an equation for ‛byteStringSlice’:
         byteStringSlice len = \ fpbuf ip0 ipe s0 -> let ... in ip1p
diff --git a/testsuite/tests/typecheck/should_fail/T6161.stderr b/testsuite/tests/typecheck/should_fail/T6161.stderr
index 089da39f20e8..afc3a946f86f 100644
--- a/testsuite/tests/typecheck/should_fail/T6161.stderr
+++ b/testsuite/tests/typecheck/should_fail/T6161.stderr
@@ -1,5 +1,5 @@
 
 T6161.hs:29:12:
-    No instance for (Super (Fam Float)) arising from a use of `testDup'
+    No instance for (Super (Fam Float)) arising from a use of ‛testDup’
     In the expression: testDup (FamFloat 3.0)
-    In an equation for `testProg': testProg = testDup (FamFloat 3.0)
+    In an equation for ‛testProg’: testProg = testDup (FamFloat 3.0)
diff --git a/testsuite/tests/typecheck/should_fail/T7019.stderr b/testsuite/tests/typecheck/should_fail/T7019.stderr
index 43f1fe520907..935c3be522f1 100644
--- a/testsuite/tests/typecheck/should_fail/T7019.stderr
+++ b/testsuite/tests/typecheck/should_fail/T7019.stderr
@@ -1,6 +1,6 @@
 
 T7019.hs:14:10:
-    Malformed predicate `C c'
+    Malformed predicate ‛C c’
     In the context: (C c)
     While checking an instance declaration
-    In the instance declaration for `Monad (Free c)'
+    In the instance declaration for ‛Monad (Free c)’
diff --git a/testsuite/tests/typecheck/should_fail/T7019a.stderr b/testsuite/tests/typecheck/should_fail/T7019a.stderr
index 2859f716b63b..cd474af8a63d 100644
--- a/testsuite/tests/typecheck/should_fail/T7019a.stderr
+++ b/testsuite/tests/typecheck/should_fail/T7019a.stderr
@@ -1,6 +1,6 @@
 
 T7019a.hs:11:1:
-    Malformed predicate `forall b. Context (Associated a b)'
+    Malformed predicate ‛forall b. Context (Associated a b)’
     In the context: (forall b. Context (Associated a b))
-    While checking the super-classes of class `Class'
-    In the class declaration for `Class'
+    While checking the super-classes of class ‛Class’
+    In the class declaration for ‛Class’
diff --git a/testsuite/tests/typecheck/should_fail/T7175.stderr b/testsuite/tests/typecheck/should_fail/T7175.stderr
index 92272b6b36c1..e65918c22b94 100644
--- a/testsuite/tests/typecheck/should_fail/T7175.stderr
+++ b/testsuite/tests/typecheck/should_fail/T7175.stderr
@@ -1,6 +1,6 @@
 
 T7175.hs:8:4:
-    Data constructor `G1C' returns type `F Int'
-      instead of an instance of its parent type `G1 a'
-    In the definition of data constructor `G1C'
-    In the data declaration for `G1'
+    Data constructor ‛G1C’ returns type ‛F Int’
+      instead of an instance of its parent type ‛G1 a’
+    In the definition of data constructor ‛G1C’
+    In the data declaration for ‛G1’
diff --git a/testsuite/tests/typecheck/should_fail/T7210.stderr b/testsuite/tests/typecheck/should_fail/T7210.stderr
index d0fbf382cb10..148f9bcd5e8a 100644
--- a/testsuite/tests/typecheck/should_fail/T7210.stderr
+++ b/testsuite/tests/typecheck/should_fail/T7210.stderr
@@ -1,6 +1,6 @@
 
 T7210.hs:5:19:
     Unexpected strictness annotation: !IntMap
-    In the type `!IntMap Int'
-    In the definition of data constructor `C'
-    In the data declaration for `T'
+    In the type ‛!IntMap Int’
+    In the definition of data constructor ‛C’
+    In the data declaration for ‛T’
diff --git a/testsuite/tests/typecheck/should_fail/T7220.stderr b/testsuite/tests/typecheck/should_fail/T7220.stderr
index 50860145d1af..d57e06843e70 100644
--- a/testsuite/tests/typecheck/should_fail/T7220.stderr
+++ b/testsuite/tests/typecheck/should_fail/T7220.stderr
@@ -1,9 +1,9 @@
 
 T7220.hs:24:6:
-    Cannot instantiate unification variable `b0'
+    Cannot instantiate unification variable ‛b0’
     with a type involving foralls: forall b. (C A b, TF b ~ Y) => b
       Perhaps you want -XImpredicativeTypes
     In the expression: f :: (forall b. (C A b, TF b ~ Y) => b) -> X
     In the expression: (f :: (forall b. (C A b, TF b ~ Y) => b) -> X) u
-    In an equation for `v':
+    In an equation for ‛v’:
         v = (f :: (forall b. (C A b, TF b ~ Y) => b) -> X) u
diff --git a/testsuite/tests/typecheck/should_fail/T7264.stderr b/testsuite/tests/typecheck/should_fail/T7264.stderr
index 31cc1dfbe504..3c0c068afdb6 100644
--- a/testsuite/tests/typecheck/should_fail/T7264.stderr
+++ b/testsuite/tests/typecheck/should_fail/T7264.stderr
@@ -1,13 +1,13 @@
 
 T7264.hs:13:19:
-    Couldn't match type `a' with `forall r. r -> String'
-      `a' is a rigid type variable bound by
+    Couldn't match type ‛a’ with ‛forall r. r -> String’
+      ‛a’ is a rigid type variable bound by
           the inferred type of mkFoo2 :: a -> Maybe Foo at T7264.hs:13:1
     Expected type: a -> Foo
       Actual type: (forall r. r -> String) -> Foo
     Relevant bindings include
       mkFoo2 :: a -> Maybe Foo (bound at T7264.hs:13:1)
       val :: a (bound at T7264.hs:13:8)
-    In the first argument of `mmap', namely `Foo'
+    In the first argument of ‛mmap’, namely ‛Foo’
     In the expression: mmap Foo (Just val)
-    In an equation for `mkFoo2': mkFoo2 val = mmap Foo (Just val)
+    In an equation for ‛mkFoo2’: mkFoo2 val = mmap Foo (Just val)
diff --git a/testsuite/tests/typecheck/should_fail/T7279.stderr b/testsuite/tests/typecheck/should_fail/T7279.stderr
index 6af478e52f16..52793544c2b3 100644
--- a/testsuite/tests/typecheck/should_fail/T7279.stderr
+++ b/testsuite/tests/typecheck/should_fail/T7279.stderr
@@ -5,6 +5,6 @@ T7279.hs:6:10:
     from the context (Eq a, Show b)
       bound by an instance declaration: (Eq a, Show b) => Eq (T a)
       at T7279.hs:6:10-35
-    The type variable `b0' is ambiguous
+    The type variable ‛b0’ is ambiguous
     In the ambiguity check for: forall a b. (Eq a, Show b) => Eq (T a)
-    In the instance declaration for `Eq (T a)'
+    In the instance declaration for ‛Eq (T a)’
diff --git a/testsuite/tests/typecheck/should_fail/T7368.stderr b/testsuite/tests/typecheck/should_fail/T7368.stderr
index e189c8907d0a..8f1f478b944a 100644
--- a/testsuite/tests/typecheck/should_fail/T7368.stderr
+++ b/testsuite/tests/typecheck/should_fail/T7368.stderr
@@ -1,20 +1,20 @@
 
 T7368.hs:3:10:
-    Couldn't match kind `* -> *' with `*'
+    Couldn't match kind ‛* -> *’ with ‛*’
     When matching types
       c0 :: (* -> *) -> *
       (->) a0 :: * -> *
     Expected type: a0 -> b0
       Actual type: c0 b1
-    In the return type of a call of `l'
-    Probable cause: `l' is applied to too many arguments
-    In the first argument of `b', namely `(l ())'
+    In the return type of a call of ‛l’
+    Probable cause: ‛l’ is applied to too many arguments
+    In the first argument of ‛b’, namely ‛(l ())’
     In the expression: b (l ())
 
 T7368.hs:3:13:
-    Couldn't match type `()' with `b0 a1'
+    Couldn't match type ‛()’ with ‛b0 a1’
     Expected type: b1 a1
       Actual type: ()
-    In the first argument of `l', namely `()'
-    In the first argument of `b', namely `(l ())'
+    In the first argument of ‛l’, namely ‛()’
+    In the first argument of ‛b’, namely ‛(l ())’
     In the expression: b (l ())
diff --git a/testsuite/tests/typecheck/should_fail/T7368a.stderr b/testsuite/tests/typecheck/should_fail/T7368a.stderr
index db0f69fbac91..bc193cab05f6 100644
--- a/testsuite/tests/typecheck/should_fail/T7368a.stderr
+++ b/testsuite/tests/typecheck/should_fail/T7368a.stderr
@@ -1,10 +1,10 @@
-
-T7368a.hs:8:6:
-    Couldn't match kind `*' with `* -> *'
-    When matching types
-      f :: * -> *
-      Bad :: (* -> *) -> *
-    Expected type: f (Bad f)
-      Actual type: Bad t0
-    In the pattern: Bad x
-    In an equation for `fun': fun (Bad x) = True
+
+T7368a.hs:8:6:
+    Couldn't match kind ‛*’ with ‛* -> *’
+    When matching types
+      f :: * -> *
+      Bad :: (* -> *) -> *
+    Expected type: f (Bad f)
+      Actual type: Bad t0
+    In the pattern: Bad x
+    In an equation for ‛fun’: fun (Bad x) = True
diff --git a/testsuite/tests/typecheck/should_fail/T7410.stderr b/testsuite/tests/typecheck/should_fail/T7410.stderr
index 80526514665b..877377e1b05c 100644
--- a/testsuite/tests/typecheck/should_fail/T7410.stderr
+++ b/testsuite/tests/typecheck/should_fail/T7410.stderr
@@ -1,6 +1,6 @@
 
 T7410.hs:3:9:
-    Expecting one more argument to `Either Int'
-    The first argument of a tuple should have kind `*',
-      but `Either Int' has kind `* -> *'
-    In the type signature for `foo': foo :: (Either Int, Int)
+    Expecting one more argument to ‛Either Int’
+    The first argument of a tuple should have kind ‛*’,
+      but ‛Either Int’ has kind ‛* -> *’
+    In the type signature for ‛foo’: foo :: (Either Int, Int)
diff --git a/testsuite/tests/typecheck/should_fail/T7453.stderr b/testsuite/tests/typecheck/should_fail/T7453.stderr
index af88fef12011..4a95105f44f5 100644
--- a/testsuite/tests/typecheck/should_fail/T7453.stderr
+++ b/testsuite/tests/typecheck/should_fail/T7453.stderr
@@ -1,7 +1,7 @@
 
 T7453.hs:10:30:
-    Couldn't match expected type `t1' with actual type `t'
-      because type variable `t1' would escape its scope
+    Couldn't match expected type ‛t1’ with actual type ‛t’
+      because type variable ‛t1’ would escape its scope
     This (rigid, skolem) type variable is bound by
       the type signature for z :: Id t1
       at T7453.hs:8:16-19
@@ -10,13 +10,13 @@ T7453.hs:10:30:
       v :: t (bound at T7453.hs:7:7)
       z :: Id t1 (bound at T7453.hs:9:11)
       aux :: Id t1 (bound at T7453.hs:10:21)
-    In the first argument of `Id', namely `v'
+    In the first argument of ‛Id’, namely ‛v’
     In the expression: Id v
-    In an equation for `aux': aux = Id v
+    In an equation for ‛aux’: aux = Id v
 
 T7453.hs:16:33:
-    Couldn't match expected type `t2' with actual type `t'
-      because type variable `t2' would escape its scope
+    Couldn't match expected type ‛t2’ with actual type ‛t’
+      because type variable ‛t2’ would escape its scope
     This (rigid, skolem) type variable is bound by
       the type signature for z :: () -> t2
       at T7453.hs:14:16-22
@@ -25,13 +25,13 @@ T7453.hs:16:33:
       v :: t (bound at T7453.hs:13:7)
       z :: () -> t2 (bound at T7453.hs:15:11)
       aux :: b -> t2 (bound at T7453.hs:16:21)
-    In the first argument of `const', namely `v'
+    In the first argument of ‛const’, namely ‛v’
     In the expression: const v
-    In an equation for `aux': aux = const v
+    In an equation for ‛aux’: aux = const v
 
 T7453.hs:21:15:
-    Couldn't match expected type `t2' with actual type `t'
-      because type variable `t2' would escape its scope
+    Couldn't match expected type ‛t2’ with actual type ‛t’
+      because type variable ‛t2’ would escape its scope
     This (rigid, skolem) type variable is bound by
       the type signature for z :: t2
       at T7453.hs:20:16
@@ -41,11 +41,11 @@ T7453.hs:21:15:
       z :: t2 (bound at T7453.hs:21:11)
       aux :: forall b. b -> t2 (bound at T7453.hs:22:21)
     In the expression: v
-    In an equation for `z':
+    In an equation for ‛z’:
         z = v
           where
               aux = const v
-    In an equation for `cast3':
+    In an equation for ‛cast3’:
         cast3 v
           = z
           where
diff --git a/testsuite/tests/typecheck/should_fail/T7525.stderr b/testsuite/tests/typecheck/should_fail/T7525.stderr
index 032de67df779..1e2c0eb235bd 100644
--- a/testsuite/tests/typecheck/should_fail/T7525.stderr
+++ b/testsuite/tests/typecheck/should_fail/T7525.stderr
@@ -1,9 +1,9 @@
 
 T7525.hs:5:30:
     Could not deduce (?b::Bool)
-      arising from a use of implicit parameter `?b'
+      arising from a use of implicit parameter ‛?b’
     from the context (?a::Bool)
       bound by the implicit-parameter bindings for ?a at T7525.hs:5:7-31
-    In the second argument of `(&&)', namely `?b'
+    In the second argument of ‛(&&)’, namely ‛?b’
     In the expression: ?a && ?b
     In the expression: let ?a = True in ?a && ?b
diff --git a/testsuite/tests/typecheck/should_fail/T7545.stderr b/testsuite/tests/typecheck/should_fail/T7545.stderr
index 1b6a3370d245..dc661dae73a9 100644
--- a/testsuite/tests/typecheck/should_fail/T7545.stderr
+++ b/testsuite/tests/typecheck/should_fail/T7545.stderr
@@ -2,4 +2,4 @@
 T7545.hs:8:9:
     Method signature does not match class; it should be
       f :: forall b1. (a -> b) -> b1
-    In the instance declaration for `C (a -> b)'
+    In the instance declaration for ‛C (a -> b)’
diff --git a/testsuite/tests/typecheck/should_fail/T7609.stderr b/testsuite/tests/typecheck/should_fail/T7609.stderr
index 1431bcb7c21c..650329a29858 100644
--- a/testsuite/tests/typecheck/should_fail/T7609.stderr
+++ b/testsuite/tests/typecheck/should_fail/T7609.stderr
@@ -1,11 +1,11 @@
 
 T7609.hs:7:16:
-    Expecting one more argument to `Maybe'
-    The second argument of a tuple should have kind `*',
-      but `Maybe' has kind `* -> *'
-    In the type signature for `f': f :: (a `X` a, Maybe)
+    Expecting one more argument to ‛Maybe’
+    The second argument of a tuple should have kind ‛*’,
+      but ‛Maybe’ has kind ‛* -> *’
+    In the type signature for ‛f’: f :: (a `X` a, Maybe)
 
 T7609.hs:10:19:
-    Expecting one more argument to `Maybe'
-    Expected a type, but `Maybe' has kind `* -> *'
-    In the type signature for `g': g :: a `X` a => Maybe
+    Expecting one more argument to ‛Maybe’
+    Expected a type, but ‛Maybe’ has kind ‛* -> *’
+    In the type signature for ‛g’: g :: a `X` a => Maybe
diff --git a/testsuite/tests/typecheck/should_fail/T7645.stderr b/testsuite/tests/typecheck/should_fail/T7645.stderr
index 96bd2e47c350..ae00e21ca68a 100644
--- a/testsuite/tests/typecheck/should_fail/T7645.stderr
+++ b/testsuite/tests/typecheck/should_fail/T7645.stderr
@@ -1,6 +1,6 @@
 
 T7645.hs:6:23:
-    Expecting one more argument to `Maybe'
-    The second argument of a tuple should have kind `*',
-      but `Maybe' has kind `* -> *'
-    In the type signature for `f': f :: ((+) a (a :: *), Maybe)
+    Expecting one more argument to ‛Maybe’
+    The second argument of a tuple should have kind ‛*’,
+      but ‛Maybe’ has kind ‛* -> *’
+    In the type signature for ‛f’: f :: ((+) a (a :: *), Maybe)
diff --git a/testsuite/tests/typecheck/should_fail/TcMultiWayIfFail.stderr b/testsuite/tests/typecheck/should_fail/TcMultiWayIfFail.stderr
index fe53beac4788..5655af9da6d3 100644
--- a/testsuite/tests/typecheck/should_fail/TcMultiWayIfFail.stderr
+++ b/testsuite/tests/typecheck/should_fail/TcMultiWayIfFail.stderr
@@ -1,16 +1,16 @@
 
 TcMultiWayIfFail.hs:6:24:
-    Couldn't match expected type `Int' with actual type `[Char]'
+    Couldn't match expected type ‛Int’ with actual type ‛[Char]’
     In the expression: "2"
     In the expression:
       if | True -> 1 :: Int | False -> "2" | otherwise -> [3 :: Int]
-    In an equation for `x1':
+    In an equation for ‛x1’:
         x1 = if | True -> 1 :: Int | False -> "2" | otherwise -> [3 :: Int]
 
 TcMultiWayIfFail.hs:7:24:
-    Couldn't match expected type `Int' with actual type `[Int]'
+    Couldn't match expected type ‛Int’ with actual type ‛[Int]’
     In the expression: [3 :: Int]
     In the expression:
       if | True -> 1 :: Int | False -> "2" | otherwise -> [3 :: Int]
-    In an equation for `x1':
+    In an equation for ‛x1’:
         x1 = if | True -> 1 :: Int | False -> "2" | otherwise -> [3 :: Int]
diff --git a/testsuite/tests/typecheck/should_fail/fd-loop.stderr b/testsuite/tests/typecheck/should_fail/fd-loop.stderr
index 3158a1007799..37eae5d955ea 100644
--- a/testsuite/tests/typecheck/should_fail/fd-loop.stderr
+++ b/testsuite/tests/typecheck/should_fail/fd-loop.stderr
@@ -1,12 +1,12 @@
-
-fd-loop.hs:12:10:
-    Variable `b' occurs more often than in the instance head
-      in the constraint: C a b
-    (Use -XUndecidableInstances to permit this)
-    In the instance declaration for `Eq (T a)'
-
-fd-loop.hs:12:10:
-    Variable `b' occurs more often than in the instance head
-      in the constraint: Eq b
-    (Use -XUndecidableInstances to permit this)
-    In the instance declaration for `Eq (T a)'
+
+fd-loop.hs:12:10:
+    Variable ‛b’ occurs more often than in the instance head
+      in the constraint: C a b
+    (Use -XUndecidableInstances to permit this)
+    In the instance declaration for ‛Eq (T a)’
+
+fd-loop.hs:12:10:
+    Variable ‛b’ occurs more often than in the instance head
+      in the constraint: Eq b
+    (Use -XUndecidableInstances to permit this)
+    In the instance declaration for ‛Eq (T a)’
diff --git a/testsuite/tests/typecheck/should_fail/mc19.stderr b/testsuite/tests/typecheck/should_fail/mc19.stderr
index 7015d47d74e5..de2367cfe414 100644
--- a/testsuite/tests/typecheck/should_fail/mc19.stderr
+++ b/testsuite/tests/typecheck/should_fail/mc19.stderr
@@ -1,7 +1,7 @@
 
 mc19.hs:10:31:
-    Couldn't match type `a' with `[a]'
-      `a' is a rigid type variable bound by
+    Couldn't match type ‛a’ with ‛[a]’
+      ‛a’ is a rigid type variable bound by
           a type expected by the context: [a] -> [a] at mc19.hs:10:26
     Expected type: [a] -> [a]
       Actual type: [a] -> [[a]]
diff --git a/testsuite/tests/typecheck/should_fail/mc20.stderr b/testsuite/tests/typecheck/should_fail/mc20.stderr
index 01048c44811b..86be7f4a1af5 100644
--- a/testsuite/tests/typecheck/should_fail/mc20.stderr
+++ b/testsuite/tests/typecheck/should_fail/mc20.stderr
@@ -1,6 +1,6 @@
 
 mc20.hs:14:31:
-    No instance for (Ord Unorderable) arising from a use of `groupWith'
+    No instance for (Ord Unorderable) arising from a use of ‛groupWith’
     In the expression: groupWith
     In a stmt of a monad comprehension: then group by x using groupWith
     In the expression:
diff --git a/testsuite/tests/typecheck/should_fail/mc21.stderr b/testsuite/tests/typecheck/should_fail/mc21.stderr
index bd7bac1dd99b..eeda10a39639 100644
--- a/testsuite/tests/typecheck/should_fail/mc21.stderr
+++ b/testsuite/tests/typecheck/should_fail/mc21.stderr
@@ -1,10 +1,10 @@
 
 mc21.hs:12:26:
-    Couldn't match type `a' with `[a]'
-      `a' is a rigid type variable bound by
+    Couldn't match type ‛a’ with ‛[a]’
+      ‛a’ is a rigid type variable bound by
           a type expected by the context: [a] -> [[a]] at mc21.hs:12:9
     Expected type: [a] -> [[a]]
       Actual type: [a] -> [a]
-    In the return type of a call of `take'
+    In the return type of a call of ‛take’
     In the expression: take 5
     In a stmt of a monad comprehension: then group using take 5
diff --git a/testsuite/tests/typecheck/should_fail/mc22.stderr b/testsuite/tests/typecheck/should_fail/mc22.stderr
index d020bae09441..7a4cc4e44b27 100644
--- a/testsuite/tests/typecheck/should_fail/mc22.stderr
+++ b/testsuite/tests/typecheck/should_fail/mc22.stderr
@@ -1,11 +1,11 @@
 
 mc22.hs:10:26:
-    Couldn't match type `a' with `t a'
-      `a' is a rigid type variable bound by
+    Couldn't match type ‛a’ with ‛t a’
+      ‛a’ is a rigid type variable bound by
           a type expected by the context: [a] -> [t a] at mc22.hs:10:9
     Expected type: [a] -> [t a]
       Actual type: [a] -> [a]
     Relevant bindings include foo :: [t [Char]] (bound at mc22.hs:8:1)
-    In the return type of a call of `take'
+    In the return type of a call of ‛take’
     In the expression: take 5
     In a stmt of a monad comprehension: then group using take 5
diff --git a/testsuite/tests/typecheck/should_fail/mc23.stderr b/testsuite/tests/typecheck/should_fail/mc23.stderr
index b8c398728068..674c5571d1e4 100644
--- a/testsuite/tests/typecheck/should_fail/mc23.stderr
+++ b/testsuite/tests/typecheck/should_fail/mc23.stderr
@@ -1,10 +1,10 @@
 
 mc23.hs:9:29:
-    Couldn't match type `[a0]' with `a -> b'
+    Couldn't match type ‛[a0]’ with ‛a -> b’
     Expected type: (a -> b) -> [a] -> t a
       Actual type: [a0] -> [a0]
     Relevant bindings include z :: t b (bound at mc23.hs:9:1)
-    In the return type of a call of `take'
-    Probable cause: `take' is applied to too many arguments
+    In the return type of a call of ‛take’
+    Probable cause: ‛take’ is applied to too many arguments
     In the expression: take 5
     In a stmt of a monad comprehension: then take 5 by x
diff --git a/testsuite/tests/typecheck/should_fail/mc24.stderr b/testsuite/tests/typecheck/should_fail/mc24.stderr
index 92b66b0464d3..8a67d364d0f1 100644
--- a/testsuite/tests/typecheck/should_fail/mc24.stderr
+++ b/testsuite/tests/typecheck/should_fail/mc24.stderr
@@ -1,9 +1,9 @@
 
 mc24.hs:10:31:
-    Couldn't match type `[a0]' with `a -> a1'
+    Couldn't match type ‛[a0]’ with ‛a -> a1’
     Expected type: (a -> a1) -> [a] -> t [a]
       Actual type: [a0] -> [a0]
-    In the return type of a call of `take'
-    Probable cause: `take' is applied to too many arguments
+    In the return type of a call of ‛take’
+    Probable cause: ‛take’ is applied to too many arguments
     In the expression: take 2
     In a stmt of a monad comprehension: then group by x using take 2
diff --git a/testsuite/tests/typecheck/should_fail/mc25.stderr b/testsuite/tests/typecheck/should_fail/mc25.stderr
index 3925f833f0fb..855ec1eb18f9 100644
--- a/testsuite/tests/typecheck/should_fail/mc25.stderr
+++ b/testsuite/tests/typecheck/should_fail/mc25.stderr
@@ -1,6 +1,6 @@
 
 mc25.hs:9:46:
-    Couldn't match type `Int' with `a -> t'
+    Couldn't match type ‛Int’ with ‛a -> t’
     Expected type: (a -> t) -> [a] -> [t1 a]
       Actual type: Int -> [a] -> [a]
     Relevant bindings include z :: [t1 t] (bound at mc25.hs:9:1)
diff --git a/testsuite/tests/typecheck/should_fail/tcfail001.stderr b/testsuite/tests/typecheck/should_fail/tcfail001.stderr
index 8734ee32b4b6..32418ac5c2b1 100644
--- a/testsuite/tests/typecheck/should_fail/tcfail001.stderr
+++ b/testsuite/tests/typecheck/should_fail/tcfail001.stderr
@@ -1,7 +1,7 @@
 
 tcfail001.hs:9:2:
-    Couldn't match expected type `[t0] -> [t1]' with actual type `[a]'
+    Couldn't match expected type ‛[t0] -> [t1]’ with actual type ‛[a]’
     Relevant bindings include op :: [a] (bound at tcfail001.hs:9:2)
-    The equation(s) for `op' have one argument,
-    but its type `[a]' has none
-    In the instance declaration for `A [a]'
+    The equation(s) for ‛op’ have one argument,
+    but its type ‛[a]’ has none
+    In the instance declaration for ‛A [a]’
diff --git a/testsuite/tests/typecheck/should_fail/tcfail002.stderr b/testsuite/tests/typecheck/should_fail/tcfail002.stderr
index 3a9c89c13df3..f055d66eb637 100644
--- a/testsuite/tests/typecheck/should_fail/tcfail002.stderr
+++ b/testsuite/tests/typecheck/should_fail/tcfail002.stderr
@@ -5,4 +5,4 @@ tcfail002.hs:4:7:
       c :: [t] -> t (bound at tcfail002.hs:3:1)
       z :: [t] (bound at tcfail002.hs:4:3)
     In the expression: z
-    In an equation for `c': c z = z
+    In an equation for ‛c’: c z = z
diff --git a/testsuite/tests/typecheck/should_fail/tcfail003.stderr b/testsuite/tests/typecheck/should_fail/tcfail003.stderr
index 42d7c597649f..e605497890b9 100644
--- a/testsuite/tests/typecheck/should_fail/tcfail003.stderr
+++ b/testsuite/tests/typecheck/should_fail/tcfail003.stderr
@@ -1,6 +1,6 @@
 
 tcfail003.hs:3:10:
-    No instance for (Num Char) arising from the literal `1'
+    No instance for (Num Char) arising from the literal ‛1’
     In the expression: 1
     In the expression: [1, 'a']
     In a pattern binding: (d : e) = [1, 'a']
diff --git a/testsuite/tests/typecheck/should_fail/tcfail004.stderr b/testsuite/tests/typecheck/should_fail/tcfail004.stderr
index 112a3aab38fc..bf439ab343f1 100644
--- a/testsuite/tests/typecheck/should_fail/tcfail004.stderr
+++ b/testsuite/tests/typecheck/should_fail/tcfail004.stderr
@@ -1,7 +1,7 @@
 
 tcfail004.hs:3:9:
-    Couldn't match expected type `(t, t3)'
-                with actual type `(t0, t1, t2)'
+    Couldn't match expected type ‛(t, t3)’
+                with actual type ‛(t0, t1, t2)’
     Relevant bindings include
       g :: t3 (bound at tcfail004.hs:3:4)
       f :: t (bound at tcfail004.hs:3:2)
diff --git a/testsuite/tests/typecheck/should_fail/tcfail005.stderr b/testsuite/tests/typecheck/should_fail/tcfail005.stderr
index fa97c98b061d..ebb2999f79c6 100644
--- a/testsuite/tests/typecheck/should_fail/tcfail005.stderr
+++ b/testsuite/tests/typecheck/should_fail/tcfail005.stderr
@@ -1,6 +1,6 @@
 
 tcfail005.hs:3:9:
-    Couldn't match expected type `[t]' with actual type `(t0, Char)'
+    Couldn't match expected type ‛[t]’ with actual type ‛(t0, Char)’
     Relevant bindings include
       i :: [t] (bound at tcfail005.hs:3:4)
       h :: t (bound at tcfail005.hs:3:2)
diff --git a/testsuite/tests/typecheck/should_fail/tcfail006.stderr b/testsuite/tests/typecheck/should_fail/tcfail006.stderr
index a31f4fdc217a..387fe56b4921 100644
--- a/testsuite/tests/typecheck/should_fail/tcfail006.stderr
+++ b/testsuite/tests/typecheck/should_fail/tcfail006.stderr
@@ -1,6 +1,6 @@
 
 tcfail006.hs:4:24:
-    No instance for (Num Bool) arising from the literal `1'
+    No instance for (Num Bool) arising from the literal ‛1’
     In the expression: 1
     In the expression: (True, 1)
     In a case alternative: True -> (True, 1)
diff --git a/testsuite/tests/typecheck/should_fail/tcfail007.stderr b/testsuite/tests/typecheck/should_fail/tcfail007.stderr
index d375e40eb232..99c9504a7ec9 100644
--- a/testsuite/tests/typecheck/should_fail/tcfail007.stderr
+++ b/testsuite/tests/typecheck/should_fail/tcfail007.stderr
@@ -1,8 +1,8 @@
 
 tcfail007.hs:3:15:
-    No instance for (Num Bool) arising from a use of `+'
+    No instance for (Num Bool) arising from a use of ‛+’
     In the expression: x + 1
-    In an equation for `n':
+    In an equation for ‛n’:
         n x
           | True = x + 1
           | False = True
diff --git a/testsuite/tests/typecheck/should_fail/tcfail008.stderr b/testsuite/tests/typecheck/should_fail/tcfail008.stderr
index 7abed93f58f7..09c4c54558e2 100644
--- a/testsuite/tests/typecheck/should_fail/tcfail008.stderr
+++ b/testsuite/tests/typecheck/should_fail/tcfail008.stderr
@@ -1,20 +1,20 @@
-
-tcfail008.hs:3:5:
-    No instance for (Num a0) arising from the literal `1'
-    The type variable `a0' is ambiguous
-    Relevant bindings include o :: [a0] (bound at tcfail008.hs:3:1)
-    Note: there are several potential instances:
-      instance Num Double -- Defined in `GHC.Float'
-      instance Num Float -- Defined in `GHC.Float'
-      instance Integral a => Num (GHC.Real.Ratio a)
-        -- Defined in `GHC.Real'
-      ...plus three others
-    In the first argument of `(:)', namely `1'
-    In the expression: 1 : 2
-    In an equation for `o': o = 1 : 2
-
-tcfail008.hs:3:7:
-    No instance for (Num [a0]) arising from the literal `2'
-    In the second argument of `(:)', namely `2'
-    In the expression: 1 : 2
-    In an equation for `o': o = 1 : 2
+
+tcfail008.hs:3:5:
+    No instance for (Num a0) arising from the literal ‛1’
+    The type variable ‛a0’ is ambiguous
+    Relevant bindings include o :: [a0] (bound at tcfail008.hs:3:1)
+    Note: there are several potential instances:
+      instance Num Double -- Defined in ‛GHC.Float’
+      instance Num Float -- Defined in ‛GHC.Float’
+      instance Integral a => Num (GHC.Real.Ratio a)
+        -- Defined in ‛GHC.Real’
+      ...plus three others
+    In the first argument of ‛(:)’, namely ‛1’
+    In the expression: 1 : 2
+    In an equation for ‛o’: o = 1 : 2
+
+tcfail008.hs:3:7:
+    No instance for (Num [a0]) arising from the literal ‛2’
+    In the second argument of ‛(:)’, namely ‛2’
+    In the expression: 1 : 2
+    In an equation for ‛o’: o = 1 : 2
diff --git a/testsuite/tests/typecheck/should_fail/tcfail009.stderr b/testsuite/tests/typecheck/should_fail/tcfail009.stderr
index 8226c1fbdc14..517e39c36fc2 100644
--- a/testsuite/tests/typecheck/should_fail/tcfail009.stderr
+++ b/testsuite/tests/typecheck/should_fail/tcfail009.stderr
@@ -1,6 +1,6 @@
 
 tcfail009.hs:3:17:
-    Couldn't match expected type `Int' with actual type `Integer'
+    Couldn't match expected type ‛Int’ with actual type ‛Integer’
     In the expression: (2 :: Integer)
     In the expression: [(1 :: Int) .. (2 :: Integer)]
-    In an equation for `p': p = [(1 :: Int) .. (2 :: Integer)]
+    In an equation for ‛p’: p = [(1 :: Int) .. (2 :: Integer)]
diff --git a/testsuite/tests/typecheck/should_fail/tcfail010.stderr b/testsuite/tests/typecheck/should_fail/tcfail010.stderr
index 695655c31ef4..3f718371aacb 100644
--- a/testsuite/tests/typecheck/should_fail/tcfail010.stderr
+++ b/testsuite/tests/typecheck/should_fail/tcfail010.stderr
@@ -1,6 +1,6 @@
 
 tcfail010.hs:3:17:
-    No instance for (Num [t0]) arising from a use of `+'
+    No instance for (Num [t0]) arising from a use of ‛+’
     In the expression: z + 2
     In the expression: \ (y : z) -> z + 2
-    In an equation for `q': q = \ (y : z) -> z + 2
+    In an equation for ‛q’: q = \ (y : z) -> z + 2
diff --git a/testsuite/tests/typecheck/should_fail/tcfail011.stderr b/testsuite/tests/typecheck/should_fail/tcfail011.stderr
index f41e3a67ce08..8ef94fec12ad 100644
--- a/testsuite/tests/typecheck/should_fail/tcfail011.stderr
+++ b/testsuite/tests/typecheck/should_fail/tcfail011.stderr
@@ -1,2 +1,2 @@
 
-tcfail011.hs:3:25: Not in scope: `y'
+tcfail011.hs:3:25: Not in scope: ‛y’
diff --git a/testsuite/tests/typecheck/should_fail/tcfail012.stderr b/testsuite/tests/typecheck/should_fail/tcfail012.stderr
index 7d99a18a3c1e..257eca351f51 100644
--- a/testsuite/tests/typecheck/should_fail/tcfail012.stderr
+++ b/testsuite/tests/typecheck/should_fail/tcfail012.stderr
@@ -1,5 +1,5 @@
 
 tcfail012.hs:3:8:
-    Couldn't match expected type `Bool' with actual type `[t0]'
+    Couldn't match expected type ‛Bool’ with actual type ‛[t0]’
     In the expression: []
     In a pattern binding: True = []
diff --git a/testsuite/tests/typecheck/should_fail/tcfail013.stderr b/testsuite/tests/typecheck/should_fail/tcfail013.stderr
index a1fd433f6700..075c4dab8743 100644
--- a/testsuite/tests/typecheck/should_fail/tcfail013.stderr
+++ b/testsuite/tests/typecheck/should_fail/tcfail013.stderr
@@ -1,6 +1,6 @@
 
 tcfail013.hs:4:3:
-    Couldn't match expected type `[t]' with actual type `Bool'
+    Couldn't match expected type ‛[t]’ with actual type ‛Bool’
     Relevant bindings include f :: [t] -> a (bound at tcfail013.hs:3:1)
     In the pattern: True
-    In an equation for `f': f True = 2
+    In an equation for ‛f’: f True = 2
diff --git a/testsuite/tests/typecheck/should_fail/tcfail014.stderr b/testsuite/tests/typecheck/should_fail/tcfail014.stderr
index 713ffce5e5b3..1e4b637a9f09 100644
--- a/testsuite/tests/typecheck/should_fail/tcfail014.stderr
+++ b/testsuite/tests/typecheck/should_fail/tcfail014.stderr
@@ -4,6 +4,6 @@ tcfail014.hs:5:33:
     Relevant bindings include
       h :: (t8 -> t7) -> t7 (bound at tcfail014.hs:5:25)
       z :: t8 -> t7 (bound at tcfail014.hs:5:27)
-    In the first argument of `z', namely `z'
+    In the first argument of ‛z’, namely ‛z’
     In the expression: z z
-    In an equation for `h': h z = z z
+    In an equation for ‛h’: h z = z z
diff --git a/testsuite/tests/typecheck/should_fail/tcfail015.stderr b/testsuite/tests/typecheck/should_fail/tcfail015.stderr
index 41899dffb4e6..7e0225376013 100644
--- a/testsuite/tests/typecheck/should_fail/tcfail015.stderr
+++ b/testsuite/tests/typecheck/should_fail/tcfail015.stderr
@@ -1,5 +1,5 @@
 
 tcfail015.hs:7:13:
-    No instance for (Num Bool) arising from the literal `2'
+    No instance for (Num Bool) arising from the literal ‛2’
     In the expression: 2
-    In an equation for `g': g (ANull) = 2
+    In an equation for ‛g’: g (ANull) = 2
diff --git a/testsuite/tests/typecheck/should_fail/tcfail016.stderr b/testsuite/tests/typecheck/should_fail/tcfail016.stderr
index 17f2f16e4c40..15122e8e1ba4 100644
--- a/testsuite/tests/typecheck/should_fail/tcfail016.stderr
+++ b/testsuite/tests/typecheck/should_fail/tcfail016.stderr
@@ -1,24 +1,24 @@
 
 tcfail016.hs:9:20:
-    Couldn't match type `(t, Expr t)' with `Expr t'
+    Couldn't match type ‛(t, Expr t)’ with ‛Expr t’
     Expected type: Expr t
       Actual type: AnnExpr t
     Relevant bindings include
       g :: Expr t -> [[Char]] (bound at tcfail016.hs:8:1)
       e1 :: AnnExpr t (bound at tcfail016.hs:9:8)
       e2 :: AnnExpr t (bound at tcfail016.hs:9:11)
-    In the first argument of `g', namely `e1'
-    In the first argument of `(++)', namely `(g e1)'
+    In the first argument of ‛g’, namely ‛e1’
+    In the first argument of ‛(++)’, namely ‛(g e1)’
     In the expression: (g e1) ++ (g e2)
 
 tcfail016.hs:9:28:
-    Couldn't match type `(t, Expr t)' with `Expr t'
+    Couldn't match type ‛(t, Expr t)’ with ‛Expr t’
     Expected type: Expr t
       Actual type: AnnExpr t
     Relevant bindings include
       g :: Expr t -> [[Char]] (bound at tcfail016.hs:8:1)
       e1 :: AnnExpr t (bound at tcfail016.hs:9:8)
       e2 :: AnnExpr t (bound at tcfail016.hs:9:11)
-    In the first argument of `g', namely `e2'
-    In the second argument of `(++)', namely `(g e2)'
+    In the first argument of ‛g’, namely ‛e2’
+    In the second argument of ‛(++)’, namely ‛(g e2)’
     In the expression: (g e1) ++ (g e2)
diff --git a/testsuite/tests/typecheck/should_fail/tcfail017.stderr b/testsuite/tests/typecheck/should_fail/tcfail017.stderr
index 006ff73d147b..a0d73da86265 100644
--- a/testsuite/tests/typecheck/should_fail/tcfail017.stderr
+++ b/testsuite/tests/typecheck/should_fail/tcfail017.stderr
@@ -4,4 +4,4 @@ tcfail017.hs:10:10:
       arising from the superclasses of an instance declaration
     from the context (B a)
       bound by the instance declaration at tcfail017.hs:10:10-23
-    In the instance declaration for `B [a]'
+    In the instance declaration for ‛B [a]’
diff --git a/testsuite/tests/typecheck/should_fail/tcfail018.stderr b/testsuite/tests/typecheck/should_fail/tcfail018.stderr
index 67b3cbb47ec4..687938983bdf 100644
--- a/testsuite/tests/typecheck/should_fail/tcfail018.stderr
+++ b/testsuite/tests/typecheck/should_fail/tcfail018.stderr
@@ -1,5 +1,5 @@
 
 tcfail018.hs:5:10:
-    No instance for (Num [t0]) arising from the literal `1'
+    No instance for (Num [t0]) arising from the literal ‛1’
     In the expression: 1
     In a pattern binding: (a : []) = 1
diff --git a/testsuite/tests/typecheck/should_fail/tcfail019.stderr b/testsuite/tests/typecheck/should_fail/tcfail019.stderr
index 79ab411795ed..848805abda24 100644
--- a/testsuite/tests/typecheck/should_fail/tcfail019.stderr
+++ b/testsuite/tests/typecheck/should_fail/tcfail019.stderr
@@ -2,4 +2,4 @@
 tcfail019.hs:18:10:
     No instance for (B [a])
       arising from the superclasses of an instance declaration
-    In the instance declaration for `D [a]'
+    In the instance declaration for ‛D [a]’
diff --git a/testsuite/tests/typecheck/should_fail/tcfail020.stderr b/testsuite/tests/typecheck/should_fail/tcfail020.stderr
index 13ef851ed69b..9dfaa63a4e43 100644
--- a/testsuite/tests/typecheck/should_fail/tcfail020.stderr
+++ b/testsuite/tests/typecheck/should_fail/tcfail020.stderr
@@ -4,4 +4,4 @@ tcfail020.hs:10:10:
       arising from the superclasses of an instance declaration
     from the context (A a)
       bound by the instance declaration at tcfail020.hs:10:10-23
-    In the instance declaration for `B [a]'
+    In the instance declaration for ‛B [a]’
diff --git a/testsuite/tests/typecheck/should_fail/tcfail027.stderr b/testsuite/tests/typecheck/should_fail/tcfail027.stderr
index c5df0bcbf32d..cc4ffcaab3a0 100644
--- a/testsuite/tests/typecheck/should_fail/tcfail027.stderr
+++ b/testsuite/tests/typecheck/should_fail/tcfail027.stderr
@@ -1,8 +1,8 @@
 
 tcfail027.hs:4:1:
     Cycle in class declaration (via superclasses): A -> B -> A
-    In the class declaration for `A'
+    In the class declaration for ‛A’
 
 tcfail027.hs:7:1:
     Cycle in class declaration (via superclasses): B -> A -> B
-    In the class declaration for `B'
+    In the class declaration for ‛B’
diff --git a/testsuite/tests/typecheck/should_fail/tcfail028.stderr b/testsuite/tests/typecheck/should_fail/tcfail028.stderr
index 53e3f7614ee0..a5c0a59612db 100644
--- a/testsuite/tests/typecheck/should_fail/tcfail028.stderr
+++ b/testsuite/tests/typecheck/should_fail/tcfail028.stderr
@@ -1,7 +1,7 @@
 
 tcfail028.hs:4:17:
-    Expecting one more argument to `A a'
-    Expected a type, but `A a' has kind `k0 -> *'
-    In the type `A a'
-    In the definition of data constructor `B'
-    In the data declaration for `A'
+    Expecting one more argument to ‛A a’
+    Expected a type, but ‛A a’ has kind ‛k0 -> *’
+    In the type ‛A a’
+    In the definition of data constructor ‛B’
+    In the data declaration for ‛A’
diff --git a/testsuite/tests/typecheck/should_fail/tcfail029.stderr b/testsuite/tests/typecheck/should_fail/tcfail029.stderr
index d9cb86238872..13a1e4936ed8 100644
--- a/testsuite/tests/typecheck/should_fail/tcfail029.stderr
+++ b/testsuite/tests/typecheck/should_fail/tcfail029.stderr
@@ -1,5 +1,5 @@
 
 tcfail029.hs:6:9:
-    No instance for (Ord Foo) arising from a use of `>'
+    No instance for (Ord Foo) arising from a use of ‛>’
     In the expression: x > Bar
-    In an equation for `f': f x = x > Bar
+    In an equation for ‛f’: f x = x > Bar
diff --git a/testsuite/tests/typecheck/should_fail/tcfail030.stderr b/testsuite/tests/typecheck/should_fail/tcfail030.stderr
index cb9d80959d35..e0a8b494f3a5 100644
--- a/testsuite/tests/typecheck/should_fail/tcfail030.stderr
+++ b/testsuite/tests/typecheck/should_fail/tcfail030.stderr
@@ -1,3 +1,3 @@
 
 tcfail030.hs:1:1:
-    The function `main' is not defined in module `Main'
+    The function ‛main’ is not defined in module ‛Main’
diff --git a/testsuite/tests/typecheck/should_fail/tcfail031.stderr b/testsuite/tests/typecheck/should_fail/tcfail031.stderr
index f7fc14bb1fd7..5d55430eaa43 100644
--- a/testsuite/tests/typecheck/should_fail/tcfail031.stderr
+++ b/testsuite/tests/typecheck/should_fail/tcfail031.stderr
@@ -1,6 +1,6 @@
 
 tcfail031.hs:3:10:
-    Couldn't match expected type `Bool' with actual type `Char'
+    Couldn't match expected type ‛Bool’ with actual type ‛Char’
     In the expression: 'a'
     In the expression: if 'a' then 1 else 2
-    In an equation for `f': f x = if 'a' then 1 else 2
+    In an equation for ‛f’: f x = if 'a' then 1 else 2
diff --git a/testsuite/tests/typecheck/should_fail/tcfail032.stderr b/testsuite/tests/typecheck/should_fail/tcfail032.stderr
index 5a93f8c66c22..56e4a791ad97 100644
--- a/testsuite/tests/typecheck/should_fail/tcfail032.stderr
+++ b/testsuite/tests/typecheck/should_fail/tcfail032.stderr
@@ -1,7 +1,7 @@
 
 tcfail032.hs:14:8:
-    Couldn't match expected type `a1 -> Int' with actual type `t'
-      because type variable `a1' would escape its scope
+    Couldn't match expected type ‛a1 -> Int’ with actual type ‛t’
+      because type variable ‛a1’ would escape its scope
     This (rigid, skolem) type variable is bound by
       an expression type signature: Eq a1 => a1 -> Int
       at tcfail032.hs:14:8-30
@@ -9,4 +9,4 @@ tcfail032.hs:14:8:
       f :: t -> a -> Int (bound at tcfail032.hs:14:1)
       x :: t (bound at tcfail032.hs:14:3)
     In the expression: (x :: Eq a => a -> Int)
-    In an equation for `f': f x = (x :: Eq a => a -> Int)
+    In an equation for ‛f’: f x = (x :: Eq a => a -> Int)
diff --git a/testsuite/tests/typecheck/should_fail/tcfail033.stderr b/testsuite/tests/typecheck/should_fail/tcfail033.stderr
index 53822843343d..0ebb5c826eb5 100644
--- a/testsuite/tests/typecheck/should_fail/tcfail033.stderr
+++ b/testsuite/tests/typecheck/should_fail/tcfail033.stderr
@@ -7,4 +7,4 @@ tcfail033.hs:4:12:
       y :: t1 (bound at tcfail033.hs:4:19)
     In the expression: x
     In the expression: [x | (x, y) <- buglet]
-    In an equation for `buglet': buglet = [x | (x, y) <- buglet]
+    In an equation for ‛buglet’: buglet = [x | (x, y) <- buglet]
diff --git a/testsuite/tests/typecheck/should_fail/tcfail034.stderr b/testsuite/tests/typecheck/should_fail/tcfail034.stderr
index 38b04c10c6c0..3fca8122b98a 100644
--- a/testsuite/tests/typecheck/should_fail/tcfail034.stderr
+++ b/testsuite/tests/typecheck/should_fail/tcfail034.stderr
@@ -1,12 +1,12 @@
 
 tcfail034.hs:17:13:
-    Could not deduce (Integral a) arising from a use of `mod'
+    Could not deduce (Integral a) arising from a use of ‛mod’
     from the context (Num a, Eq a)
       bound by the type signature for test :: (Num a, Eq a) => a -> Bool
       at tcfail034.hs:16:7-32
     Possible fix:
       add (Integral a) to the context of
         the type signature for test :: (Num a, Eq a) => a -> Bool
-    In the first argument of `(==)', namely `(x `mod` 3)'
+    In the first argument of ‛(==)’, namely ‛(x `mod` 3)’
     In the expression: (x `mod` 3) == 0
-    In an equation for `test': test x = (x `mod` 3) == 0
+    In an equation for ‛test’: test x = (x `mod` 3) == 0
diff --git a/testsuite/tests/typecheck/should_fail/tcfail036.stderr b/testsuite/tests/typecheck/should_fail/tcfail036.stderr
index 98d172278727..465e4547127f 100644
--- a/testsuite/tests/typecheck/should_fail/tcfail036.stderr
+++ b/testsuite/tests/typecheck/should_fail/tcfail036.stderr
@@ -5,7 +5,7 @@ tcfail036.hs:6:10:
       instance Num NUM -- Defined at tcfail036.hs:8:10
 
 tcfail036.hs:9:13:
-    Expecting one more argument to `Num'
-    The first argument of `Eq' should have kind `*',
-      but `Num' has kind `* -> Constraint'
-    In the instance declaration for `Eq Num'
+    Expecting one more argument to ‛Num’
+    The first argument of ‛Eq’ should have kind ‛*’,
+      but ‛Num’ has kind ‛* -> Constraint’
+    In the instance declaration for ‛Eq Num’
diff --git a/testsuite/tests/typecheck/should_fail/tcfail037.stderr b/testsuite/tests/typecheck/should_fail/tcfail037.stderr
index 998a68ccdcfb..00f757841c1f 100644
--- a/testsuite/tests/typecheck/should_fail/tcfail037.stderr
+++ b/testsuite/tests/typecheck/should_fail/tcfail037.stderr
@@ -1,8 +1,8 @@
 
 tcfail037.hs:7:11:
-    Ambiguous occurrence `+'
-    It could refer to either `ShouldFail.+',
+    Ambiguous occurrence ‛+’
+    It could refer to either ‛ShouldFail.+’,
                              defined at tcfail037.hs:10:5
-                          or `Prelude.+',
-                             imported from `Prelude' at tcfail037.hs:3:8-17
-                             (and originally defined in `GHC.Num')
+                          or ‛Prelude.+’,
+                             imported from ‛Prelude’ at tcfail037.hs:3:8-17
+                             (and originally defined in ‛GHC.Num’)
diff --git a/testsuite/tests/typecheck/should_fail/tcfail038.stderr b/testsuite/tests/typecheck/should_fail/tcfail038.stderr
index 70e13f3c7221..f8b7915e0012 100644
--- a/testsuite/tests/typecheck/should_fail/tcfail038.stderr
+++ b/testsuite/tests/typecheck/should_fail/tcfail038.stderr
@@ -1,10 +1,10 @@
 
 tcfail038.hs:7:11:
-    Conflicting definitions for `=='
+    Conflicting definitions for ‛==’
     Bound at: tcfail038.hs:7:11-12
               tcfail038.hs:9:11-12
 
 tcfail038.hs:8:11:
-    Conflicting definitions for `/='
+    Conflicting definitions for ‛/=’
     Bound at: tcfail038.hs:8:11-12
               tcfail038.hs:10:11-12
diff --git a/testsuite/tests/typecheck/should_fail/tcfail040.stderr b/testsuite/tests/typecheck/should_fail/tcfail040.stderr
index 003cb9f6d07b..90fb76d99d98 100644
--- a/testsuite/tests/typecheck/should_fail/tcfail040.stderr
+++ b/testsuite/tests/typecheck/should_fail/tcfail040.stderr
@@ -1,9 +1,9 @@
-
-tcfail040.hs:19:5:
-    No instance for (ORD a0) arising from a use of `<<'
-    The type variable `a0' is ambiguous
-    Note: there is a potential instance available:
-      instance ORD (a -> b) -- Defined at tcfail040.hs:17:10
-    In the first argument of `(===)', namely `(<<)'
-    In the expression: (<<) === (<<)
-    In an equation for `f': f = (<<) === (<<)
+
+tcfail040.hs:19:5:
+    No instance for (ORD a0) arising from a use of ‛<<’
+    The type variable ‛a0’ is ambiguous
+    Note: there is a potential instance available:
+      instance ORD (a -> b) -- Defined at tcfail040.hs:17:10
+    In the first argument of ‛(===)’, namely ‛(<<)’
+    In the expression: (<<) === (<<)
+    In an equation for ‛f’: f = (<<) === (<<)
diff --git a/testsuite/tests/typecheck/should_fail/tcfail041.stderr b/testsuite/tests/typecheck/should_fail/tcfail041.stderr
index ae8cd47aeecd..f86384133d49 100644
--- a/testsuite/tests/typecheck/should_fail/tcfail041.stderr
+++ b/testsuite/tests/typecheck/should_fail/tcfail041.stderr
@@ -2,4 +2,4 @@
 tcfail041.hs:9:10:
     Unbound implicit parameter (?imp::Int)
       arising from the superclasses of an instance declaration
-    In the instance declaration for `D Int'
+    In the instance declaration for ‛D Int’
diff --git a/testsuite/tests/typecheck/should_fail/tcfail042.stderr b/testsuite/tests/typecheck/should_fail/tcfail042.stderr
index 76031bb221c8..1e1c5ad01ee0 100644
--- a/testsuite/tests/typecheck/should_fail/tcfail042.stderr
+++ b/testsuite/tests/typecheck/should_fail/tcfail042.stderr
@@ -6,4 +6,4 @@ tcfail042.hs:15:10:
       bound by the instance declaration at tcfail042.hs:15:10-34
     Possible fix:
       add (Num a) to the context of the instance declaration
-    In the instance declaration for `Bar [a]'
+    In the instance declaration for ‛Bar [a]’
diff --git a/testsuite/tests/typecheck/should_fail/tcfail043.stderr b/testsuite/tests/typecheck/should_fail/tcfail043.stderr
index ef4e999996e4..9be218f040bb 100644
--- a/testsuite/tests/typecheck/should_fail/tcfail043.stderr
+++ b/testsuite/tests/typecheck/should_fail/tcfail043.stderr
@@ -1,40 +1,40 @@
-
-tcfail043.hs:38:17:
-    No instance for (Ord_ a0) arising from a use of `gt'
-    The type variable `a0' is ambiguous
-    Relevant bindings include
-      search :: a0 -> [a0] -> Bool (bound at tcfail043.hs:37:1)
-      a :: a0 (bound at tcfail043.hs:38:6)
-      bs :: [a0] (bound at tcfail043.hs:38:8)
-    Note: there is a potential instance available:
-      instance Ord_ Int -- Defined at tcfail043.hs:34:10
-    In the expression: gt (hd bs) a
-    In the expression:
-      if gt (hd bs) a then
-          False
-      else
-          if eq a (hd bs) then True else search a (tl bs)
-    In the expression:
-      \ a bs
-        -> if gt (hd bs) a then
-               False
-           else
-               if eq a (hd bs) then True else search a (tl bs)
-
-tcfail043.hs:40:25:
-    No instance for (Eq_ a0) arising from a use of `eq'
-    The type variable `a0' is ambiguous
-    Relevant bindings include
-      search :: a0 -> [a0] -> Bool (bound at tcfail043.hs:37:1)
-      a :: a0 (bound at tcfail043.hs:38:6)
-      bs :: [a0] (bound at tcfail043.hs:38:8)
-    Note: there are several potential instances:
-      instance Eq_ a => Eq_ [a] -- Defined at tcfail043.hs:23:10
-      instance Eq_ Int -- Defined at tcfail043.hs:20:10
-    In the expression: eq a (hd bs)
-    In the expression: if eq a (hd bs) then True else search a (tl bs)
-    In the expression:
-      if gt (hd bs) a then
-          False
-      else
-          if eq a (hd bs) then True else search a (tl bs)
+
+tcfail043.hs:38:17:
+    No instance for (Ord_ a0) arising from a use of ‛gt’
+    The type variable ‛a0’ is ambiguous
+    Relevant bindings include
+      search :: a0 -> [a0] -> Bool (bound at tcfail043.hs:37:1)
+      a :: a0 (bound at tcfail043.hs:38:6)
+      bs :: [a0] (bound at tcfail043.hs:38:8)
+    Note: there is a potential instance available:
+      instance Ord_ Int -- Defined at tcfail043.hs:34:10
+    In the expression: gt (hd bs) a
+    In the expression:
+      if gt (hd bs) a then
+          False
+      else
+          if eq a (hd bs) then True else search a (tl bs)
+    In the expression:
+      \ a bs
+        -> if gt (hd bs) a then
+               False
+           else
+               if eq a (hd bs) then True else search a (tl bs)
+
+tcfail043.hs:40:25:
+    No instance for (Eq_ a0) arising from a use of ‛eq’
+    The type variable ‛a0’ is ambiguous
+    Relevant bindings include
+      search :: a0 -> [a0] -> Bool (bound at tcfail043.hs:37:1)
+      a :: a0 (bound at tcfail043.hs:38:6)
+      bs :: [a0] (bound at tcfail043.hs:38:8)
+    Note: there are several potential instances:
+      instance Eq_ a => Eq_ [a] -- Defined at tcfail043.hs:23:10
+      instance Eq_ Int -- Defined at tcfail043.hs:20:10
+    In the expression: eq a (hd bs)
+    In the expression: if eq a (hd bs) then True else search a (tl bs)
+    In the expression:
+      if gt (hd bs) a then
+          False
+      else
+          if eq a (hd bs) then True else search a (tl bs)
diff --git a/testsuite/tests/typecheck/should_fail/tcfail044.stderr b/testsuite/tests/typecheck/should_fail/tcfail044.stderr
index 03ad2fb705a7..ab3b94f007f3 100644
--- a/testsuite/tests/typecheck/should_fail/tcfail044.stderr
+++ b/testsuite/tests/typecheck/should_fail/tcfail044.stderr
@@ -1,16 +1,16 @@
 
 tcfail044.hs:5:20:
-    Illegal instance declaration for `Eq (a -> a)'
+    Illegal instance declaration for ‛Eq (a -> a)’
       (All instance types must be of the form (T a1 ... an)
        where a1 ... an are *distinct type variables*,
        and each type variable appears at most once in the instance head.
        Use -XFlexibleInstances if you want to disable this.)
-    In the instance declaration for `Eq (a -> a)'
+    In the instance declaration for ‛Eq (a -> a)’
 
 tcfail044.hs:8:21:
-    Illegal instance declaration for `Num (a -> a)'
+    Illegal instance declaration for ‛Num (a -> a)’
       (All instance types must be of the form (T a1 ... an)
        where a1 ... an are *distinct type variables*,
        and each type variable appears at most once in the instance head.
        Use -XFlexibleInstances if you want to disable this.)
-    In the instance declaration for `Num (a -> a)'
+    In the instance declaration for ‛Num (a -> a)’
diff --git a/testsuite/tests/typecheck/should_fail/tcfail047.stderr b/testsuite/tests/typecheck/should_fail/tcfail047.stderr
index e99d9df755e7..5c96920f0e01 100644
--- a/testsuite/tests/typecheck/should_fail/tcfail047.stderr
+++ b/testsuite/tests/typecheck/should_fail/tcfail047.stderr
@@ -1,8 +1,8 @@
 
 tcfail047.hs:6:10:
-    Illegal instance declaration for `A (a, (b, c))'
+    Illegal instance declaration for ‛A (a, (b, c))’
       (All instance types must be of the form (T a1 ... an)
        where a1 ... an are *distinct type variables*,
        and each type variable appears at most once in the instance head.
        Use -XFlexibleInstances if you want to disable this.)
-    In the instance declaration for `A (a, (b, c))'
+    In the instance declaration for ‛A (a, (b, c))’
diff --git a/testsuite/tests/typecheck/should_fail/tcfail048.stderr b/testsuite/tests/typecheck/should_fail/tcfail048.stderr
index aa1330d46a15..29d205e27956 100644
--- a/testsuite/tests/typecheck/should_fail/tcfail048.stderr
+++ b/testsuite/tests/typecheck/should_fail/tcfail048.stderr
@@ -1,2 +1,2 @@
 
-tcfail048.hs:3:8: Not in scope: type constructor or class `B'
+tcfail048.hs:3:8: Not in scope: type constructor or class ‛B’
diff --git a/testsuite/tests/typecheck/should_fail/tcfail049.stderr b/testsuite/tests/typecheck/should_fail/tcfail049.stderr
index 750a65bc3c88..3a632e2425cb 100644
--- a/testsuite/tests/typecheck/should_fail/tcfail049.stderr
+++ b/testsuite/tests/typecheck/should_fail/tcfail049.stderr
@@ -1,2 +1,2 @@
 
-tcfail049.hs:3:7: Not in scope: `g'
+tcfail049.hs:3:7: Not in scope: ‛g’
diff --git a/testsuite/tests/typecheck/should_fail/tcfail050.stderr b/testsuite/tests/typecheck/should_fail/tcfail050.stderr
index 9115af93fbaf..5d7a917f53d6 100644
--- a/testsuite/tests/typecheck/should_fail/tcfail050.stderr
+++ b/testsuite/tests/typecheck/should_fail/tcfail050.stderr
@@ -1,2 +1,2 @@
 
-tcfail050.hs:3:7: Not in scope: data constructor `B'
+tcfail050.hs:3:7: Not in scope: data constructor ‛B’
diff --git a/testsuite/tests/typecheck/should_fail/tcfail051.stderr b/testsuite/tests/typecheck/should_fail/tcfail051.stderr
index 35a33d2aa201..f4b0c0c56398 100644
--- a/testsuite/tests/typecheck/should_fail/tcfail051.stderr
+++ b/testsuite/tests/typecheck/should_fail/tcfail051.stderr
@@ -1,2 +1,2 @@
-
-tcfail051.hs:3:10: Not in scope: type constructor or class `B'
+
+tcfail051.hs:3:10: Not in scope: type constructor or class ‛B’
diff --git a/testsuite/tests/typecheck/should_fail/tcfail052.stderr b/testsuite/tests/typecheck/should_fail/tcfail052.stderr
index 9ffa31c22723..2359b4433e93 100644
--- a/testsuite/tests/typecheck/should_fail/tcfail052.stderr
+++ b/testsuite/tests/typecheck/should_fail/tcfail052.stderr
@@ -1,2 +1,2 @@
 
-tcfail052.hs:3:16: Not in scope: type variable `c'
+tcfail052.hs:3:16: Not in scope: type variable ‛c’
diff --git a/testsuite/tests/typecheck/should_fail/tcfail053.stderr b/testsuite/tests/typecheck/should_fail/tcfail053.stderr
index 9889c3f0f607..c014f2f4f38f 100644
--- a/testsuite/tests/typecheck/should_fail/tcfail053.stderr
+++ b/testsuite/tests/typecheck/should_fail/tcfail053.stderr
@@ -1,2 +1,2 @@
 
-tcfail053.hs:3:12: Not in scope: type constructor or class `A'
+tcfail053.hs:3:12: Not in scope: type constructor or class ‛A’
diff --git a/testsuite/tests/typecheck/should_fail/tcfail054.stderr b/testsuite/tests/typecheck/should_fail/tcfail054.stderr
index 1a5cfca053fe..93b200983f36 100644
--- a/testsuite/tests/typecheck/should_fail/tcfail054.stderr
+++ b/testsuite/tests/typecheck/should_fail/tcfail054.stderr
@@ -1,2 +1,2 @@
 
-tcfail054.hs:3:4: Not in scope: data constructor `B'
+tcfail054.hs:3:4: Not in scope: data constructor ‛B’
diff --git a/testsuite/tests/typecheck/should_fail/tcfail055.stderr b/testsuite/tests/typecheck/should_fail/tcfail055.stderr
index ac012da98e72..c82e9af2aae4 100644
--- a/testsuite/tests/typecheck/should_fail/tcfail055.stderr
+++ b/testsuite/tests/typecheck/should_fail/tcfail055.stderr
@@ -1,5 +1,5 @@
 
 tcfail055.hs:3:8:
-    Couldn't match expected type `Float' with actual type `Int'
+    Couldn't match expected type ‛Float’ with actual type ‛Int’
     In the expression: (x + 1 :: Int) :: Float
-    In an equation for `f': f x = (x + 1 :: Int) :: Float
+    In an equation for ‛f’: f x = (x + 1 :: Int) :: Float
diff --git a/testsuite/tests/typecheck/should_fail/tcfail056.stderr b/testsuite/tests/typecheck/should_fail/tcfail056.stderr
index 09505ed9451a..60bba9745312 100644
--- a/testsuite/tests/typecheck/should_fail/tcfail056.stderr
+++ b/testsuite/tests/typecheck/should_fail/tcfail056.stderr
@@ -1,2 +1,2 @@
 
-tcfail056.hs:10:15: `<=' is not a (visible) method of class `Eq'
+tcfail056.hs:10:15: ‛<=’ is not a (visible) method of class ‛Eq’
diff --git a/testsuite/tests/typecheck/should_fail/tcfail057.stderr b/testsuite/tests/typecheck/should_fail/tcfail057.stderr
index 9399e914861c..5b19563bfcc8 100644
--- a/testsuite/tests/typecheck/should_fail/tcfail057.stderr
+++ b/testsuite/tests/typecheck/should_fail/tcfail057.stderr
@@ -1,4 +1,4 @@
 
 tcfail057.hs:5:7:
-    Expected a type, but `RealFrac a' has kind `Constraint'
-    In the type signature for `f': f :: (RealFrac a) -> a -> a
+    Expected a type, but ‛RealFrac a’ has kind ‛Constraint’
+    In the type signature for ‛f’: f :: (RealFrac a) -> a -> a
diff --git a/testsuite/tests/typecheck/should_fail/tcfail058.stderr b/testsuite/tests/typecheck/should_fail/tcfail058.stderr
index 880bef69e3d4..f5770a42ddf7 100644
--- a/testsuite/tests/typecheck/should_fail/tcfail058.stderr
+++ b/testsuite/tests/typecheck/should_fail/tcfail058.stderr
@@ -1,5 +1,5 @@
 
 tcfail058.hs:6:7:
-    Expecting one more argument to `Array a'
-    Expected a constraint, but `Array a' has kind `* -> *'
-    In the type signature for `f': f :: Array a => a -> b
+    Expecting one more argument to ‛Array a’
+    Expected a constraint, but ‛Array a’ has kind ‛* -> *’
+    In the type signature for ‛f’: f :: Array a => a -> b
diff --git a/testsuite/tests/typecheck/should_fail/tcfail061.stderr b/testsuite/tests/typecheck/should_fail/tcfail061.stderr
index a047863e9b2c..14ce5aec71eb 100644
--- a/testsuite/tests/typecheck/should_fail/tcfail061.stderr
+++ b/testsuite/tests/typecheck/should_fail/tcfail061.stderr
@@ -1,8 +1,8 @@
 
-tcfail061.hs:5:17: Not in scope: type variable `b'
+tcfail061.hs:5:17: Not in scope: type variable ‛b’
 
-tcfail061.hs:5:19: Not in scope: type variable `b'
+tcfail061.hs:5:19: Not in scope: type variable ‛b’
 
-tcfail061.hs:11:22: Not in scope: type variable `b'
+tcfail061.hs:11:22: Not in scope: type variable ‛b’
 
-tcfail061.hs:11:24: Not in scope: type variable `b'
+tcfail061.hs:11:24: Not in scope: type variable ‛b’
diff --git a/testsuite/tests/typecheck/should_fail/tcfail062.stderr b/testsuite/tests/typecheck/should_fail/tcfail062.stderr
index 9ee1bb75a94c..2111c7e0fa24 100644
--- a/testsuite/tests/typecheck/should_fail/tcfail062.stderr
+++ b/testsuite/tests/typecheck/should_fail/tcfail062.stderr
@@ -1,6 +1,6 @@
 
 tcfail062.hs:34:6:
-    Not in scope: type variable `behaviouralExpression'
+    Not in scope: type variable ‛behaviouralExpression’
 
 tcfail062.hs:34:29:
-    Not in scope: type variable `behaviouralExpression'
+    Not in scope: type variable ‛behaviouralExpression’
diff --git a/testsuite/tests/typecheck/should_fail/tcfail063.stderr b/testsuite/tests/typecheck/should_fail/tcfail063.stderr
index 35d4f406a744..046439672558 100644
--- a/testsuite/tests/typecheck/should_fail/tcfail063.stderr
+++ b/testsuite/tests/typecheck/should_fail/tcfail063.stderr
@@ -1,5 +1,5 @@
 
 tcfail063.hs:6:9:
-    Expecting one more argument to `Num'
-    Expected a constraint, but `Num' has kind `* -> Constraint'
-    In the type signature for `moby': moby :: Num => Int -> a -> Int
+    Expecting one more argument to ‛Num’
+    Expected a constraint, but ‛Num’ has kind ‛* -> Constraint’
+    In the type signature for ‛moby’: moby :: Num => Int -> a -> Int
diff --git a/testsuite/tests/typecheck/should_fail/tcfail065.stderr b/testsuite/tests/typecheck/should_fail/tcfail065.stderr
index c680e8264d4e..8599dfeb2adc 100644
--- a/testsuite/tests/typecheck/should_fail/tcfail065.stderr
+++ b/testsuite/tests/typecheck/should_fail/tcfail065.stderr
@@ -1,14 +1,14 @@
 
 tcfail065.hs:29:20:
-    Couldn't match expected type `x' with actual type `x1'
-      `x1' is a rigid type variable bound by
+    Couldn't match expected type ‛x’ with actual type ‛x1’
+      ‛x1’ is a rigid type variable bound by
            the type signature for setX :: x1 -> X x -> X x
            at tcfail065.hs:29:3
-      `x' is a rigid type variable bound by
+      ‛x’ is a rigid type variable bound by
           the instance declaration at tcfail065.hs:28:10
     Relevant bindings include
       setX :: x1 -> X x -> X x (bound at tcfail065.hs:29:3)
       x :: x1 (bound at tcfail065.hs:29:8)
-    In the first argument of `X', namely `x'
+    In the first argument of ‛X’, namely ‛x’
     In the expression: X x
-    In an equation for `setX': setX x (X _) = X x
+    In an equation for ‛setX’: setX x (X _) = X x
diff --git a/testsuite/tests/typecheck/should_fail/tcfail067.stderr b/testsuite/tests/typecheck/should_fail/tcfail067.stderr
index 9e47a0bebc2e..ebe87035d1cd 100644
--- a/testsuite/tests/typecheck/should_fail/tcfail067.stderr
+++ b/testsuite/tests/typecheck/should_fail/tcfail067.stderr
@@ -3,24 +3,24 @@ tcfail067.hs:1:14: Warning:
     -XDatatypeContexts is deprecated: It was widely considered a misfeature, and has been removed from the Haskell language.
 
 tcfail067.hs:12:16:
-    No instance for (Ord a) arising from a use of `SubRange'
+    No instance for (Ord a) arising from a use of ‛SubRange’
     Possible fix:
       add (Ord a) to the context of
         the type signature for subRangeValue :: SubRange a -> a
     In the pattern: SubRange (lower, upper) value
-    In an equation for `subRangeValue':
+    In an equation for ‛subRangeValue’:
         subRangeValue (SubRange (lower, upper) value) = value
 
 tcfail067.hs:15:11:
-    No instance for (Ord a) arising from a use of `SubRange'
+    No instance for (Ord a) arising from a use of ‛SubRange’
     Possible fix:
       add (Ord a) to the context of
         the type signature for subRange :: SubRange a -> (a, a)
     In the pattern: SubRange r value
-    In an equation for `subRange': subRange (SubRange r value) = r
+    In an equation for ‛subRange’: subRange (SubRange r value) = r
 
 tcfail067.hs:46:12:
-    Could not deduce (Ord a) arising from a use of `SubRange'
+    Could not deduce (Ord a) arising from a use of ‛SubRange’
     from the context (Show a)
       bound by the type signature for
                  showRange :: Show a => SubRange a -> String
@@ -29,35 +29,35 @@ tcfail067.hs:46:12:
       add (Ord a) to the context of
         the type signature for showRange :: Show a => SubRange a -> String
     In the pattern: SubRange (lower, upper) value
-    In an equation for `showRange':
+    In an equation for ‛showRange’:
         showRange (SubRange (lower, upper) value)
           = show value ++ " :" ++ show lower ++ ".." ++ show upper
 
 tcfail067.hs:61:12:
-    Could not deduce (Show a) arising from a use of `numSubRangeNegate'
+    Could not deduce (Show a) arising from a use of ‛numSubRangeNegate’
     from the context (Num a)
       bound by the instance declaration at tcfail067.hs:60:10-34
     Possible fix:
       add (Show a) to the context of the instance declaration
     In the expression: numSubRangeNegate
-    In an equation for `negate': negate = numSubRangeNegate
-    In the instance declaration for `Num (SubRange a)'
+    In an equation for ‛negate’: negate = numSubRangeNegate
+    In the instance declaration for ‛Num (SubRange a)’
 
 tcfail067.hs:65:19:
-    Could not deduce (Ord a) arising from a use of `SubRange'
+    Could not deduce (Ord a) arising from a use of ‛SubRange’
     from the context (Num a)
       bound by the instance declaration at tcfail067.hs:60:10-34
     Possible fix:
       add (Ord a) to the context of the instance declaration
     In the expression:
       SubRange (fromInteger a, fromInteger a) (fromInteger a)
-    In an equation for `fromInteger':
+    In an equation for ‛fromInteger’:
         fromInteger a
           = SubRange (fromInteger a, fromInteger a) (fromInteger a)
-    In the instance declaration for `Num (SubRange a)'
+    In the instance declaration for ‛Num (SubRange a)’
 
 tcfail067.hs:74:5:
-    Could not deduce (Ord a) arising from a use of `SubRange'
+    Could not deduce (Ord a) arising from a use of ‛SubRange’
     from the context (Num a)
       bound by the type signature for
                  numSubRangeBinOp :: Num a =>
@@ -69,7 +69,7 @@ tcfail067.hs:74:5:
           numSubRangeBinOp :: Num a =>
                               (a -> a -> a) -> SubRange a -> SubRange a -> SubRange a
     In the expression: SubRange (result, result) result
-    In an equation for `numSubRangeBinOp':
+    In an equation for ‛numSubRangeBinOp’:
         numSubRangeBinOp op a b
           = SubRange (result, result) result
           where
diff --git a/testsuite/tests/typecheck/should_fail/tcfail068.stderr b/testsuite/tests/typecheck/should_fail/tcfail068.stderr
index 687c8eaca768..4e889720e100 100644
--- a/testsuite/tests/typecheck/should_fail/tcfail068.stderr
+++ b/testsuite/tests/typecheck/should_fail/tcfail068.stderr
@@ -5,10 +5,10 @@ tcfail068.hs:14:9:
       bound by the type signature for
                  itgen :: Constructed a => (Int, Int) -> a -> IndTree s a
       at tcfail068.hs:11:10-55
-      `s1' is a rigid type variable bound by
+      ‛s1’ is a rigid type variable bound by
            a type expected by the context: GHC.ST.ST s1 (IndTree s a)
            at tcfail068.hs:13:9
-      `s' is a rigid type variable bound by
+      ‛s’ is a rigid type variable bound by
           the type signature for
             itgen :: Constructed a => (Int, Int) -> a -> IndTree s a
           at tcfail068.hs:11:10
@@ -17,9 +17,9 @@ tcfail068.hs:14:9:
     Relevant bindings include
       itgen :: (Int, Int) -> a -> IndTree s a
         (bound at tcfail068.hs:12:1)
-    In the return type of a call of `newSTArray'
-    In the first argument of `runST', namely
-      `(newSTArray ((1, 1), n) x)'
+    In the return type of a call of ‛newSTArray’
+    In the first argument of ‛runST’, namely
+      ‛(newSTArray ((1, 1), n) x)’
     In the expression: runST (newSTArray ((1, 1), n) x)
 
 tcfail068.hs:19:21:
@@ -29,12 +29,12 @@ tcfail068.hs:19:21:
                  itiap :: Constructed a =>
                           (Int, Int) -> (a -> a) -> IndTree s a -> IndTree s a
       at tcfail068.hs:16:10-75
-      `s' is a rigid type variable bound by
+      ‛s’ is a rigid type variable bound by
           the type signature for
             itiap :: Constructed a =>
                      (Int, Int) -> (a -> a) -> IndTree s a -> IndTree s a
           at tcfail068.hs:16:10
-      `s1' is a rigid type variable bound by
+      ‛s1’ is a rigid type variable bound by
            a type expected by the context: GHC.ST.ST s1 (IndTree s a)
            at tcfail068.hs:18:9
     Expected type: STArray s1 (Int, Int) a
@@ -43,11 +43,11 @@ tcfail068.hs:19:21:
       itiap :: (Int, Int) -> (a -> a) -> IndTree s a -> IndTree s a
         (bound at tcfail068.hs:17:1)
       arr :: IndTree s a (bound at tcfail068.hs:17:11)
-    In the first argument of `readSTArray', namely `arr'
-    In the first argument of `(>>=)', namely `readSTArray arr i'
-    In the first argument of `runST', namely
-      `(readSTArray arr i
-        >>= \ val -> writeSTArray arr i (f val) >> return arr)'
+    In the first argument of ‛readSTArray’, namely ‛arr’
+    In the first argument of ‛(>>=)’, namely ‛readSTArray arr i’
+    In the first argument of ‛runST’, namely
+      ‛(readSTArray arr i
+        >>= \ val -> writeSTArray arr i (f val) >> return arr)’
 
 tcfail068.hs:24:35:
     Could not deduce (s ~ s1)
@@ -56,12 +56,12 @@ tcfail068.hs:24:35:
                  itrap :: Constructed a =>
                           ((Int, Int), (Int, Int)) -> (a -> a) -> IndTree s a -> IndTree s a
       at tcfail068.hs:23:10-87
-      `s' is a rigid type variable bound by
+      ‛s’ is a rigid type variable bound by
           the type signature for
             itrap :: Constructed a =>
                      ((Int, Int), (Int, Int)) -> (a -> a) -> IndTree s a -> IndTree s a
           at tcfail068.hs:23:10
-      `s1' is a rigid type variable bound by
+      ‛s1’ is a rigid type variable bound by
            a type expected by the context: GHC.ST.ST s1 (IndTree s a)
            at tcfail068.hs:24:29
     Expected type: GHC.ST.ST s1 (IndTree s a)
@@ -75,8 +75,8 @@ tcfail068.hs:24:35:
         (bound at tcfail068.hs:29:9)
       itrap' :: Int -> Int -> GHC.ST.ST s (IndTree s a)
         (bound at tcfail068.hs:26:9)
-    In the return type of a call of itrap'
-    In the first argument of `runST', namely `(itrap' i k)'
+    In the return type of a call of ‛itrap'’
+    In the first argument of ‛runST’, namely ‛(itrap' i k)’
     In the expression: runST (itrap' i k)
 
 tcfail068.hs:36:46:
@@ -92,7 +92,7 @@ tcfail068.hs:36:46:
                                -> IndTree s b
                                -> (c, IndTree s b)
       at tcfail068.hs:(34,15)-(35,62)
-      `s' is a rigid type variable bound by
+      ‛s’ is a rigid type variable bound by
           the type signature for
             itrapstate :: Constructed b =>
                           ((Int, Int), (Int, Int))
@@ -103,7 +103,7 @@ tcfail068.hs:36:46:
                           -> IndTree s b
                           -> (c, IndTree s b)
           at tcfail068.hs:34:15
-      `s1' is a rigid type variable bound by
+      ‛s1’ is a rigid type variable bound by
            a type expected by the context: GHC.ST.ST s1 (c, IndTree s b)
            at tcfail068.hs:36:40
     Expected type: GHC.ST.ST s1 (c, IndTree s b)
@@ -122,6 +122,6 @@ tcfail068.hs:36:46:
         (bound at tcfail068.hs:41:9)
       itrapstate' :: Int -> Int -> c -> GHC.ST.ST s (c, IndTree s b)
         (bound at tcfail068.hs:38:9)
-    In the return type of a call of itrapstate'
-    In the first argument of `runST', namely `(itrapstate' i k s)'
+    In the return type of a call of ‛itrapstate'’
+    In the first argument of ‛runST’, namely ‛(itrapstate' i k s)’
     In the expression: runST (itrapstate' i k s)
diff --git a/testsuite/tests/typecheck/should_fail/tcfail069.stderr b/testsuite/tests/typecheck/should_fail/tcfail069.stderr
index 4c40526b5b2e..7c793c49ba32 100644
--- a/testsuite/tests/typecheck/should_fail/tcfail069.stderr
+++ b/testsuite/tests/typecheck/should_fail/tcfail069.stderr
@@ -1,7 +1,7 @@
 
 tcfail069.hs:21:7:
-    Couldn't match expected type `([Int], [Int])'
-                with actual type `[t0]'
+    Couldn't match expected type ‛([Int], [Int])’
+                with actual type ‛[t0]’
     In the pattern: []
     In a case alternative: [] -> error "foo"
     In the expression: case (list1, list2) of { [] -> error "foo" }
diff --git a/testsuite/tests/typecheck/should_fail/tcfail070.stderr b/testsuite/tests/typecheck/should_fail/tcfail070.stderr
index 76e9feb51594..bc0590aae8f4 100644
--- a/testsuite/tests/typecheck/should_fail/tcfail070.stderr
+++ b/testsuite/tests/typecheck/should_fail/tcfail070.stderr
@@ -1,5 +1,5 @@
-
-tcfail070.hs:15:15:
-    `[Int]' is applied to too many type arguments
-    In the type `[Int] Bool'
-    In the type declaration for `State'
+
+tcfail070.hs:15:15:
+    ‛[Int]’ is applied to too many type arguments
+    In the type ‛[Int] Bool’
+    In the type declaration for ‛State’
diff --git a/testsuite/tests/typecheck/should_fail/tcfail072.stderr b/testsuite/tests/typecheck/should_fail/tcfail072.stderr
index a71b0effda90..b533d3650920 100644
--- a/testsuite/tests/typecheck/should_fail/tcfail072.stderr
+++ b/testsuite/tests/typecheck/should_fail/tcfail072.stderr
@@ -1,16 +1,16 @@
-
-tcfail072.hs:23:13:
-    Could not deduce (Ord q0) arising from a use of `g'
-    from the context (Ord p, Ord q)
-      bound by the type signature for
-                 g :: (Ord p, Ord q) => AB p q -> Bool
-      at tcfail072.hs:22:6-38
-    The type variable `q0' is ambiguous
-    Note: there are several potential instances:
-      instance Integral a => Ord (GHC.Real.Ratio a)
-        -- Defined in `GHC.Real'
-      instance Ord () -- Defined in `GHC.Classes'
-      instance (Ord a, Ord b) => Ord (a, b) -- Defined in `GHC.Classes'
-      ...plus 22 others
-    In the expression: g A
-    In an equation for `g': g (B _ _) = g A
+
+tcfail072.hs:23:13:
+    Could not deduce (Ord q0) arising from a use of ‛g’
+    from the context (Ord p, Ord q)
+      bound by the type signature for
+                 g :: (Ord p, Ord q) => AB p q -> Bool
+      at tcfail072.hs:22:6-38
+    The type variable ‛q0’ is ambiguous
+    Note: there are several potential instances:
+      instance Integral a => Ord (GHC.Real.Ratio a)
+        -- Defined in ‛GHC.Real’
+      instance Ord () -- Defined in ‛GHC.Classes’
+      instance (Ord a, Ord b) => Ord (a, b) -- Defined in ‛GHC.Classes’
+      ...plus 22 others
+    In the expression: g A
+    In an equation for ‛g’: g (B _ _) = g A
diff --git a/testsuite/tests/typecheck/should_fail/tcfail073.stderr b/testsuite/tests/typecheck/should_fail/tcfail073.stderr
index 3ac8e21e0f9c..16bcdf4c0faa 100644
--- a/testsuite/tests/typecheck/should_fail/tcfail073.stderr
+++ b/testsuite/tests/typecheck/should_fail/tcfail073.stderr
@@ -2,4 +2,4 @@
 tcfail073.hs:8:10:
     Duplicate instance declarations:
       instance Eq a => Eq (a, b) -- Defined at tcfail073.hs:8:10
-      instance (Eq a, Eq b) => Eq (a, b) -- Defined in `GHC.Classes'
+      instance (Eq a, Eq b) => Eq (a, b) -- Defined in ‛GHC.Classes’
diff --git a/testsuite/tests/typecheck/should_fail/tcfail076.stderr b/testsuite/tests/typecheck/should_fail/tcfail076.stderr
index 5e8361aa66aa..c5bd8a5bc8af 100644
--- a/testsuite/tests/typecheck/should_fail/tcfail076.stderr
+++ b/testsuite/tests/typecheck/should_fail/tcfail076.stderr
@@ -1,10 +1,10 @@
 
 tcfail076.hs:18:82:
-    Couldn't match type `res' with `res1'
-      `res' is a rigid type variable bound by
+    Couldn't match type ‛res’ with ‛res1’
+      ‛res’ is a rigid type variable bound by
             a type expected by the context: (a -> m res) -> m res
             at tcfail076.hs:18:28
-      `res1' is a rigid type variable bound by
+      ‛res1’ is a rigid type variable bound by
              a type expected by the context: (b -> m res1) -> m res1
              at tcfail076.hs:18:64
     Expected type: m res1
@@ -12,6 +12,6 @@ tcfail076.hs:18:82:
     Relevant bindings include
       cont :: a -> m res (bound at tcfail076.hs:18:37)
       cont' :: b -> m res1 (bound at tcfail076.hs:18:73)
-    In the return type of a call of `cont'
+    In the return type of a call of ‛cont’
     In the expression: cont a
-    In the first argument of `KContT', namely `(\ cont' -> cont a)'
+    In the first argument of ‛KContT’, namely ‛(\ cont' -> cont a)’
diff --git a/testsuite/tests/typecheck/should_fail/tcfail077.stderr b/testsuite/tests/typecheck/should_fail/tcfail077.stderr
index 105604f66c8f..3f25950faf46 100644
--- a/testsuite/tests/typecheck/should_fail/tcfail077.stderr
+++ b/testsuite/tests/typecheck/should_fail/tcfail077.stderr
@@ -1,2 +1,2 @@
 
-tcfail077.hs:8:3: `op2' is not a (visible) method of class `Foo'
+tcfail077.hs:8:3: ‛op2’ is not a (visible) method of class ‛Foo’
diff --git a/testsuite/tests/typecheck/should_fail/tcfail078.stderr b/testsuite/tests/typecheck/should_fail/tcfail078.stderr
index 714e2807be16..b3fabd30b9c8 100644
--- a/testsuite/tests/typecheck/should_fail/tcfail078.stderr
+++ b/testsuite/tests/typecheck/should_fail/tcfail078.stderr
@@ -1,4 +1,4 @@
 
 tcfail078.hs:5:6:
-    `Integer' is applied to too many type arguments
-    In the type signature for `f': f :: Integer i => i
+    ‛Integer’ is applied to too many type arguments
+    In the type signature for ‛f’: f :: Integer i => i
diff --git a/testsuite/tests/typecheck/should_fail/tcfail079.stderr b/testsuite/tests/typecheck/should_fail/tcfail079.stderr
index a7b9b7cb3f5e..4cce1a69ba6b 100644
--- a/testsuite/tests/typecheck/should_fail/tcfail079.stderr
+++ b/testsuite/tests/typecheck/should_fail/tcfail079.stderr
@@ -1,6 +1,6 @@
 
 tcfail079.hs:9:27:
-    Expecting a lifted type, but `Int#' is unlifted
-    In the type `Int#'
-    In the definition of data constructor `Unboxed'
-    In the newtype declaration for `Unboxed'
+    Expecting a lifted type, but ‛Int#’ is unlifted
+    In the type ‛Int#’
+    In the definition of data constructor ‛Unboxed’
+    In the newtype declaration for ‛Unboxed’
diff --git a/testsuite/tests/typecheck/should_fail/tcfail080.stderr b/testsuite/tests/typecheck/should_fail/tcfail080.stderr
index 31ad5462131a..23afa16ba330 100644
--- a/testsuite/tests/typecheck/should_fail/tcfail080.stderr
+++ b/testsuite/tests/typecheck/should_fail/tcfail080.stderr
@@ -1,13 +1,13 @@
-
-tcfail080.hs:27:1:
-    Could not deduce (Collection c0 a)
-      arising from the ambiguity check for `q'
-    from the context (Collection c a)
-      bound by the inferred type for `q': Collection c a => a -> Bool
-      at tcfail080.hs:27:1-27
-    The type variable `c0' is ambiguous
-    When checking that `q'
-      has the inferred type `forall (c :: * -> *) a.
-                             Collection c a =>
-                             a -> Bool'
-    Probable cause: the inferred type is ambiguous
+
+tcfail080.hs:27:1:
+    Could not deduce (Collection c0 a)
+      arising from the ambiguity check for ‛q’
+    from the context (Collection c a)
+      bound by the inferred type for ‛q’: Collection c a => a -> Bool
+      at tcfail080.hs:27:1-27
+    The type variable ‛c0’ is ambiguous
+    When checking that ‛q’
+      has the inferred type ‛forall (c :: * -> *) a.
+                             Collection c a =>
+                             a -> Bool’
+    Probable cause: the inferred type is ambiguous
diff --git a/testsuite/tests/typecheck/should_fail/tcfail082.stderr b/testsuite/tests/typecheck/should_fail/tcfail082.stderr
index 4fd34e6022bc..b34c6d1ecaff 100644
--- a/testsuite/tests/typecheck/should_fail/tcfail082.stderr
+++ b/testsuite/tests/typecheck/should_fail/tcfail082.stderr
@@ -1,4 +1,4 @@
 
 tcfail082.hs:2:1:
-    Failed to load interface for `Data82'
+    Failed to load interface for ‛Data82’
     Use -v to see a list of the files searched for.
diff --git a/testsuite/tests/typecheck/should_fail/tcfail083.stderr b/testsuite/tests/typecheck/should_fail/tcfail083.stderr
index 07717e090bfd..dc4ce59e9c47 100644
--- a/testsuite/tests/typecheck/should_fail/tcfail083.stderr
+++ b/testsuite/tests/typecheck/should_fail/tcfail083.stderr
@@ -1,20 +1,20 @@
-
-tcfail083.hs:8:39:
-    Constructor `Bar' does not have field `baz'
-    In the pattern: Bar {flag = f, baz = b}
-    In the pattern: State {bar = Bar {flag = f, baz = b}}
-    In an equation for `display':
-        display (State {bar = Bar {flag = f, baz = b}}) = print (f, b)
-
-tcfail083.hs:8:53:
-    No instance for (Show t0) arising from a use of `print'
-    The type variable `t0' is ambiguous
-    Relevant bindings include b :: t0 (bound at tcfail083.hs:8:45)
-    Note: there are several potential instances:
-      instance Show Bar -- Defined at tcfail083.hs:3:43
-      instance Show Double -- Defined in `GHC.Float'
-      instance Show Float -- Defined in `GHC.Float'
-      ...plus 24 others
-    In the expression: print (f, b)
-    In an equation for `display':
-        display (State {bar = Bar {flag = f, baz = b}}) = print (f, b)
+
+tcfail083.hs:8:39:
+    Constructor ‛Bar’ does not have field ‛baz’
+    In the pattern: Bar {flag = f, baz = b}
+    In the pattern: State {bar = Bar {flag = f, baz = b}}
+    In an equation for ‛display’:
+        display (State {bar = Bar {flag = f, baz = b}}) = print (f, b)
+
+tcfail083.hs:8:53:
+    No instance for (Show t0) arising from a use of ‛print’
+    The type variable ‛t0’ is ambiguous
+    Relevant bindings include b :: t0 (bound at tcfail083.hs:8:45)
+    Note: there are several potential instances:
+      instance Show Bar -- Defined at tcfail083.hs:3:43
+      instance Show Double -- Defined in ‛GHC.Float’
+      instance Show Float -- Defined in ‛GHC.Float’
+      ...plus 24 others
+    In the expression: print (f, b)
+    In an equation for ‛display’:
+        display (State {bar = Bar {flag = f, baz = b}}) = print (f, b)
diff --git a/testsuite/tests/typecheck/should_fail/tcfail084.stderr b/testsuite/tests/typecheck/should_fail/tcfail084.stderr
index 1a7e8c3e28a6..cfa0ff4835e0 100644
--- a/testsuite/tests/typecheck/should_fail/tcfail084.stderr
+++ b/testsuite/tests/typecheck/should_fail/tcfail084.stderr
@@ -1,5 +1,5 @@
 
 tcfail084.hs:10:5:
-    Constructor `F' does not have field `y'
+    Constructor ‛F’ does not have field ‛y’
     In the expression: F {y = 2}
-    In an equation for `z': z = F {y = 2}
+    In an equation for ‛z’: z = F {y = 2}
diff --git a/testsuite/tests/typecheck/should_fail/tcfail085.stderr b/testsuite/tests/typecheck/should_fail/tcfail085.stderr
index c500e7a1800e..feb7c6daf31a 100644
--- a/testsuite/tests/typecheck/should_fail/tcfail085.stderr
+++ b/testsuite/tests/typecheck/should_fail/tcfail085.stderr
@@ -1,5 +1,5 @@
 
 tcfail085.hs:9:5:
-    Constructor `F' does not have the required strict field(s): y
+    Constructor ‛F’ does not have the required strict field(s): y
     In the expression: F {x = 2}
-    In an equation for `z': z = F {x = 2}
+    In an equation for ‛z’: z = F {x = 2}
diff --git a/testsuite/tests/typecheck/should_fail/tcfail086.stderr b/testsuite/tests/typecheck/should_fail/tcfail086.stderr
index 1aa420928d0b..ebf4d4e8e6e4 100644
--- a/testsuite/tests/typecheck/should_fail/tcfail086.stderr
+++ b/testsuite/tests/typecheck/should_fail/tcfail086.stderr
@@ -1,6 +1,6 @@
-
-tcfail086.hs:6:38:
-    Can't make a derived instance of `Eq Ex':
-      Constructor `Ex' must have a Haskell-98 type
-      Possible fix: use a standalone deriving declaration instead
-    In the data declaration for `Ex'
+
+tcfail086.hs:6:38:
+    Can't make a derived instance of ‛Eq Ex’:
+      Constructor ‛Ex’ must have a Haskell-98 type
+      Possible fix: use a standalone deriving declaration instead
+    In the data declaration for ‛Ex’
diff --git a/testsuite/tests/typecheck/should_fail/tcfail088.stderr b/testsuite/tests/typecheck/should_fail/tcfail088.stderr
index 1bf22ffaa83a..1c303d9a653d 100644
--- a/testsuite/tests/typecheck/should_fail/tcfail088.stderr
+++ b/testsuite/tests/typecheck/should_fail/tcfail088.stderr
@@ -1,4 +1,4 @@
 
 tcfail088.hs:9:19:
     Illegal polymorphic or qualified type: forall s. T s a
-    In the instance declaration for `Ord (forall s. T s a)'
+    In the instance declaration for ‛Ord (forall s. T s a)’
diff --git a/testsuite/tests/typecheck/should_fail/tcfail090.stderr b/testsuite/tests/typecheck/should_fail/tcfail090.stderr
index 3096b226c8aa..622e18140180 100644
--- a/testsuite/tests/typecheck/should_fail/tcfail090.stderr
+++ b/testsuite/tests/typecheck/should_fail/tcfail090.stderr
@@ -1,8 +1,8 @@
 
 tcfail090.hs:8:9:
-    Couldn't match kind `*' with `#'
+    Couldn't match kind ‛*’ with ‛#’
     When matching types
       a0 :: *
       ByteArray# :: #
     In the expression: undefined
-    In an equation for `die': die _ = undefined
+    In an equation for ‛die’: die _ = undefined
diff --git a/testsuite/tests/typecheck/should_fail/tcfail092.stderr b/testsuite/tests/typecheck/should_fail/tcfail092.stderr
index 2ba048bb2668..d1079d879e4d 100644
--- a/testsuite/tests/typecheck/should_fail/tcfail092.stderr
+++ b/testsuite/tests/typecheck/should_fail/tcfail092.stderr
@@ -1,3 +1,3 @@
 
 tcfail092.hs:7:27:
-    Duplicate binding in parallel list comprehension for: `a'
+    Duplicate binding in parallel list comprehension for: ‛a’
diff --git a/testsuite/tests/typecheck/should_fail/tcfail097.stderr b/testsuite/tests/typecheck/should_fail/tcfail097.stderr
index e7dadd4a6c50..7b2b3aed89c2 100644
--- a/testsuite/tests/typecheck/should_fail/tcfail097.stderr
+++ b/testsuite/tests/typecheck/should_fail/tcfail097.stderr
@@ -1,9 +1,9 @@
-
-tcfail097.hs:5:6:
-    Could not deduce (Eq a0) arising from the ambiguity check for `f'
-    from the context (Eq a)
-      bound by the type signature for f :: Eq a => Int -> Int
-      at tcfail097.hs:5:6-23
-    The type variable `a0' is ambiguous
-    In the ambiguity check for: forall a. Eq a => Int -> Int
-    In the type signature for `f': f :: Eq a => Int -> Int
+
+tcfail097.hs:5:6:
+    Could not deduce (Eq a0) arising from the ambiguity check for ‛f’
+    from the context (Eq a)
+      bound by the type signature for f :: Eq a => Int -> Int
+      at tcfail097.hs:5:6-23
+    The type variable ‛a0’ is ambiguous
+    In the ambiguity check for: forall a. Eq a => Int -> Int
+    In the type signature for ‛f’: f :: Eq a => Int -> Int
diff --git a/testsuite/tests/typecheck/should_fail/tcfail098.stderr b/testsuite/tests/typecheck/should_fail/tcfail098.stderr
index 8853e6932636..cfb7aaf9b4a5 100644
--- a/testsuite/tests/typecheck/should_fail/tcfail098.stderr
+++ b/testsuite/tests/typecheck/should_fail/tcfail098.stderr
@@ -1,10 +1,10 @@
-
-tcfail098.hs:12:10:
-    Could not deduce (Bar a0)
-      arising from the ambiguity check for an instance declaration
-    from the context (Bar a)
-      bound by an instance declaration: Bar a => Bar Bool
-      at tcfail098.hs:12:10-26
-    The type variable `a0' is ambiguous
-    In the ambiguity check for: forall a. Bar a => Bar Bool
-    In the instance declaration for `Bar Bool'
+
+tcfail098.hs:12:10:
+    Could not deduce (Bar a0)
+      arising from the ambiguity check for an instance declaration
+    from the context (Bar a)
+      bound by an instance declaration: Bar a => Bar Bool
+      at tcfail098.hs:12:10-26
+    The type variable ‛a0’ is ambiguous
+    In the ambiguity check for: forall a. Bar a => Bar Bool
+    In the instance declaration for ‛Bar Bool’
diff --git a/testsuite/tests/typecheck/should_fail/tcfail099.stderr b/testsuite/tests/typecheck/should_fail/tcfail099.stderr
index 45531250b3d2..f4b77b770a1e 100644
--- a/testsuite/tests/typecheck/should_fail/tcfail099.stderr
+++ b/testsuite/tests/typecheck/should_fail/tcfail099.stderr
@@ -1,16 +1,16 @@
 
 tcfail099.hs:9:20:
-    Couldn't match expected type `a' with actual type `t'
-      because type variable `a' would escape its scope
+    Couldn't match expected type ‛a’ with actual type ‛t’
+      because type variable ‛a’ would escape its scope
     This (rigid, skolem) type variable is bound by
       a pattern with constructor
         C :: forall a. (a -> Int) -> DS,
-      in an equation for `call'
+      in an equation for ‛call’
       at tcfail099.hs:9:7-9
     Relevant bindings include
       call :: DS -> t -> Int (bound at tcfail099.hs:9:1)
       f :: a -> Int (bound at tcfail099.hs:9:9)
       arg :: t (bound at tcfail099.hs:9:12)
-    In the first argument of `f', namely `arg'
+    In the first argument of ‛f’, namely ‛arg’
     In the expression: f arg
-    In an equation for `call': call (C f) arg = f arg
+    In an equation for ‛call’: call (C f) arg = f arg
diff --git a/testsuite/tests/typecheck/should_fail/tcfail100.stderr b/testsuite/tests/typecheck/should_fail/tcfail100.stderr
index 885c8220b936..1e780767012a 100644
--- a/testsuite/tests/typecheck/should_fail/tcfail100.stderr
+++ b/testsuite/tests/typecheck/should_fail/tcfail100.stderr
@@ -1,4 +1,4 @@
-
-tcfail100.hs:7:1:
-    Type synonym `A' should have 1 argument, but has been given none
-    In the type declaration for `B'
+
+tcfail100.hs:7:1:
+    Type synonym ‛A’ should have 1 argument, but has been given none
+    In the type declaration for ‛B’
diff --git a/testsuite/tests/typecheck/should_fail/tcfail101.stderr b/testsuite/tests/typecheck/should_fail/tcfail101.stderr
index 5cca6de0a3fc..f9b3f2f71f9c 100644
--- a/testsuite/tests/typecheck/should_fail/tcfail101.stderr
+++ b/testsuite/tests/typecheck/should_fail/tcfail101.stderr
@@ -1,4 +1,4 @@
 
 tcfail101.hs:9:6:
-    Type synonym `A' should have 1 argument, but has been given none
-    In the type signature for `f': f :: T A
+    Type synonym ‛A’ should have 1 argument, but has been given none
+    In the type signature for ‛f’: f :: T A
diff --git a/testsuite/tests/typecheck/should_fail/tcfail102.stderr b/testsuite/tests/typecheck/should_fail/tcfail102.stderr
index 516734b05d80..1009fb4ccae6 100644
--- a/testsuite/tests/typecheck/should_fail/tcfail102.stderr
+++ b/testsuite/tests/typecheck/should_fail/tcfail102.stderr
@@ -3,11 +3,11 @@ tcfail102.hs:1:14: Warning:
     -XDatatypeContexts is deprecated: It was widely considered a misfeature, and has been removed from the Haskell language.
 
 tcfail102.hs:9:15:
-    Could not deduce (Integral (Ratio a)) arising from a use of `p'
+    Could not deduce (Integral (Ratio a)) arising from a use of ‛p’
     from the context (Integral a)
       bound by the type signature for
                  f :: Integral a => P (Ratio a) -> P (Ratio a)
       at tcfail102.hs:8:6-45
-    In the `p' field of a record
+    In the ‛p’ field of a record
     In the expression: x {p = p x}
-    In an equation for `f': f x = x {p = p x}
+    In an equation for ‛f’: f x = x {p = p x}
diff --git a/testsuite/tests/typecheck/should_fail/tcfail103.stderr b/testsuite/tests/typecheck/should_fail/tcfail103.stderr
index ea873e637feb..ba581be12faf 100644
--- a/testsuite/tests/typecheck/should_fail/tcfail103.stderr
+++ b/testsuite/tests/typecheck/should_fail/tcfail103.stderr
@@ -1,9 +1,9 @@
 
 tcfail103.hs:15:23:
-    Couldn't match type `t' with `s'
-      `t' is a rigid type variable bound by
+    Couldn't match type ‛t’ with ‛s’
+      ‛t’ is a rigid type variable bound by
           the type signature for f :: ST t Int at tcfail103.hs:10:5
-      `s' is a rigid type variable bound by
+      ‛s’ is a rigid type variable bound by
           the type signature for g :: ST s Int at tcfail103.hs:13:14
     Expected type: STRef s Int
       Actual type: STRef t Int
@@ -11,6 +11,6 @@ tcfail103.hs:15:23:
       f :: ST t Int (bound at tcfail103.hs:11:1)
       v :: STRef t Int (bound at tcfail103.hs:12:5)
       g :: ST s Int (bound at tcfail103.hs:15:9)
-    In the first argument of `readSTRef', namely `v'
+    In the first argument of ‛readSTRef’, namely ‛v’
     In the expression: readSTRef v
-    In an equation for `g': g = readSTRef v
+    In an equation for ‛g’: g = readSTRef v
diff --git a/testsuite/tests/typecheck/should_fail/tcfail104.stderr b/testsuite/tests/typecheck/should_fail/tcfail104.stderr
index 5e6fc3bb1f46..a32e413f6bca 100644
--- a/testsuite/tests/typecheck/should_fail/tcfail104.stderr
+++ b/testsuite/tests/typecheck/should_fail/tcfail104.stderr
@@ -1,15 +1,15 @@
 
 tcfail104.hs:16:19:
-    Couldn't match expected type `Char -> Char'
-                with actual type `forall a. a -> a'
+    Couldn't match expected type ‛Char -> Char’
+                with actual type ‛forall a. a -> a’
     In the expression: x
     In the expression: (\ x -> x)
     In the expression:
       if v then (\ (x :: forall a. a -> a) -> x) else (\ x -> x)
 
 tcfail104.hs:22:39:
-    Couldn't match expected type `forall a. a -> a'
-                with actual type `a0 -> a0'
+    Couldn't match expected type ‛forall a. a -> a’
+                with actual type ‛a0 -> a0’
     In the expression: x
     In the expression: (\ (x :: forall a. a -> a) -> x)
     In the expression:
diff --git a/testsuite/tests/typecheck/should_fail/tcfail106.stderr b/testsuite/tests/typecheck/should_fail/tcfail106.stderr
index b08c7dfe892e..2eeaf7197970 100644
--- a/testsuite/tests/typecheck/should_fail/tcfail106.stderr
+++ b/testsuite/tests/typecheck/should_fail/tcfail106.stderr
@@ -2,4 +2,4 @@
 tcfail106.hs:14:10:
     No instance for (S Int)
       arising from the superclasses of an instance declaration
-    In the instance declaration for `D Int'
+    In the instance declaration for ‛D Int’
diff --git a/testsuite/tests/typecheck/should_fail/tcfail107.stderr b/testsuite/tests/typecheck/should_fail/tcfail107.stderr
index 92a89b754494..b658814776eb 100644
--- a/testsuite/tests/typecheck/should_fail/tcfail107.stderr
+++ b/testsuite/tests/typecheck/should_fail/tcfail107.stderr
@@ -1,5 +1,5 @@
 
 tcfail107.hs:13:9:
-    Type synonym `Const' should have 2 arguments, but has been given 1
-    In the type signature for `test':
+    Type synonym ‛Const’ should have 2 arguments, but has been given 1
+    In the type signature for ‛test’:
       test :: Thing (Const Int) -> Thing (Const Int)
diff --git a/testsuite/tests/typecheck/should_fail/tcfail108.stderr b/testsuite/tests/typecheck/should_fail/tcfail108.stderr
index 56c97c20ddb1..f3c24156316e 100644
--- a/testsuite/tests/typecheck/should_fail/tcfail108.stderr
+++ b/testsuite/tests/typecheck/should_fail/tcfail108.stderr
@@ -4,4 +4,4 @@ tcfail108.hs:7:10:
     (Use -XFlexibleContexts to permit this)
     In the context: (Eq (f (Rec f)))
     While checking an instance declaration
-    In the instance declaration for `Eq (Rec f)'
+    In the instance declaration for ‛Eq (Rec f)’
diff --git a/testsuite/tests/typecheck/should_fail/tcfail109.stderr b/testsuite/tests/typecheck/should_fail/tcfail109.stderr
index 54558154090a..4b5960718670 100644
--- a/testsuite/tests/typecheck/should_fail/tcfail109.stderr
+++ b/testsuite/tests/typecheck/should_fail/tcfail109.stderr
@@ -2,4 +2,4 @@
 tcfail109.hs:16:10:
     No instance for (Eq Stupid)
       arising from the superclasses of an instance declaration
-    In the instance declaration for `Collects Bool Stupid'
+    In the instance declaration for ‛Collects Bool Stupid’
diff --git a/testsuite/tests/typecheck/should_fail/tcfail110.stderr b/testsuite/tests/typecheck/should_fail/tcfail110.stderr
index 91ba52195d0b..840dc29deea3 100644
--- a/testsuite/tests/typecheck/should_fail/tcfail110.stderr
+++ b/testsuite/tests/typecheck/should_fail/tcfail110.stderr
@@ -1,6 +1,6 @@
 
 tcfail110.hs:8:30:
-    Expecting one more argument to `Foo a'
-    Expected a type, but `Foo a' has kind `* -> *'
-    In the type signature for `bar':
+    Expecting one more argument to ‛Foo a’
+    Expected a type, but ‛Foo a’ has kind ‛* -> *’
+    In the type signature for ‛bar’:
       bar :: String -> (forall a. Foo a) -> IO ()
diff --git a/testsuite/tests/typecheck/should_fail/tcfail112.stderr b/testsuite/tests/typecheck/should_fail/tcfail112.stderr
index 602c1e4b699d..70cd77bca3a2 100644
--- a/testsuite/tests/typecheck/should_fail/tcfail112.stderr
+++ b/testsuite/tests/typecheck/should_fail/tcfail112.stderr
@@ -1,15 +1,15 @@
 
 tcfail112.hs:11:6:
-    Constructor `S' does not have the required strict field(s): y
+    Constructor ‛S’ does not have the required strict field(s): y
     In the expression: S {}
-    In an equation for `s1': s1 = S {}
+    In an equation for ‛s1’: s1 = S {}
 
 tcfail112.hs:12:6:
-    Constructor `S' does not have the required strict field(s): y
+    Constructor ‛S’ does not have the required strict field(s): y
     In the expression: S {x = 3}
-    In an equation for `s2': s2 = S {x = 3}
+    In an equation for ‛s2’: s2 = S {x = 3}
 
 tcfail112.hs:14:6:
-    Constructor `T' does not have the required strict field(s)
+    Constructor ‛T’ does not have the required strict field(s)
     In the expression: T {}
-    In an equation for `t': t = T {}
+    In an equation for ‛t’: t = T {}
diff --git a/testsuite/tests/typecheck/should_fail/tcfail113.stderr b/testsuite/tests/typecheck/should_fail/tcfail113.stderr
index 2584b46bda44..f9314f5dcc38 100644
--- a/testsuite/tests/typecheck/should_fail/tcfail113.stderr
+++ b/testsuite/tests/typecheck/should_fail/tcfail113.stderr
@@ -1,14 +1,14 @@
 
 tcfail113.hs:12:7:
-    Expecting one more argument to `Maybe'
-    Expected kind `*', but `Maybe' has kind `* -> *'
-    In the type signature for `f': f :: [Maybe]
+    Expecting one more argument to ‛Maybe’
+    Expected kind ‛*’, but ‛Maybe’ has kind ‛* -> *’
+    In the type signature for ‛f’: f :: [Maybe]
 
 tcfail113.hs:15:8:
-    The first argument of `T' should have kind `* -> *',
-      but `Int' has kind `*'
-    In the type signature for `g': g :: T Int
+    The first argument of ‛T’ should have kind ‛* -> *’,
+      but ‛Int’ has kind ‛*’
+    In the type signature for ‛g’: g :: T Int
 
 tcfail113.hs:18:6:
-    `Int' is applied to too many type arguments
-    In the type signature for `h': h :: Int Int
+    ‛Int’ is applied to too many type arguments
+    In the type signature for ‛h’: h :: Int Int
diff --git a/testsuite/tests/typecheck/should_fail/tcfail114.stderr b/testsuite/tests/typecheck/should_fail/tcfail114.stderr
index 601feff85b6d..41c8a65cec06 100644
--- a/testsuite/tests/typecheck/should_fail/tcfail114.stderr
+++ b/testsuite/tests/typecheck/should_fail/tcfail114.stderr
@@ -1,5 +1,5 @@
 
 tcfail114.hs:11:20:
-    `foo' is not a record selector
+    ‛foo’ is not a record selector
     In the expression: undefined {foo = ()}
-    In an equation for `test': test = undefined {foo = ()}
+    In an equation for ‛test’: test = undefined {foo = ()}
diff --git a/testsuite/tests/typecheck/should_fail/tcfail116.stderr b/testsuite/tests/typecheck/should_fail/tcfail116.stderr
index 8e7372413a3d..d49438dd97ad 100644
--- a/testsuite/tests/typecheck/should_fail/tcfail116.stderr
+++ b/testsuite/tests/typecheck/should_fail/tcfail116.stderr
@@ -1,6 +1,6 @@
 
 tcfail116.hs:5:1:
-    The class method `bug'
+    The class method ‛bug’
     mentions none of the type variables of the class Foo a
     When checking the class method: bug :: ()
-    In the class declaration for `Foo'
+    In the class declaration for ‛Foo’
diff --git a/testsuite/tests/typecheck/should_fail/tcfail117.stderr b/testsuite/tests/typecheck/should_fail/tcfail117.stderr
index c7be9199c591..40a14e7f2028 100644
--- a/testsuite/tests/typecheck/should_fail/tcfail117.stderr
+++ b/testsuite/tests/typecheck/should_fail/tcfail117.stderr
@@ -1,13 +1,13 @@
-
-tcfail117.hs:5:32:
-    Can't make a derived instance of `Enum N1':
-      `N1' must be an enumeration type
-      (an enumeration consists of one or more nullary, non-GADT constructors)
-      Try -XGeneralizedNewtypeDeriving for GHC's newtype-deriving extension
-    In the newtype declaration for `N1'
-
-tcfail117.hs:6:32:
-    Can't make a derived instance of `Enum N2':
-      `N2' must be an enumeration type
-      (an enumeration consists of one or more nullary, non-GADT constructors)
-    In the data declaration for `N2'
+
+tcfail117.hs:5:32:
+    Can't make a derived instance of ‛Enum N1’:
+      ‛N1’ must be an enumeration type
+      (an enumeration consists of one or more nullary, non-GADT constructors)
+      Try -XGeneralizedNewtypeDeriving for GHC's newtype-deriving extension
+    In the newtype declaration for ‛N1’
+
+tcfail117.hs:6:32:
+    Can't make a derived instance of ‛Enum N2’:
+      ‛N2’ must be an enumeration type
+      (an enumeration consists of one or more nullary, non-GADT constructors)
+    In the data declaration for ‛N2’
diff --git a/testsuite/tests/typecheck/should_fail/tcfail119.stderr b/testsuite/tests/typecheck/should_fail/tcfail119.stderr
index 1984617b2b32..45a1bc7707c0 100644
--- a/testsuite/tests/typecheck/should_fail/tcfail119.stderr
+++ b/testsuite/tests/typecheck/should_fail/tcfail119.stderr
@@ -1,5 +1,5 @@
 
 tcfail119.hs:11:8:
-    Couldn't match expected type `Bool' with actual type `[Char]'
+    Couldn't match expected type ‛Bool’ with actual type ‛[Char]’
     In the pattern: "Foo"
-    In an equation for `b': b x "Foo" = ()
+    In an equation for ‛b’: b x "Foo" = ()
diff --git a/testsuite/tests/typecheck/should_fail/tcfail121.stderr b/testsuite/tests/typecheck/should_fail/tcfail121.stderr
index 700dbb861a48..7ac388aa1659 100644
--- a/testsuite/tests/typecheck/should_fail/tcfail121.stderr
+++ b/testsuite/tests/typecheck/should_fail/tcfail121.stderr
@@ -1,13 +1,12 @@
 
 tcfail121.hs:13:9:
-    Overlapping instances for Foo [a]
-      arising from a use of `op'
+    Overlapping instances for Foo [a] arising from a use of ‛op’
     Matching instances:
       instance [overlap ok] Foo a => Foo [a]
         -- Defined at tcfail121.hs:9:10
       instance [overlap ok] Foo [Int] -- Defined at tcfail121.hs:10:10
-    (The choice depends on the instantiation of `a'
+    (The choice depends on the instantiation of ‛a’
      To pick the first instance above, use -XIncoherentInstances
      when compiling the other instance declarations)
     In the expression: op x
-    In an equation for `foo': foo x = op x
+    In an equation for ‛foo’: foo x = op x
diff --git a/testsuite/tests/typecheck/should_fail/tcfail122.stderr b/testsuite/tests/typecheck/should_fail/tcfail122.stderr
index d0833211620d..ec0f6a33bd1f 100644
--- a/testsuite/tests/typecheck/should_fail/tcfail122.stderr
+++ b/testsuite/tests/typecheck/should_fail/tcfail122.stderr
@@ -1,6 +1,6 @@
 
 tcfail122.hs:8:9:
-    Couldn't match kind `* -> *' with `*'
+    Couldn't match kind ‛* -> *’ with ‛*’
     When matching types
       d0 :: * -> *
       b :: *
@@ -11,7 +11,7 @@ tcfail122.hs:8:9:
     In the expression:
       [undefined :: forall a b. a b,
        undefined :: forall (c :: (* -> *) -> *) (d :: * -> *). c d]
-    In an equation for `foo':
+    In an equation for ‛foo’:
         foo
           = [undefined :: forall a b. a b,
              undefined :: forall (c :: (* -> *) -> *) (d :: * -> *). c d]
diff --git a/testsuite/tests/typecheck/should_fail/tcfail123.stderr b/testsuite/tests/typecheck/should_fail/tcfail123.stderr
index 1ca291fd964a..2a70414aafeb 100644
--- a/testsuite/tests/typecheck/should_fail/tcfail123.stderr
+++ b/testsuite/tests/typecheck/should_fail/tcfail123.stderr
@@ -1,9 +1,9 @@
 
 tcfail123.hs:11:9:
-    Couldn't match kind `*' with `#'
+    Couldn't match kind ‛*’ with ‛#’
     When matching types
       t0 :: *
       GHC.Prim.Int# :: #
-    In the first argument of `f', namely `3#'
+    In the first argument of ‛f’, namely ‛3#’
     In the expression: f 3#
-    In an equation for `h': h v = f 3#
+    In an equation for ‛h’: h v = f 3#
diff --git a/testsuite/tests/typecheck/should_fail/tcfail125.stderr b/testsuite/tests/typecheck/should_fail/tcfail125.stderr
index addd093bff06..592698f7d43a 100644
--- a/testsuite/tests/typecheck/should_fail/tcfail125.stderr
+++ b/testsuite/tests/typecheck/should_fail/tcfail125.stderr
@@ -3,9 +3,9 @@ tcfail125.hs:1:14: Warning:
     -XDatatypeContexts is deprecated: It was widely considered a misfeature, and has been removed from the Haskell language.
 
 tcfail125.hs:11:4:
-    No instance for (Show a) arising from a use of `LiftObs'
+    No instance for (Show a) arising from a use of ‛LiftObs’
     Possible fix:
       add (Show a) to the context of
         the type signature for f :: Obs a -> String
     In the pattern: LiftObs _ _
-    In an equation for `f': f (LiftObs _ _) = "yes"
+    In an equation for ‛f’: f (LiftObs _ _) = "yes"
diff --git a/testsuite/tests/typecheck/should_fail/tcfail127.stderr b/testsuite/tests/typecheck/should_fail/tcfail127.stderr
index 021120314ffc..c7d41534aaee 100644
--- a/testsuite/tests/typecheck/should_fail/tcfail127.stderr
+++ b/testsuite/tests/typecheck/should_fail/tcfail127.stderr
@@ -2,4 +2,4 @@
 tcfail127.hs:3:8:
     Illegal polymorphic or qualified type: Num a => a -> a
     Perhaps you intended to use -XImpredicativeTypes
-    In the type signature for `foo': foo :: IO (Num a => a -> a)
+    In the type signature for ‛foo’: foo :: IO (Num a => a -> a)
diff --git a/testsuite/tests/typecheck/should_fail/tcfail128.stderr b/testsuite/tests/typecheck/should_fail/tcfail128.stderr
index 9a1564fb85eb..38ae102d9925 100644
--- a/testsuite/tests/typecheck/should_fail/tcfail128.stderr
+++ b/testsuite/tests/typecheck/should_fail/tcfail128.stderr
@@ -1,21 +1,21 @@
-
-tcfail128.hs:18:16:
-    No instance for (Data.Array.Base.MArray b0 FlatVector IO)
-      arising from a use of `thaw'
-    The type variable `b0' is ambiguous
-    Note: there is a potential instance available:
-      instance Data.Array.Base.MArray GHC.IOArray.IOArray e IO
-        -- Defined in `Data.Array.Base'
-    In a stmt of a 'do' block: v <- thaw tmp
-    In the expression:
-      do { let sL = ...
-               dim = length sL
-               ....;
-           v <- thaw tmp;
-           return () }
-    In an equation for `main':
-        main
-          = do { let sL = ...
-                     ....;
-                 v <- thaw tmp;
-                 return () }
+
+tcfail128.hs:18:16:
+    No instance for (Data.Array.Base.MArray b0 FlatVector IO)
+      arising from a use of ‛thaw’
+    The type variable ‛b0’ is ambiguous
+    Note: there is a potential instance available:
+      instance Data.Array.Base.MArray GHC.IOArray.IOArray e IO
+        -- Defined in ‛Data.Array.Base’
+    In a stmt of a 'do' block: v <- thaw tmp
+    In the expression:
+      do { let sL = ...
+               dim = length sL
+               ....;
+           v <- thaw tmp;
+           return () }
+    In an equation for ‛main’:
+        main
+          = do { let sL = ...
+                     ....;
+                 v <- thaw tmp;
+                 return () }
diff --git a/testsuite/tests/typecheck/should_fail/tcfail129.stderr b/testsuite/tests/typecheck/should_fail/tcfail129.stderr
index f6ee765ce411..0bffcbf76fdc 100644
--- a/testsuite/tests/typecheck/should_fail/tcfail129.stderr
+++ b/testsuite/tests/typecheck/should_fail/tcfail129.stderr
@@ -1,12 +1,12 @@
 
 tcfail129.hs:12:21:
-    Type synonym `Foo' should have 1 argument, but has been given none
+    Type synonym ‛Foo’ should have 1 argument, but has been given none
     In an expression type signature: Bar Foo
     In the expression: undefined :: Bar Foo
-    In an equation for `blah': blah = undefined :: Bar Foo
+    In an equation for ‛blah’: blah = undefined :: Bar Foo
 
 tcfail129.hs:17:22:
-    Type synonym `Foo1' should have 1 argument, but has been given none
+    Type synonym ‛Foo1’ should have 1 argument, but has been given none
     In an expression type signature: Bar1 Foo1
     In the expression: undefined :: Bar1 Foo1
-    In an equation for `blah1': blah1 = undefined :: Bar1 Foo1
+    In an equation for ‛blah1’: blah1 = undefined :: Bar1 Foo1
diff --git a/testsuite/tests/typecheck/should_fail/tcfail130.stderr b/testsuite/tests/typecheck/should_fail/tcfail130.stderr
index 3534dba67948..37f3614b5f74 100644
--- a/testsuite/tests/typecheck/should_fail/tcfail130.stderr
+++ b/testsuite/tests/typecheck/should_fail/tcfail130.stderr
@@ -1,6 +1,5 @@
 
 tcfail130.hs:10:7:
-    Unbound implicit parameter (?x::Int)
-      arising from a use of `woggle'
+    Unbound implicit parameter (?x::Int) arising from a use of ‛woggle’
     In the expression: woggle 3
-    In an equation for `foo': foo = woggle 3
+    In an equation for ‛foo’: foo = woggle 3
diff --git a/testsuite/tests/typecheck/should_fail/tcfail131.stderr b/testsuite/tests/typecheck/should_fail/tcfail131.stderr
index db2a954d57b0..7cdcb6f2f928 100644
--- a/testsuite/tests/typecheck/should_fail/tcfail131.stderr
+++ b/testsuite/tests/typecheck/should_fail/tcfail131.stderr
@@ -4,11 +4,11 @@ tcfail131.hs:7:9:
     from the context (Num b)
       bound by the type signature for g :: Num b => b -> b
       at tcfail131.hs:6:8-22
-      `b' is a rigid type variable bound by
+      ‛b’ is a rigid type variable bound by
           the type signature for g :: Num b => b -> b at tcfail131.hs:6:8
     Relevant bindings include
       g :: b -> b (bound at tcfail131.hs:7:3)
       x :: b (bound at tcfail131.hs:7:5)
-    In the return type of a call of `f'
+    In the return type of a call of ‛f’
     In the expression: f x x
-    In an equation for `g': g x = f x x
+    In an equation for ‛g’: g x = f x x
diff --git a/testsuite/tests/typecheck/should_fail/tcfail132.stderr b/testsuite/tests/typecheck/should_fail/tcfail132.stderr
index 91228b86b53e..8440cc89abbb 100644
--- a/testsuite/tests/typecheck/should_fail/tcfail132.stderr
+++ b/testsuite/tests/typecheck/should_fail/tcfail132.stderr
@@ -1,6 +1,6 @@
 
 tcfail132.hs:17:37:
-    The first argument of `T' should have kind `* -> * -> * -> *',
-      but `Object f' f t' has kind `* -> * -> *'
-    In the type `T (Object f' f t) (DUnit t)'
-    In the type declaration for `LiftObject'
+    The first argument of ‛T’ should have kind ‛* -> * -> * -> *’,
+      but ‛Object f' f t’ has kind ‛* -> * -> *’
+    In the type ‛T (Object f' f t) (DUnit t)’
+    In the type declaration for ‛LiftObject’
diff --git a/testsuite/tests/typecheck/should_fail/tcfail133.stderr b/testsuite/tests/typecheck/should_fail/tcfail133.stderr
index 4a7c564b3b6d..72eafd88d743 100644
--- a/testsuite/tests/typecheck/should_fail/tcfail133.stderr
+++ b/testsuite/tests/typecheck/should_fail/tcfail133.stderr
@@ -1,26 +1,26 @@
-
-tcfail133.hs:2:61: Warning:
-    -XDatatypeContexts is deprecated: It was widely considered a misfeature, and has been removed from the Haskell language.
-
-tcfail133.hs:68:7:
-    No instance for (Show s0) arising from a use of `show'
-    The type variable `s0' is ambiguous
-    Note: there are several potential instances:
-      instance Show Zero -- Defined at tcfail133.hs:8:29
-      instance Show One -- Defined at tcfail133.hs:9:28
-      instance (Show a, Show b, Number a, Digit b) => Show (a :@ b)
-        -- Defined at tcfail133.hs:11:54
-      ...plus 26 others
-    In the expression: show
-    In the expression: show $ add (One :@ Zero) (One :@ One)
-    In an equation for `foo':
-        foo = show $ add (One :@ Zero) (One :@ One)
-
-tcfail133.hs:68:14:
-    No instance for (AddDigit (Zero :@ (One :@ One)) One s0)
-      arising from a use of `add'
-    In the second argument of `($)', namely
-      `add (One :@ Zero) (One :@ One)'
-    In the expression: show $ add (One :@ Zero) (One :@ One)
-    In an equation for `foo':
-        foo = show $ add (One :@ Zero) (One :@ One)
+
+tcfail133.hs:2:61: Warning:
+    -XDatatypeContexts is deprecated: It was widely considered a misfeature, and has been removed from the Haskell language.
+
+tcfail133.hs:68:7:
+    No instance for (Show s0) arising from a use of ‛show’
+    The type variable ‛s0’ is ambiguous
+    Note: there are several potential instances:
+      instance Show Zero -- Defined at tcfail133.hs:8:29
+      instance Show One -- Defined at tcfail133.hs:9:28
+      instance (Show a, Show b, Number a, Digit b) => Show (a :@ b)
+        -- Defined at tcfail133.hs:11:54
+      ...plus 26 others
+    In the expression: show
+    In the expression: show $ add (One :@ Zero) (One :@ One)
+    In an equation for ‛foo’:
+        foo = show $ add (One :@ Zero) (One :@ One)
+
+tcfail133.hs:68:14:
+    No instance for (AddDigit (Zero :@ (One :@ One)) One s0)
+      arising from a use of ‛add’
+    In the second argument of ‛($)’, namely
+      ‛add (One :@ Zero) (One :@ One)’
+    In the expression: show $ add (One :@ Zero) (One :@ One)
+    In an equation for ‛foo’:
+        foo = show $ add (One :@ Zero) (One :@ One)
diff --git a/testsuite/tests/typecheck/should_fail/tcfail134.stderr b/testsuite/tests/typecheck/should_fail/tcfail134.stderr
index 721a2f331211..7ba962009227 100644
--- a/testsuite/tests/typecheck/should_fail/tcfail134.stderr
+++ b/testsuite/tests/typecheck/should_fail/tcfail134.stderr
@@ -1,6 +1,6 @@
 
 tcfail134.hs:5:33:
-    Expecting one more argument to `XML'
-    Expected a type, but `XML' has kind `* -> Constraint'
-    In the type `a -> XML'
-    In the class declaration for `XML'
+    Expecting one more argument to ‛XML’
+    Expected a type, but ‛XML’ has kind ‛* -> Constraint’
+    In the type ‛a -> XML’
+    In the class declaration for ‛XML’
diff --git a/testsuite/tests/typecheck/should_fail/tcfail135.stderr b/testsuite/tests/typecheck/should_fail/tcfail135.stderr
index 6e6379f63e51..33712e3a9867 100644
--- a/testsuite/tests/typecheck/should_fail/tcfail135.stderr
+++ b/testsuite/tests/typecheck/should_fail/tcfail135.stderr
@@ -1,6 +1,6 @@
 
 tcfail135.hs:6:23:
-    Expecting one more argument to `f'
-    Expected a type, but `f' has kind `k0 -> *'
-    In the type `f a -> f'
-    In the class declaration for `Foo'
+    Expecting one more argument to ‛f’
+    Expected a type, but ‛f’ has kind ‛k0 -> *’
+    In the type ‛f a -> f’
+    In the class declaration for ‛Foo’
diff --git a/testsuite/tests/typecheck/should_fail/tcfail136.stderr b/testsuite/tests/typecheck/should_fail/tcfail136.stderr
index 745aac23cf92..c2cb9d9cf81d 100644
--- a/testsuite/tests/typecheck/should_fail/tcfail136.stderr
+++ b/testsuite/tests/typecheck/should_fail/tcfail136.stderr
@@ -1,7 +1,7 @@
 
 tcfail136.hs:9:35:
-    Expecting one more argument to `SymDict'
-    Expected a type, but `SymDict' has kind `* -> *'
-    In the type `SymDict'
-    In the definition of data constructor `SymTable'
-    In the data declaration for `SymTable'
+    Expecting one more argument to ‛SymDict’
+    Expected a type, but ‛SymDict’ has kind ‛* -> *’
+    In the type ‛SymDict’
+    In the definition of data constructor ‛SymTable’
+    In the data declaration for ‛SymTable’
diff --git a/testsuite/tests/typecheck/should_fail/tcfail137.stderr b/testsuite/tests/typecheck/should_fail/tcfail137.stderr
index b84fff1dfaa3..05890e0b7d3d 100644
--- a/testsuite/tests/typecheck/should_fail/tcfail137.stderr
+++ b/testsuite/tests/typecheck/should_fail/tcfail137.stderr
@@ -3,6 +3,6 @@ tcfail137.hs:1:14: Warning:
     -XDatatypeContexts is deprecated: It was widely considered a misfeature, and has been removed from the Haskell language.
 
 tcfail137.hs:8:5:
-    No instance for (Floating Bool) arising from a use of `Test'
+    No instance for (Floating Bool) arising from a use of ‛Test’
     In the expression: Test [False, True]
-    In an equation for `x': x = Test [False, True]
+    In an equation for ‛x’: x = Test [False, True]
diff --git a/testsuite/tests/typecheck/should_fail/tcfail139.stderr b/testsuite/tests/typecheck/should_fail/tcfail139.stderr
index 91559a9f680f..bfdc89b4fddb 100644
--- a/testsuite/tests/typecheck/should_fail/tcfail139.stderr
+++ b/testsuite/tests/typecheck/should_fail/tcfail139.stderr
@@ -1,7 +1,7 @@
 
 tcfail139.hs:6:10:
-    Illegal instance declaration for `Bounded Foo'
-        (All instance types must be of the form (T t1 ... tn)
-         where T is not a synonym.
-         Use -XTypeSynonymInstances if you want to disable this.)
-    In the instance declaration for `Bounded Foo'
+    Illegal instance declaration for ‛Bounded Foo’
+      (All instance types must be of the form (T t1 ... tn)
+       where T is not a synonym.
+       Use -XTypeSynonymInstances if you want to disable this.)
+    In the instance declaration for ‛Bounded Foo’
diff --git a/testsuite/tests/typecheck/should_fail/tcfail140.stderr b/testsuite/tests/typecheck/should_fail/tcfail140.stderr
index 4315837a2e43..aff19cb16aba 100644
--- a/testsuite/tests/typecheck/should_fail/tcfail140.stderr
+++ b/testsuite/tests/typecheck/should_fail/tcfail140.stderr
@@ -1,38 +1,38 @@
 
 tcfail140.hs:10:7:
-    Couldn't match expected type `a0 -> t' with actual type `Int'
+    Couldn't match expected type ‛a0 -> t’ with actual type ‛Int’
     Relevant bindings include bar :: t (bound at tcfail140.hs:10:1)
-    The function `f' is applied to two arguments,
-    but its type `Int -> Int' has only one
+    The function ‛f’ is applied to two arguments,
+    but its type ‛Int -> Int’ has only one
     In the expression: f 3 9
-    In an equation for `bar': bar = f 3 9
+    In an equation for ‛bar’: bar = f 3 9
 
 tcfail140.hs:12:10:
-    Couldn't match expected type `a1 -> t1' with actual type `Int'
+    Couldn't match expected type ‛a1 -> t1’ with actual type ‛Int’
     Relevant bindings include
       rot :: t -> t1 (bound at tcfail140.hs:12:1)
-    The operator `f' takes two arguments,
-    but its type `Int -> Int' has only one
+    The operator ‛f’ takes two arguments,
+    but its type ‛Int -> Int’ has only one
     In the expression: 3 `f` 4
-    In an equation for `rot': rot xs = 3 `f` 4
+    In an equation for ‛rot’: rot xs = 3 `f` 4
 
 tcfail140.hs:14:15:
-    Couldn't match expected type `a -> b' with actual type `Int'
+    Couldn't match expected type ‛a -> b’ with actual type ‛Int’
     Relevant bindings include
       bot :: [a] -> [b] (bound at tcfail140.hs:14:1)
       xs :: [a] (bound at tcfail140.hs:14:5)
-    The operator `f' takes two arguments,
-    but its type `Int -> Int' has only one
-    In the first argument of `map', namely `(3 `f`)'
+    The operator ‛f’ takes two arguments,
+    but its type ‛Int -> Int’ has only one
+    In the first argument of ‛map’, namely ‛(3 `f`)’
     In the expression: map (3 `f`) xs
 
 tcfail140.hs:16:8:
-    Constructor `Just' should have 1 argument, but has been given none
+    Constructor ‛Just’ should have 1 argument, but has been given none
     In the pattern: Just
     In the expression: (\ Just x -> x) :: Maybe a -> a
     In the expression: ((\ Just x -> x) :: Maybe a -> a) (Just 1)
 
 tcfail140.hs:19:1:
-    Couldn't match expected type `t0 -> Bool' with actual type `Int'
-    The equation(s) for `g' have two arguments,
-    but its type `Int -> Int' has only one
+    Couldn't match expected type ‛t0 -> Bool’ with actual type ‛Int’
+    The equation(s) for ‛g’ have two arguments,
+    but its type ‛Int -> Int’ has only one
diff --git a/testsuite/tests/typecheck/should_fail/tcfail142.stderr b/testsuite/tests/typecheck/should_fail/tcfail142.stderr
index e0ec8f4ca17f..767598e2b71d 100644
--- a/testsuite/tests/typecheck/should_fail/tcfail142.stderr
+++ b/testsuite/tests/typecheck/should_fail/tcfail142.stderr
@@ -1,10 +1,10 @@
-
-tcfail142.hs:18:8:
-    Could not deduce (Bar a0 r)
-      arising from the ambiguity check for `bar'
-    from the context (Bar a r)
-      bound by the type signature for bar :: Bar a r => r -> ()
-      at tcfail142.hs:18:8-25
-    The type variable `a0' is ambiguous
-    In the ambiguity check for: forall r a. Bar a r => r -> ()
-    In the type signature for `bar': bar :: Bar a r => r -> ()
+
+tcfail142.hs:18:8:
+    Could not deduce (Bar a0 r)
+      arising from the ambiguity check for ‛bar’
+    from the context (Bar a r)
+      bound by the type signature for bar :: Bar a r => r -> ()
+      at tcfail142.hs:18:8-25
+    The type variable ‛a0’ is ambiguous
+    In the ambiguity check for: forall r a. Bar a r => r -> ()
+    In the type signature for ‛bar’: bar :: Bar a r => r -> ()
diff --git a/testsuite/tests/typecheck/should_fail/tcfail143.stderr b/testsuite/tests/typecheck/should_fail/tcfail143.stderr
index 846f8c025231..dadccbe78175 100644
--- a/testsuite/tests/typecheck/should_fail/tcfail143.stderr
+++ b/testsuite/tests/typecheck/should_fail/tcfail143.stderr
@@ -1,11 +1,11 @@
 
 tcfail143.hs:29:9:
-    Couldn't match type `S Z' with `Z'
+    Couldn't match type ‛S Z’ with ‛Z’
     When using functional dependencies to combine
       MinMax a Z Z a,
-        arising from the dependency `a b -> c d'
+        arising from the dependency ‛a b -> c d’
         in the instance declaration at tcfail143.hs:11:10
       MinMax (S Z) Z Z Z,
-        arising from a use of `extend' at tcfail143.hs:29:9-16
+        arising from a use of ‛extend’ at tcfail143.hs:29:9-16
     In the expression: n1 `extend` n0
-    In an equation for `t2': t2 = n1 `extend` n0
+    In an equation for ‛t2’: t2 = n1 `extend` n0
diff --git a/testsuite/tests/typecheck/should_fail/tcfail146.stderr b/testsuite/tests/typecheck/should_fail/tcfail146.stderr
index 5b835c1a37cc..b62824e8cb50 100644
--- a/testsuite/tests/typecheck/should_fail/tcfail146.stderr
+++ b/testsuite/tests/typecheck/should_fail/tcfail146.stderr
@@ -1,6 +1,6 @@
 
 tcfail146.hs:7:22:
-    Expected a type, but `SClass a' has kind `Constraint'
-    In the type `SClass a'
-    In the definition of data constructor `SCon'
-    In the data declaration for `SData'
+    Expected a type, but ‛SClass a’ has kind ‛Constraint’
+    In the type ‛SClass a’
+    In the definition of data constructor ‛SCon’
+    In the data declaration for ‛SData’
diff --git a/testsuite/tests/typecheck/should_fail/tcfail147.stderr b/testsuite/tests/typecheck/should_fail/tcfail147.stderr
index cda7223923a7..b7e75b06b2db 100644
--- a/testsuite/tests/typecheck/should_fail/tcfail147.stderr
+++ b/testsuite/tests/typecheck/should_fail/tcfail147.stderr
@@ -1,7 +1,7 @@
 
 tcfail147.hs:7:19:
-    Expecting one more argument to `XClass'
-    Expected a type, but `XClass' has kind `k0 -> Constraint'
-    In the type `XClass'
-    In the definition of data constructor `XCon'
-    In the data declaration for `XData'
+    Expecting one more argument to ‛XClass’
+    Expected a type, but ‛XClass’ has kind ‛k0 -> Constraint’
+    In the type ‛XClass’
+    In the definition of data constructor ‛XCon’
+    In the data declaration for ‛XData’
diff --git a/testsuite/tests/typecheck/should_fail/tcfail148.stderr b/testsuite/tests/typecheck/should_fail/tcfail148.stderr
index 22073f51c291..cfa81e5b0a73 100644
--- a/testsuite/tests/typecheck/should_fail/tcfail148.stderr
+++ b/testsuite/tests/typecheck/should_fail/tcfail148.stderr
@@ -1,7 +1,7 @@
-
-tcfail148.hs:5:28:
-    Expecting one more argument to `List'
-    Expected a type, but `List' has kind `* -> *'
-    In the type `List'
-    In the definition of data constructor `Cons'
-    In the data declaration for `List'
+
+tcfail148.hs:5:28:
+    Expecting one more argument to ‛List’
+    Expected a type, but ‛List’ has kind ‛* -> *’
+    In the type ‛List’
+    In the definition of data constructor ‛Cons’
+    In the data declaration for ‛List’
diff --git a/testsuite/tests/typecheck/should_fail/tcfail151.stderr b/testsuite/tests/typecheck/should_fail/tcfail151.stderr
index f1884f3d3219..d0dd7960b54c 100644
--- a/testsuite/tests/typecheck/should_fail/tcfail151.stderr
+++ b/testsuite/tests/typecheck/should_fail/tcfail151.stderr
@@ -1,8 +1,8 @@
-
-tcfail151.hs:1:14: Warning:
-    -XDatatypeContexts is deprecated: It was widely considered a misfeature, and has been removed from the Haskell language.
-
-tcfail151.hs:8:6:
-    Expecting one more argument to `Name a'
-    Expected a constraint, but `Name a' has kind `* -> Constraint'
-    In the data declaration for `Exp'
+
+tcfail151.hs:1:14: Warning:
+    -XDatatypeContexts is deprecated: It was widely considered a misfeature, and has been removed from the Haskell language.
+
+tcfail151.hs:8:6:
+    Expecting one more argument to ‛Name a’
+    Expected a constraint, but ‛Name a’ has kind ‛* -> Constraint’
+    In the data declaration for ‛Exp’
diff --git a/testsuite/tests/typecheck/should_fail/tcfail152.stderr b/testsuite/tests/typecheck/should_fail/tcfail152.stderr
index 24a872c9ee00..507587d072de 100644
--- a/testsuite/tests/typecheck/should_fail/tcfail152.stderr
+++ b/testsuite/tests/typecheck/should_fail/tcfail152.stderr
@@ -1,7 +1,7 @@
 
 tcfail152.hs:10:14:
-    No instance for (Integral a) arising from a use of `toInteger'
+    No instance for (Integral a) arising from a use of ‛toInteger’
     Possible fix:
-      add (Integral a) to the context of the data constructor `C'
+      add (Integral a) to the context of the data constructor ‛C’
     In the expression: toInteger x
-    In an equation for `test': test (C x) = toInteger x
+    In an equation for ‛test’: test (C x) = toInteger x
diff --git a/testsuite/tests/typecheck/should_fail/tcfail153.stderr b/testsuite/tests/typecheck/should_fail/tcfail153.stderr
index 2647156f8757..ba1da78d4e6e 100644
--- a/testsuite/tests/typecheck/should_fail/tcfail153.stderr
+++ b/testsuite/tests/typecheck/should_fail/tcfail153.stderr
@@ -1,16 +1,16 @@
 
 tcfail153.hs:6:7:
-    Couldn't match type `a' with `Bool'
-      `a' is a rigid type variable bound by
+    Couldn't match type ‛a’ with ‛Bool’
+      ‛a’ is a rigid type variable bound by
           the type signature for f :: a -> [a] at tcfail153.hs:5:6
     Expected type: [a]
       Actual type: [Bool]
     Relevant bindings include
       f :: a -> [a] (bound at tcfail153.hs:6:1)
       x :: a (bound at tcfail153.hs:6:3)
-    In the return type of a call of `g'
+    In the return type of a call of ‛g’
     In the expression: g x
-    In an equation for `f':
+    In an equation for ‛f’:
         f x
           = g x
           where
diff --git a/testsuite/tests/typecheck/should_fail/tcfail154.stderr b/testsuite/tests/typecheck/should_fail/tcfail154.stderr
index ca8a2978f17b..8977eacc74a7 100644
--- a/testsuite/tests/typecheck/should_fail/tcfail154.stderr
+++ b/testsuite/tests/typecheck/should_fail/tcfail154.stderr
@@ -1,6 +1,6 @@
-
-tcfail154.hs:12:10:
-    Variable `a' occurs more often than in the instance head
-      in the constraint: C a a
-    (Use -XUndecidableInstances to permit this)
-    In the instance declaration for `Eq (T a)'
+
+tcfail154.hs:12:10:
+    Variable ‛a’ occurs more often than in the instance head
+      in the constraint: C a a
+    (Use -XUndecidableInstances to permit this)
+    In the instance declaration for ‛Eq (T a)’
diff --git a/testsuite/tests/typecheck/should_fail/tcfail155.stderr b/testsuite/tests/typecheck/should_fail/tcfail155.stderr
index 1b5f1f3b0ea3..58426f415072 100644
--- a/testsuite/tests/typecheck/should_fail/tcfail155.stderr
+++ b/testsuite/tests/typecheck/should_fail/tcfail155.stderr
@@ -1,6 +1,6 @@
-
-tcfail155.hs:8:6:
-    Data constructor `P' returns type `L2'
-      instead of an instance of its parent type `T a'
-    In the definition of data constructor `P'
-    In the data declaration for `T'
+
+tcfail155.hs:8:6:
+    Data constructor ‛P’ returns type ‛L2’
+      instead of an instance of its parent type ‛T a’
+    In the definition of data constructor ‛P’
+    In the data declaration for ‛T’
diff --git a/testsuite/tests/typecheck/should_fail/tcfail156.stderr b/testsuite/tests/typecheck/should_fail/tcfail156.stderr
index d93549e13683..7e84020fb202 100644
--- a/testsuite/tests/typecheck/should_fail/tcfail156.stderr
+++ b/testsuite/tests/typecheck/should_fail/tcfail156.stderr
@@ -1,6 +1,6 @@
 
 tcfail156.hs:7:26:
     A newtype constructor cannot have an existential context,
-      but `Foo' does
-    In the definition of data constructor `Foo'
-    In the newtype declaration for `Foo'
+      but ‛Foo’ does
+    In the definition of data constructor ‛Foo’
+    In the newtype declaration for ‛Foo’
diff --git a/testsuite/tests/typecheck/should_fail/tcfail157.stderr b/testsuite/tests/typecheck/should_fail/tcfail157.stderr
index 304b76511a39..cfca878ed00d 100644
--- a/testsuite/tests/typecheck/should_fail/tcfail157.stderr
+++ b/testsuite/tests/typecheck/should_fail/tcfail157.stderr
@@ -1,12 +1,12 @@
-
-tcfail157.hs:27:10:
-    Variable `b' occurs more often than in the instance head
-      in the constraint: E m a b
-    (Use -XUndecidableInstances to permit this)
-    In the instance declaration for `Foo m (a -> ())'
-
-tcfail157.hs:27:10:
-    Variable `b' occurs more often than in the instance head
-      in the constraint: Foo m b
-    (Use -XUndecidableInstances to permit this)
-    In the instance declaration for `Foo m (a -> ())'
+
+tcfail157.hs:27:10:
+    Variable ‛b’ occurs more often than in the instance head
+      in the constraint: E m a b
+    (Use -XUndecidableInstances to permit this)
+    In the instance declaration for ‛Foo m (a -> ())’
+
+tcfail157.hs:27:10:
+    Variable ‛b’ occurs more often than in the instance head
+      in the constraint: Foo m b
+    (Use -XUndecidableInstances to permit this)
+    In the instance declaration for ‛Foo m (a -> ())’
diff --git a/testsuite/tests/typecheck/should_fail/tcfail158.stderr b/testsuite/tests/typecheck/should_fail/tcfail158.stderr
index 46385716fb91..47e05a5c775a 100644
--- a/testsuite/tests/typecheck/should_fail/tcfail158.stderr
+++ b/testsuite/tests/typecheck/should_fail/tcfail158.stderr
@@ -1,5 +1,5 @@
 
 tcfail158.hs:14:19:
-    Expecting one more argument to `Val v'
-    Expected a type, but `Val v' has kind `* -> *'
-    In the type signature for `bar': bar :: forall v. Val v
+    Expecting one more argument to ‛Val v’
+    Expected a type, but ‛Val v’ has kind ‛* -> *’
+    In the type signature for ‛bar’: bar :: forall v. Val v
diff --git a/testsuite/tests/typecheck/should_fail/tcfail159.stderr b/testsuite/tests/typecheck/should_fail/tcfail159.stderr
index 3576c7e24a39..3ff73d8c7280 100644
--- a/testsuite/tests/typecheck/should_fail/tcfail159.stderr
+++ b/testsuite/tests/typecheck/should_fail/tcfail159.stderr
@@ -1,6 +1,6 @@
 
 tcfail159.hs:9:11:
-    Couldn't match kind `*' with `#'
+    Couldn't match kind ‛*’ with ‛#’
     When matching types
       t0 :: *
       (# Int, Int #) :: #
diff --git a/testsuite/tests/typecheck/should_fail/tcfail160.stderr b/testsuite/tests/typecheck/should_fail/tcfail160.stderr
index 1be65a603828..4d3a01fe17d6 100644
--- a/testsuite/tests/typecheck/should_fail/tcfail160.stderr
+++ b/testsuite/tests/typecheck/should_fail/tcfail160.stderr
@@ -1,5 +1,5 @@
 
 tcfail160.hs:7:8:
-    The first argument of `T' should have kind `* -> *',
-      but `Int' has kind `*'
-    In the type signature for `g': g :: T Int
+    The first argument of ‛T’ should have kind ‛* -> *’,
+      but ‛Int’ has kind ‛*’
+    In the type signature for ‛g’: g :: T Int
diff --git a/testsuite/tests/typecheck/should_fail/tcfail161.stderr b/testsuite/tests/typecheck/should_fail/tcfail161.stderr
index 21d8c1b06084..79ca81dfaa6f 100644
--- a/testsuite/tests/typecheck/should_fail/tcfail161.stderr
+++ b/testsuite/tests/typecheck/should_fail/tcfail161.stderr
@@ -1,5 +1,5 @@
 
 tcfail161.hs:5:7:
-    Expecting one more argument to `Maybe'
-    Expected kind `*', but `Maybe' has kind `* -> *'
-    In the type signature for `f': f :: [Maybe]
+    Expecting one more argument to ‛Maybe’
+    Expected kind ‛*’, but ‛Maybe’ has kind ‛* -> *’
+    In the type signature for ‛f’: f :: [Maybe]
diff --git a/testsuite/tests/typecheck/should_fail/tcfail162.stderr b/testsuite/tests/typecheck/should_fail/tcfail162.stderr
index 2563233b7834..c14956e6b391 100644
--- a/testsuite/tests/typecheck/should_fail/tcfail162.stderr
+++ b/testsuite/tests/typecheck/should_fail/tcfail162.stderr
@@ -1,7 +1,7 @@
-
-tcfail162.hs:10:33:
-    Expecting one more argument to `ForeignPtr'
-    Expected a type, but `ForeignPtr' has kind `* -> *'
-    In the type `ForeignPtr'
-    In the definition of data constructor `Foo'
-    In the data declaration for `Foo'
+
+tcfail162.hs:10:33:
+    Expecting one more argument to ‛ForeignPtr’
+    Expected a type, but ‛ForeignPtr’ has kind ‛* -> *’
+    In the type ‛ForeignPtr’
+    In the definition of data constructor ‛Foo’
+    In the data declaration for ‛Foo’
diff --git a/testsuite/tests/typecheck/should_fail/tcfail164.stderr b/testsuite/tests/typecheck/should_fail/tcfail164.stderr
index 65f9c9f9ac74..4a3be9027bb0 100644
--- a/testsuite/tests/typecheck/should_fail/tcfail164.stderr
+++ b/testsuite/tests/typecheck/should_fail/tcfail164.stderr
@@ -4,12 +4,12 @@ tcfail164.hs:11:5:
       Specify the type by giving a type signature
       e.g. (tagToEnum# x) :: Bool
     In the expression: tagToEnum# 0#
-    In an equation for `f': f = tagToEnum# 0#
+    In an equation for ‛f’: f = tagToEnum# 0#
 
 tcfail164.hs:17:34:
     Bad call to tagToEnum# at type Int
       Result type must be an enumeration type
     In the expression: tagToEnum# value#
-    In an equation for `readUnboxable':
+    In an equation for ‛readUnboxable’:
         readUnboxable (I# value#) = tagToEnum# value#
-    In the instance declaration for `Unboxable Int'
+    In the instance declaration for ‛Unboxable Int’
diff --git a/testsuite/tests/typecheck/should_fail/tcfail165.stderr b/testsuite/tests/typecheck/should_fail/tcfail165.stderr
index 878a707120d3..09f359f834f3 100644
--- a/testsuite/tests/typecheck/should_fail/tcfail165.stderr
+++ b/testsuite/tests/typecheck/should_fail/tcfail165.stderr
@@ -1,11 +1,11 @@
 
 tcfail165.hs:15:23:
-    Couldn't match expected type `forall a. Show a => a -> String'
-                with actual type `b0 -> String'
-    In the second argument of `putMVar', namely
-      `(show :: forall b. Show b => b -> String)'
+    Couldn't match expected type ‛forall a. Show a => a -> String’
+                with actual type ‛b0 -> String’
+    In the second argument of ‛putMVar’, namely
+      ‛(show :: forall b. Show b => b -> String)’
     In a stmt of a 'do' block:
-        putMVar var (show :: forall b. Show b => b -> String)
+      putMVar var (show :: forall b. Show b => b -> String)
     In the expression:
       do { var <- newEmptyMVar ::
                     IO (MVar (forall a. Show a => a -> String));
diff --git a/testsuite/tests/typecheck/should_fail/tcfail167.stderr b/testsuite/tests/typecheck/should_fail/tcfail167.stderr
index f62f524ebda3..1613d4efadd2 100644
--- a/testsuite/tests/typecheck/should_fail/tcfail167.stderr
+++ b/testsuite/tests/typecheck/should_fail/tcfail167.stderr
@@ -1,9 +1,9 @@
 
 tcfail167.hs:14:14:
-    Couldn't match type `Char' with `Float'
+    Couldn't match type ‛Char’ with ‛Float’
     Inaccessible code in
       a pattern with constructor
         C2 :: T Float,
-      in an equation for `inaccessible'
+      in an equation for ‛inaccessible’
     In the pattern: C2
-    In an equation for `inaccessible': inaccessible C2 = ' '
+    In an equation for ‛inaccessible’: inaccessible C2 = ' '
diff --git a/testsuite/tests/typecheck/should_fail/tcfail168.stderr b/testsuite/tests/typecheck/should_fail/tcfail168.stderr
index a6a5064562b7..99cd5a129f70 100644
--- a/testsuite/tests/typecheck/should_fail/tcfail168.stderr
+++ b/testsuite/tests/typecheck/should_fail/tcfail168.stderr
@@ -1,7 +1,7 @@
 
 tcfail168.hs:7:11:
-    Couldn't match expected type `IO a0'
-                with actual type `Char -> IO ()'
+    Couldn't match expected type ‛IO a0’
+                with actual type ‛Char -> IO ()’
     In a stmt of a 'do' block: putChar
     In the expression:
       do { putChar;
@@ -9,7 +9,7 @@ tcfail168.hs:7:11:
            putChar 'a';
            putChar 'a';
            .... }
-    In an equation for `foo':
+    In an equation for ‛foo’:
         foo
           = do { putChar;
                  putChar 'a';
diff --git a/testsuite/tests/typecheck/should_fail/tcfail170.stderr b/testsuite/tests/typecheck/should_fail/tcfail170.stderr
index 914ab0cde032..7e8f0116ecf1 100644
--- a/testsuite/tests/typecheck/should_fail/tcfail170.stderr
+++ b/testsuite/tests/typecheck/should_fail/tcfail170.stderr
@@ -1,6 +1,6 @@
 
 tcfail170.hs:7:10:
-    Illegal instance declaration for `C [p] [q]'
-        (the Coverage Condition fails for one of the functional dependencies;
-         Use -XUndecidableInstances to permit this)
-    In the instance declaration for `C [p] [q]'
+    Illegal instance declaration for ‛C [p] [q]’
+      (the Coverage Condition fails for one of the functional dependencies;
+       Use -XUndecidableInstances to permit this)
+    In the instance declaration for ‛C [p] [q]’
diff --git a/testsuite/tests/typecheck/should_fail/tcfail171.stderr b/testsuite/tests/typecheck/should_fail/tcfail171.stderr
index 79ed5f80b7e4..e42b06ad08b9 100644
--- a/testsuite/tests/typecheck/should_fail/tcfail171.stderr
+++ b/testsuite/tests/typecheck/should_fail/tcfail171.stderr
@@ -1,8 +1,8 @@
 
 tcfail171.hs:9:10:
-    No instance for (PrintfArg a) arising from a use of `printf'
+    No instance for (PrintfArg a) arising from a use of ‛printf’
     Possible fix:
       add (PrintfArg a) to the context of
         the type signature for phex :: a -> b
     In the expression: printf "0x%x" x
-    In an equation for `phex': phex x = printf "0x%x" x
+    In an equation for ‛phex’: phex x = printf "0x%x" x
diff --git a/testsuite/tests/typecheck/should_fail/tcfail173.stderr b/testsuite/tests/typecheck/should_fail/tcfail173.stderr
index 4bda7d5c4ced..362f3ca288c3 100644
--- a/testsuite/tests/typecheck/should_fail/tcfail173.stderr
+++ b/testsuite/tests/typecheck/should_fail/tcfail173.stderr
@@ -1,4 +1,4 @@
 
 tcfail173.hs:5:12:
-    Illegal declaration of a type or class operator `<.>'
+    Illegal declaration of a type or class operator ‛<.>’
       Use -XTypeOperators to declare operators in type and declarations
diff --git a/testsuite/tests/typecheck/should_fail/tcfail174.stderr b/testsuite/tests/typecheck/should_fail/tcfail174.stderr
index d093e32385e9..56442b867f0f 100644
--- a/testsuite/tests/typecheck/should_fail/tcfail174.stderr
+++ b/testsuite/tests/typecheck/should_fail/tcfail174.stderr
@@ -1,7 +1,7 @@
 
 tcfail174.hs:9:10:
-    Couldn't match expected type `forall a. a -> a'
-                with actual type `a0 -> a0'
-    In the first argument of `Base', namely `id'
+    Couldn't match expected type ‛forall a. a -> a’
+                with actual type ‛a0 -> a0’
+    In the first argument of ‛Base’, namely ‛id’
     In the expression: Base id
-    In an equation for `g': g = Base id
+    In an equation for ‛g’: g = Base id
diff --git a/testsuite/tests/typecheck/should_fail/tcfail175.stderr b/testsuite/tests/typecheck/should_fail/tcfail175.stderr
index 65f4cb9e4d1c..6d0c103153d2 100644
--- a/testsuite/tests/typecheck/should_fail/tcfail175.stderr
+++ b/testsuite/tests/typecheck/should_fail/tcfail175.stderr
@@ -1,10 +1,10 @@
 
 tcfail175.hs:11:1:
-    Couldn't match expected type `String -> String -> String'
-                with actual type `a'
-      `a' is a rigid type variable bound by
+    Couldn't match expected type ‛String -> String -> String’
+                with actual type ‛a’
+      ‛a’ is a rigid type variable bound by
           the type signature for evalRHS :: Int -> a at tcfail175.hs:10:12
     Relevant bindings include
       evalRHS :: Int -> a (bound at tcfail175.hs:11:1)
-    The equation(s) for `evalRHS' have three arguments,
-    but its type `Int -> a' has only one
+    The equation(s) for ‛evalRHS’ have three arguments,
+    but its type ‛Int -> a’ has only one
diff --git a/testsuite/tests/typecheck/should_fail/tcfail176.stderr b/testsuite/tests/typecheck/should_fail/tcfail176.stderr
index f804b000cf3d..cb829b43afaa 100644
--- a/testsuite/tests/typecheck/should_fail/tcfail176.stderr
+++ b/testsuite/tests/typecheck/should_fail/tcfail176.stderr
@@ -1,6 +1,6 @@
 
 tcfail176.hs:7:21:
-    Data constructor `Bug' returns type `Maybe a'
-      instead of an instance of its parent type `Bug a'
-    In the definition of data constructor `Bug'
-    In the newtype declaration for `Bug'
+    Data constructor ‛Bug’ returns type ‛Maybe a’
+      instead of an instance of its parent type ‛Bug a’
+    In the definition of data constructor ‛Bug’
+    In the newtype declaration for ‛Bug’
diff --git a/testsuite/tests/typecheck/should_fail/tcfail177.stderr b/testsuite/tests/typecheck/should_fail/tcfail177.stderr
index dc622daafaa0..5ef31f8d340a 100644
--- a/testsuite/tests/typecheck/should_fail/tcfail177.stderr
+++ b/testsuite/tests/typecheck/should_fail/tcfail177.stderr
@@ -1,171 +1,171 @@
 
 tcfail177.hs:10:12:
-    Couldn't match expected type `Bool' with actual type `Int'
-    In the return type of a call of `foo'
+    Couldn't match expected type ‛Bool’ with actual type ‛Int’
+    In the return type of a call of ‛foo’
     In the expression:
       foo
         [a ~?= b, "Three" ~?= "3", "Four" ~?= "4", "Five" ~?= "5", ....]
-    In an equation for `allTests':
+    In an equation for ‛allTests’:
         allTests = foo [a ~?= b, "Three" ~?= "3", "Four" ~?= "4", ....]
 
 tcfail177.hs:20:13:
-    Couldn't match expected type `Bool' with actual type `[Char]'
+    Couldn't match expected type ‛Bool’ with actual type ‛[Char]’
     In the expression: "Two"
-    In the first argument of `foo', namely
-      `[a ~?= b, "Three" ~?= "3", "Four" ~?= "4", "Five" ~?= "5", ....]'
+    In the first argument of ‛foo’, namely
+      ‛[a ~?= b, "Three" ~?= "3", "Four" ~?= "4", "Five" ~?= "5", ....]’
     In the expression:
       foo
         [a ~?= b, "Three" ~?= "3", "Four" ~?= "4", "Five" ~?= "5", ....]
 
 tcfail177.hs:20:20:
-    Couldn't match expected type `Bool' with actual type `[Char]'
+    Couldn't match expected type ‛Bool’ with actual type ‛[Char]’
     In the expression: "Two"
-    In the first argument of `foo', namely
-      `[a ~?= b, "Three" ~?= "3", "Four" ~?= "4", "Five" ~?= "5", ....]'
+    In the first argument of ‛foo’, namely
+      ‛[a ~?= b, "Three" ~?= "3", "Four" ~?= "4", "Five" ~?= "5", ....]’
     In the expression:
       foo
         [a ~?= b, "Three" ~?= "3", "Four" ~?= "4", "Five" ~?= "5", ....]
 
 tcfail177.hs:20:27:
-    Couldn't match expected type `Bool' with actual type `[Char]'
+    Couldn't match expected type ‛Bool’ with actual type ‛[Char]’
     In the expression: "Two"
-    In the first argument of `foo', namely
-      `[a ~?= b, "Three" ~?= "3", "Four" ~?= "4", "Five" ~?= "5", ....]'
+    In the first argument of ‛foo’, namely
+      ‛[a ~?= b, "Three" ~?= "3", "Four" ~?= "4", "Five" ~?= "5", ....]’
     In the expression:
       foo
         [a ~?= b, "Three" ~?= "3", "Four" ~?= "4", "Five" ~?= "5", ....]
 
 tcfail177.hs:21:13:
-    Couldn't match expected type `Bool' with actual type `[Char]'
+    Couldn't match expected type ‛Bool’ with actual type ‛[Char]’
     In the expression: "Two"
-    In the first argument of `foo', namely
-      `[a ~?= b, "Three" ~?= "3", "Four" ~?= "4", "Five" ~?= "5", ....]'
+    In the first argument of ‛foo’, namely
+      ‛[a ~?= b, "Three" ~?= "3", "Four" ~?= "4", "Five" ~?= "5", ....]’
     In the expression:
       foo
         [a ~?= b, "Three" ~?= "3", "Four" ~?= "4", "Five" ~?= "5", ....]
 
 tcfail177.hs:21:20:
-    Couldn't match expected type `Bool' with actual type `[Char]'
+    Couldn't match expected type ‛Bool’ with actual type ‛[Char]’
     In the expression: "Two"
-    In the first argument of `foo', namely
-      `[a ~?= b, "Three" ~?= "3", "Four" ~?= "4", "Five" ~?= "5", ....]'
+    In the first argument of ‛foo’, namely
+      ‛[a ~?= b, "Three" ~?= "3", "Four" ~?= "4", "Five" ~?= "5", ....]’
     In the expression:
       foo
         [a ~?= b, "Three" ~?= "3", "Four" ~?= "4", "Five" ~?= "5", ....]
 
 tcfail177.hs:21:27:
-    Couldn't match expected type `Bool' with actual type `[Char]'
+    Couldn't match expected type ‛Bool’ with actual type ‛[Char]’
     In the expression: "Two"
-    In the first argument of `foo', namely
-      `[a ~?= b, "Three" ~?= "3", "Four" ~?= "4", "Five" ~?= "5", ....]'
+    In the first argument of ‛foo’, namely
+      ‛[a ~?= b, "Three" ~?= "3", "Four" ~?= "4", "Five" ~?= "5", ....]’
     In the expression:
       foo
         [a ~?= b, "Three" ~?= "3", "Four" ~?= "4", "Five" ~?= "5", ....]
 
 tcfail177.hs:22:13:
-    Couldn't match expected type `Bool' with actual type `[Char]'
+    Couldn't match expected type ‛Bool’ with actual type ‛[Char]’
     In the expression: "Two"
-    In the first argument of `foo', namely
-      `[a ~?= b, "Three" ~?= "3", "Four" ~?= "4", "Five" ~?= "5", ....]'
+    In the first argument of ‛foo’, namely
+      ‛[a ~?= b, "Three" ~?= "3", "Four" ~?= "4", "Five" ~?= "5", ....]’
     In the expression:
       foo
         [a ~?= b, "Three" ~?= "3", "Four" ~?= "4", "Five" ~?= "5", ....]
 
 tcfail177.hs:22:20:
-    Couldn't match expected type `Bool' with actual type `[Char]'
+    Couldn't match expected type ‛Bool’ with actual type ‛[Char]’
     In the expression: "Two"
-    In the first argument of `foo', namely
-      `[a ~?= b, "Three" ~?= "3", "Four" ~?= "4", "Five" ~?= "5", ....]'
+    In the first argument of ‛foo’, namely
+      ‛[a ~?= b, "Three" ~?= "3", "Four" ~?= "4", "Five" ~?= "5", ....]’
     In the expression:
       foo
         [a ~?= b, "Three" ~?= "3", "Four" ~?= "4", "Five" ~?= "5", ....]
 
 tcfail177.hs:22:27:
-    Couldn't match expected type `Bool' with actual type `[Char]'
+    Couldn't match expected type ‛Bool’ with actual type ‛[Char]’
     In the expression: "Two"
-    In the first argument of `foo', namely
-      `[a ~?= b, "Three" ~?= "3", "Four" ~?= "4", "Five" ~?= "5", ....]'
+    In the first argument of ‛foo’, namely
+      ‛[a ~?= b, "Three" ~?= "3", "Four" ~?= "4", "Five" ~?= "5", ....]’
     In the expression:
       foo
         [a ~?= b, "Three" ~?= "3", "Four" ~?= "4", "Five" ~?= "5", ....]
 
 tcfail177.hs:23:13:
-    Couldn't match expected type `Bool' with actual type `[Char]'
+    Couldn't match expected type ‛Bool’ with actual type ‛[Char]’
     In the expression: "Two"
-    In the first argument of `foo', namely
-      `[a ~?= b, "Three" ~?= "3", "Four" ~?= "4", "Five" ~?= "5", ....]'
+    In the first argument of ‛foo’, namely
+      ‛[a ~?= b, "Three" ~?= "3", "Four" ~?= "4", "Five" ~?= "5", ....]’
     In the expression:
       foo
         [a ~?= b, "Three" ~?= "3", "Four" ~?= "4", "Five" ~?= "5", ....]
 
 tcfail177.hs:23:20:
-    Couldn't match expected type `Bool' with actual type `[Char]'
+    Couldn't match expected type ‛Bool’ with actual type ‛[Char]’
     In the expression: "Two"
-    In the first argument of `foo', namely
-      `[a ~?= b, "Three" ~?= "3", "Four" ~?= "4", "Five" ~?= "5", ....]'
+    In the first argument of ‛foo’, namely
+      ‛[a ~?= b, "Three" ~?= "3", "Four" ~?= "4", "Five" ~?= "5", ....]’
     In the expression:
       foo
         [a ~?= b, "Three" ~?= "3", "Four" ~?= "4", "Five" ~?= "5", ....]
 
 tcfail177.hs:23:27:
-    Couldn't match expected type `Bool' with actual type `[Char]'
+    Couldn't match expected type ‛Bool’ with actual type ‛[Char]’
     In the expression: "Two"
-    In the first argument of `foo', namely
-      `[a ~?= b, "Three" ~?= "3", "Four" ~?= "4", "Five" ~?= "5", ....]'
+    In the first argument of ‛foo’, namely
+      ‛[a ~?= b, "Three" ~?= "3", "Four" ~?= "4", "Five" ~?= "5", ....]’
     In the expression:
       foo
         [a ~?= b, "Three" ~?= "3", "Four" ~?= "4", "Five" ~?= "5", ....]
 
 tcfail177.hs:24:13:
-    Couldn't match expected type `Bool' with actual type `[Char]'
+    Couldn't match expected type ‛Bool’ with actual type ‛[Char]’
     In the expression: "Two"
-    In the first argument of `foo', namely
-      `[a ~?= b, "Three" ~?= "3", "Four" ~?= "4", "Five" ~?= "5", ....]'
+    In the first argument of ‛foo’, namely
+      ‛[a ~?= b, "Three" ~?= "3", "Four" ~?= "4", "Five" ~?= "5", ....]’
     In the expression:
       foo
         [a ~?= b, "Three" ~?= "3", "Four" ~?= "4", "Five" ~?= "5", ....]
 
 tcfail177.hs:24:20:
-    Couldn't match expected type `Bool' with actual type `[Char]'
+    Couldn't match expected type ‛Bool’ with actual type ‛[Char]’
     In the expression: "Two"
-    In the first argument of `foo', namely
-      `[a ~?= b, "Three" ~?= "3", "Four" ~?= "4", "Five" ~?= "5", ....]'
+    In the first argument of ‛foo’, namely
+      ‛[a ~?= b, "Three" ~?= "3", "Four" ~?= "4", "Five" ~?= "5", ....]’
     In the expression:
       foo
         [a ~?= b, "Three" ~?= "3", "Four" ~?= "4", "Five" ~?= "5", ....]
 
 tcfail177.hs:24:27:
-    Couldn't match expected type `Bool' with actual type `[Char]'
+    Couldn't match expected type ‛Bool’ with actual type ‛[Char]’
     In the expression: "Two"
-    In the first argument of `foo', namely
-      `[a ~?= b, "Three" ~?= "3", "Four" ~?= "4", "Five" ~?= "5", ....]'
+    In the first argument of ‛foo’, namely
+      ‛[a ~?= b, "Three" ~?= "3", "Four" ~?= "4", "Five" ~?= "5", ....]’
     In the expression:
       foo
         [a ~?= b, "Three" ~?= "3", "Four" ~?= "4", "Five" ~?= "5", ....]
 
 tcfail177.hs:25:13:
-    Couldn't match expected type `Bool' with actual type `[Char]'
+    Couldn't match expected type ‛Bool’ with actual type ‛[Char]’
     In the expression: "Two"
-    In the first argument of `foo', namely
-      `[a ~?= b, "Three" ~?= "3", "Four" ~?= "4", "Five" ~?= "5", ....]'
+    In the first argument of ‛foo’, namely
+      ‛[a ~?= b, "Three" ~?= "3", "Four" ~?= "4", "Five" ~?= "5", ....]’
     In the expression:
       foo
         [a ~?= b, "Three" ~?= "3", "Four" ~?= "4", "Five" ~?= "5", ....]
 
 tcfail177.hs:25:20:
-    Couldn't match expected type `Bool' with actual type `[Char]'
+    Couldn't match expected type ‛Bool’ with actual type ‛[Char]’
     In the expression: "Two"
-    In the first argument of `foo', namely
-      `[a ~?= b, "Three" ~?= "3", "Four" ~?= "4", "Five" ~?= "5", ....]'
+    In the first argument of ‛foo’, namely
+      ‛[a ~?= b, "Three" ~?= "3", "Four" ~?= "4", "Five" ~?= "5", ....]’
     In the expression:
       foo
         [a ~?= b, "Three" ~?= "3", "Four" ~?= "4", "Five" ~?= "5", ....]
 
 tcfail177.hs:25:27:
-    Couldn't match expected type `Bool' with actual type `[Char]'
+    Couldn't match expected type ‛Bool’ with actual type ‛[Char]’
     In the expression: "Two"
-    In the first argument of `foo', namely
-      `[a ~?= b, "Three" ~?= "3", "Four" ~?= "4", "Five" ~?= "5", ....]'
+    In the first argument of ‛foo’, namely
+      ‛[a ~?= b, "Three" ~?= "3", "Four" ~?= "4", "Five" ~?= "5", ....]’
     In the expression:
       foo
         [a ~?= b, "Three" ~?= "3", "Four" ~?= "4", "Five" ~?= "5", ....]
diff --git a/testsuite/tests/typecheck/should_fail/tcfail178.stderr b/testsuite/tests/typecheck/should_fail/tcfail178.stderr
index b0b6360df780..fe0ffa71c6e3 100644
--- a/testsuite/tests/typecheck/should_fail/tcfail178.stderr
+++ b/testsuite/tests/typecheck/should_fail/tcfail178.stderr
@@ -1,16 +1,16 @@
 
 tcfail178.hs:15:7:
-    Couldn't match type `()' with `[a]'
+    Couldn't match type ‛()’ with ‛[a]’
     Expected type: Bool -> [a]
       Actual type: Bool -> ()
     Relevant bindings include c :: [a] (bound at tcfail178.hs:15:1)
-    In the first argument of `a', namely `y'
+    In the first argument of ‛a’, namely ‛y’
     In the expression: a y
-    In an equation for `c': c = a y
+    In an equation for ‛c’: c = a y
 
 tcfail178.hs:18:7:
-    Couldn't match expected type `Bool -> [a]' with actual type `()'
+    Couldn't match expected type ‛Bool -> [a]’ with actual type ‛()’
     Relevant bindings include d :: [a] (bound at tcfail178.hs:18:1)
-    In the first argument of `a', namely `()'
+    In the first argument of ‛a’, namely ‛()’
     In the expression: a ()
-    In an equation for `d': d = a ()
+    In an equation for ‛d’: d = a ()
diff --git a/testsuite/tests/typecheck/should_fail/tcfail179.stderr b/testsuite/tests/typecheck/should_fail/tcfail179.stderr
index ed0325acdce3..89cd80437159 100644
--- a/testsuite/tests/typecheck/should_fail/tcfail179.stderr
+++ b/testsuite/tests/typecheck/should_fail/tcfail179.stderr
@@ -1,18 +1,18 @@
 
 tcfail179.hs:14:39:
-    Couldn't match expected type `s' with actual type `x'
-      `x' is a rigid type variable bound by
+    Couldn't match expected type ‛s’ with actual type ‛x’
+      ‛x’ is a rigid type variable bound by
           a pattern with constructor
             T :: forall s x. (s -> (x -> s) -> (x, s, Int)) -> T s,
           in a case alternative
           at tcfail179.hs:14:14
-      `s' is a rigid type variable bound by
+      ‛s’ is a rigid type variable bound by
           the type signature for run :: T s -> Int at tcfail179.hs:12:8
     Relevant bindings include
       run :: T s -> Int (bound at tcfail179.hs:13:1)
       ts :: T s (bound at tcfail179.hs:13:5)
       g :: s -> (x -> s) -> (x, s, Int) (bound at tcfail179.hs:14:16)
       x :: x (bound at tcfail179.hs:14:26)
-    In the first argument of `g', namely `x'
+    In the first argument of ‛g’, namely ‛x’
     In the expression: g x id
     In a pattern binding: (x, _, b) = g x id
diff --git a/testsuite/tests/typecheck/should_fail/tcfail180.stderr b/testsuite/tests/typecheck/should_fail/tcfail180.stderr
index 96d76100eac0..8baeb4ed51c7 100644
--- a/testsuite/tests/typecheck/should_fail/tcfail180.stderr
+++ b/testsuite/tests/typecheck/should_fail/tcfail180.stderr
@@ -1,6 +1,6 @@
 
 tcfail180.hs:10:9:
-    Couldn't match expected type `f0 b0' with actual type `Bool'
+    Couldn't match expected type ‛f0 b0’ with actual type ‛Bool’
     In the pattern: True
     In a case alternative: True -> ()
     In the expression: case p of { True -> () }
diff --git a/testsuite/tests/typecheck/should_fail/tcfail181.stderr b/testsuite/tests/typecheck/should_fail/tcfail181.stderr
index d6e622cb306d..33b75ff75e66 100644
--- a/testsuite/tests/typecheck/should_fail/tcfail181.stderr
+++ b/testsuite/tests/typecheck/should_fail/tcfail181.stderr
@@ -1,15 +1,15 @@
-
-tcfail181.hs:17:9:
-    Could not deduce (Monad m0) arising from a use of `foo'
-    from the context (Monad m)
-      bound by the inferred type of
-               wog :: Monad m => t -> Something (m Bool) e
-      at tcfail181.hs:17:1-30
-    The type variable `m0' is ambiguous
-    Note: there are several potential instances:
-      instance Monad ((->) r) -- Defined in `GHC.Base'
-      instance Monad IO -- Defined in `GHC.Base'
-      instance Monad [] -- Defined in `GHC.Base'
-    In the expression: foo
-    In the expression: foo {bar = return True}
-    In an equation for `wog': wog x = foo {bar = return True}
+
+tcfail181.hs:17:9:
+    Could not deduce (Monad m0) arising from a use of ‛foo’
+    from the context (Monad m)
+      bound by the inferred type of
+               wog :: Monad m => t -> Something (m Bool) e
+      at tcfail181.hs:17:1-30
+    The type variable ‛m0’ is ambiguous
+    Note: there are several potential instances:
+      instance Monad ((->) r) -- Defined in ‛GHC.Base’
+      instance Monad IO -- Defined in ‛GHC.Base’
+      instance Monad [] -- Defined in ‛GHC.Base’
+    In the expression: foo
+    In the expression: foo {bar = return True}
+    In an equation for ‛wog’: wog x = foo {bar = return True}
diff --git a/testsuite/tests/typecheck/should_fail/tcfail182.stderr b/testsuite/tests/typecheck/should_fail/tcfail182.stderr
index e021987234ec..36768f674428 100644
--- a/testsuite/tests/typecheck/should_fail/tcfail182.stderr
+++ b/testsuite/tests/typecheck/should_fail/tcfail182.stderr
@@ -1,8 +1,8 @@
 
 tcfail182.hs:9:3:
-    Couldn't match expected type `Prelude.Maybe a'
-                with actual type `Maybe t0'
+    Couldn't match expected type ‛Prelude.Maybe a’
+                with actual type ‛Maybe t0’
     Relevant bindings include
       f :: Prelude.Maybe a -> Int (bound at tcfail182.hs:9:1)
     In the pattern: Foo
-    In an equation for `f': f Foo = 3
+    In an equation for ‛f’: f Foo = 3
diff --git a/testsuite/tests/typecheck/should_fail/tcfail184.stderr b/testsuite/tests/typecheck/should_fail/tcfail184.stderr
index 20920d822b39..cfb89422dc7f 100644
--- a/testsuite/tests/typecheck/should_fail/tcfail184.stderr
+++ b/testsuite/tests/typecheck/should_fail/tcfail184.stderr
@@ -1,7 +1,7 @@
-
-tcfail184.hs:8:19:
-    Illegal polymorphic or qualified type:
-      forall a. Ord a => [a] -> [a]
-    Perhaps you intended to use -XRankNTypes or -XRank2Types
-    In the definition of data constructor `MkSwizzle'
-    In the newtype declaration for `Swizzle'
+
+tcfail184.hs:8:19:
+    Illegal polymorphic or qualified type:
+      forall a. Ord a => [a] -> [a]
+    Perhaps you intended to use -XRankNTypes or -XRank2Types
+    In the definition of data constructor ‛MkSwizzle’
+    In the newtype declaration for ‛Swizzle’
diff --git a/testsuite/tests/typecheck/should_fail/tcfail185.stderr b/testsuite/tests/typecheck/should_fail/tcfail185.stderr
index 1e4c8d718f05..f46211e4fa4f 100644
--- a/testsuite/tests/typecheck/should_fail/tcfail185.stderr
+++ b/testsuite/tests/typecheck/should_fail/tcfail185.stderr
@@ -1,17 +1,17 @@
 
 tcfail185.hs:7:46:
-    Couldn't match expected type `Int -> Int' with actual type `Bool'
+    Couldn't match expected type ‛Int -> Int’ with actual type ‛Bool’
     In the expression: x
     In the expression:
-        let
-          y1 = y
-          y2 = y1
-          y3 = y2
-          ....
-        in x
+      let
+        y1 = y
+        y2 = y1
+        y3 = y2
+        ....
+      in x
     In the expression:
-        \ x y
-            -> let
-                 y1 = ...
-                 ....
-               in x
+      \ x y
+        -> let
+             y1 = ...
+             ....
+           in x
diff --git a/testsuite/tests/typecheck/should_fail/tcfail186.stderr b/testsuite/tests/typecheck/should_fail/tcfail186.stderr
index b22e672ae637..f9ced11d3617 100644
--- a/testsuite/tests/typecheck/should_fail/tcfail186.stderr
+++ b/testsuite/tests/typecheck/should_fail/tcfail186.stderr
@@ -1,8 +1,8 @@
 
 tcfail186.hs:7:9:
-    Couldn't match type `[Char]' with `Int'
+    Couldn't match type ‛[Char]’ with ‛Int’
     Expected type: PhantomSyn a0
       Actual type: [Char]
-    In the first argument of `f', namely `"hoo"'
+    In the first argument of ‛f’, namely ‛"hoo"’
     In the expression: f "hoo"
-    In an equation for `foo': foo = f "hoo"
+    In an equation for ‛foo’: foo = f "hoo"
diff --git a/testsuite/tests/typecheck/should_fail/tcfail187.stderr b/testsuite/tests/typecheck/should_fail/tcfail187.stderr
index 07a741d02541..10a9115ff574 100644
--- a/testsuite/tests/typecheck/should_fail/tcfail187.stderr
+++ b/testsuite/tests/typecheck/should_fail/tcfail187.stderr
@@ -1,5 +1,5 @@
 
 tcfail187.hs:7:6:
-    Constructor `:::' should have no arguments, but has been given 2
+    Constructor ‛:::’ should have no arguments, but has been given 2
     In the pattern: x ::: y
-    In an equation for `foo': foo (x ::: y) = ()
+    In an equation for ‛foo’: foo (x ::: y) = ()
diff --git a/testsuite/tests/typecheck/should_fail/tcfail189.stderr b/testsuite/tests/typecheck/should_fail/tcfail189.stderr
index 6364cc2d5bdc..a7105907a720 100644
--- a/testsuite/tests/typecheck/should_fail/tcfail189.stderr
+++ b/testsuite/tests/typecheck/should_fail/tcfail189.stderr
@@ -1,9 +1,9 @@
 
 tcfail189.hs:10:31:
-    Couldn't match type `[a0]' with `a -> a1'
+    Couldn't match type ‛[a0]’ with ‛a -> a1’
     Expected type: (a -> a1) -> [a] -> [[a]]
       Actual type: [a0] -> [a0]
-    In the return type of a call of `take'
-    Probable cause: `take' is applied to too many arguments
+    In the return type of a call of ‛take’
+    Probable cause: ‛take’ is applied to too many arguments
     In the expression: take 2
     In a stmt of a list comprehension: then group by x using take 2
diff --git a/testsuite/tests/typecheck/should_fail/tcfail190.stderr b/testsuite/tests/typecheck/should_fail/tcfail190.stderr
index db2d842f5834..df56a79a73f2 100644
--- a/testsuite/tests/typecheck/should_fail/tcfail190.stderr
+++ b/testsuite/tests/typecheck/should_fail/tcfail190.stderr
@@ -1,6 +1,6 @@
 
 tcfail190.hs:14:31:
-    No instance for (Ord Unorderable) arising from a use of `groupWith'
+    No instance for (Ord Unorderable) arising from a use of ‛groupWith’
     In the expression: groupWith
     In a stmt of a list comprehension: then group by x using groupWith
     In the expression:
diff --git a/testsuite/tests/typecheck/should_fail/tcfail191.stderr b/testsuite/tests/typecheck/should_fail/tcfail191.stderr
index a276a04eaeba..b84f6f770106 100644
--- a/testsuite/tests/typecheck/should_fail/tcfail191.stderr
+++ b/testsuite/tests/typecheck/should_fail/tcfail191.stderr
@@ -1,10 +1,10 @@
 
 tcfail191.hs:11:26:
-    Couldn't match type `a' with `[a]'
-      `a' is a rigid type variable bound by
+    Couldn't match type ‛a’ with ‛[a]’
+      ‛a’ is a rigid type variable bound by
           a type expected by the context: [a] -> [[a]] at tcfail191.hs:11:9
     Expected type: [a] -> [[a]]
       Actual type: [a] -> [a]
-    In the return type of a call of `take'
+    In the return type of a call of ‛take’
     In the expression: take 5
     In a stmt of a list comprehension: then group using take 5
diff --git a/testsuite/tests/typecheck/should_fail/tcfail192.stderr b/testsuite/tests/typecheck/should_fail/tcfail192.stderr
index caf7ef140171..0fcced9cc345 100644
--- a/testsuite/tests/typecheck/should_fail/tcfail192.stderr
+++ b/testsuite/tests/typecheck/should_fail/tcfail192.stderr
@@ -1,10 +1,10 @@
 
 tcfail192.hs:10:26:
-    Couldn't match type `a' with `[a]'
-      `a' is a rigid type variable bound by
+    Couldn't match type ‛a’ with ‛[a]’
+      ‛a’ is a rigid type variable bound by
           a type expected by the context: [a] -> [[a]] at tcfail192.hs:10:9
     Expected type: [a] -> [[a]]
       Actual type: [a] -> [a]
-    In the return type of a call of `take'
+    In the return type of a call of ‛take’
     In the expression: take 5
     In a stmt of a list comprehension: then group using take 5
diff --git a/testsuite/tests/typecheck/should_fail/tcfail193.stderr b/testsuite/tests/typecheck/should_fail/tcfail193.stderr
index 47375e84011a..9c9e94b1505d 100644
--- a/testsuite/tests/typecheck/should_fail/tcfail193.stderr
+++ b/testsuite/tests/typecheck/should_fail/tcfail193.stderr
@@ -1,7 +1,7 @@
 
 tcfail193.hs:10:31:
-    Couldn't match type `a' with `[a]'
-      `a' is a rigid type variable bound by
+    Couldn't match type ‛a’ with ‛[a]’
+      ‛a’ is a rigid type variable bound by
           a type expected by the context: [a] -> [a] at tcfail193.hs:10:26
     Expected type: [a] -> [a]
       Actual type: [a] -> [[a]]
diff --git a/testsuite/tests/typecheck/should_fail/tcfail194.stderr b/testsuite/tests/typecheck/should_fail/tcfail194.stderr
index 7190a884ca45..9140c16427c0 100644
--- a/testsuite/tests/typecheck/should_fail/tcfail194.stderr
+++ b/testsuite/tests/typecheck/should_fail/tcfail194.stderr
@@ -1,10 +1,10 @@
 
 tcfail194.hs:9:29:
-    Couldn't match type `[a0]' with `a -> t'
+    Couldn't match type ‛[a0]’ with ‛a -> t’
     Expected type: (a -> t) -> [a] -> [a]
       Actual type: [a0] -> [a0]
     Relevant bindings include z :: [t] (bound at tcfail194.hs:9:1)
-    In the return type of a call of `take'
-    Probable cause: `take' is applied to too many arguments
+    In the return type of a call of ‛take’
+    Probable cause: ‛take’ is applied to too many arguments
     In the expression: take 5
     In a stmt of a list comprehension: then take 5 by x
diff --git a/testsuite/tests/typecheck/should_fail/tcfail195.stderr b/testsuite/tests/typecheck/should_fail/tcfail195.stderr
index d690ebac822c..4800e75642c2 100644
--- a/testsuite/tests/typecheck/should_fail/tcfail195.stderr
+++ b/testsuite/tests/typecheck/should_fail/tcfail195.stderr
@@ -1,5 +1,5 @@
-
-tcfail195.hs:6:3:
-    Illegal polymorphic or qualified type: forall a. a
-    In the definition of data constructor `Foo'
-    In the data declaration for `Foo'
+
+tcfail195.hs:6:3:
+    Illegal polymorphic or qualified type: forall a. a
+    In the definition of data constructor ‛Foo’
+    In the data declaration for ‛Foo’
diff --git a/testsuite/tests/typecheck/should_fail/tcfail196.stderr b/testsuite/tests/typecheck/should_fail/tcfail196.stderr
index ea6f16fd9892..ffedbdf1b9ba 100644
--- a/testsuite/tests/typecheck/should_fail/tcfail196.stderr
+++ b/testsuite/tests/typecheck/should_fail/tcfail196.stderr
@@ -1,5 +1,5 @@
 
 tcfail196.hs:5:8:
     Illegal polymorphic or qualified type: forall a. a
-    In the type signature for `bar':
+    In the type signature for ‛bar’:
       bar :: Num (forall a. a) => Int -> Int
diff --git a/testsuite/tests/typecheck/should_fail/tcfail197.stderr b/testsuite/tests/typecheck/should_fail/tcfail197.stderr
index 464dacb078ab..30bf9583fa0d 100644
--- a/testsuite/tests/typecheck/should_fail/tcfail197.stderr
+++ b/testsuite/tests/typecheck/should_fail/tcfail197.stderr
@@ -2,4 +2,4 @@
 tcfail197.hs:5:8:
     Illegal polymorphic or qualified type: forall a. a
     Perhaps you intended to use -XImpredicativeTypes
-    In the type signature for `foo': foo :: [forall a. a] -> Int
+    In the type signature for ‛foo’: foo :: [forall a. a] -> Int
diff --git a/testsuite/tests/typecheck/should_fail/tcfail198.stderr b/testsuite/tests/typecheck/should_fail/tcfail198.stderr
index 22a09f59f7bb..a2c66aa4bf10 100644
--- a/testsuite/tests/typecheck/should_fail/tcfail198.stderr
+++ b/testsuite/tests/typecheck/should_fail/tcfail198.stderr
@@ -1,7 +1,7 @@
 
 tcfail198.hs:6:36:
-    Couldn't match expected type `a1' with actual type `a'
-      because type variable `a1' would escape its scope
+    Couldn't match expected type ‛a1’ with actual type ‛a’
+      because type variable ‛a1’ would escape its scope
     This (rigid, skolem) type variable is bound by
       an expression type signature: a1
       at tcfail198.hs:6:36-41
@@ -10,5 +10,5 @@ tcfail198.hs:6:36:
       x :: a (bound at tcfail198.hs:6:19)
       xs :: [a] (bound at tcfail198.hs:6:21)
     In the expression: x :: a
-    In the second argument of `(++)', namely `[x :: a]'
+    In the second argument of ‛(++)’, namely ‛[x :: a]’
     In the expression: xs ++ [x :: a]
diff --git a/testsuite/tests/typecheck/should_fail/tcfail199.stderr b/testsuite/tests/typecheck/should_fail/tcfail199.stderr
index 6866a2645273..3e1df5e8068a 100644
--- a/testsuite/tests/typecheck/should_fail/tcfail199.stderr
+++ b/testsuite/tests/typecheck/should_fail/tcfail199.stderr
@@ -1,5 +1,5 @@
 
 tcfail199.hs:5:1:
-    Couldn't match expected type `IO t0' with actual type `[Char]'
+    Couldn't match expected type ‛IO t0’ with actual type ‛[Char]’
     In the expression: main
-    When checking the type of the function `main'
+    When checking the type of the function ‛main’
diff --git a/testsuite/tests/typecheck/should_fail/tcfail200.stderr b/testsuite/tests/typecheck/should_fail/tcfail200.stderr
index 731f906fdb68..57c174d109a2 100644
--- a/testsuite/tests/typecheck/should_fail/tcfail200.stderr
+++ b/testsuite/tests/typecheck/should_fail/tcfail200.stderr
@@ -1,9 +1,9 @@
 
 tcfail200.hs:5:15:
-    Couldn't match kind `*' with `#'
+    Couldn't match kind ‛*’ with ‛#’
     When matching types
       t1 :: *
       GHC.Prim.Int# :: #
     In the expression: 1#
     In the expression: (1#, 'c')
-    In an equation for `x': x = (1#, 'c')
+    In an equation for ‛x’: x = (1#, 'c')
diff --git a/testsuite/tests/typecheck/should_fail/tcfail201.stderr b/testsuite/tests/typecheck/should_fail/tcfail201.stderr
index 4d93f9fadd7f..ada710e43b3a 100644
--- a/testsuite/tests/typecheck/should_fail/tcfail201.stderr
+++ b/testsuite/tests/typecheck/should_fail/tcfail201.stderr
@@ -1,7 +1,7 @@
 
 tcfail201.hs:17:27:
-    Couldn't match expected type `a' with actual type `HsDoc t0'
-      `a' is a rigid type variable bound by
+    Couldn't match expected type ‛a’ with actual type ‛HsDoc t0’
+      ‛a’ is a rigid type variable bound by
           the type signature for
             gfoldl' :: (forall a1 b. c (a1 -> b) -> a1 -> c b)
                        -> (forall g. g -> c g) -> a -> c a
diff --git a/testsuite/tests/typecheck/should_fail/tcfail203.stderr b/testsuite/tests/typecheck/should_fail/tcfail203.stderr
index 29cf84095b04..7635b68b4b48 100644
--- a/testsuite/tests/typecheck/should_fail/tcfail203.stderr
+++ b/testsuite/tests/typecheck/should_fail/tcfail203.stderr
@@ -1,35 +1,35 @@
 
-tcfail203.hs:28:11:
-    Warning: Pattern bindings containing unlifted types should use an outermost bang pattern:
-               (I# x) = 5
-    In an equation for `fail2':
+tcfail203.hs:28:11: Warning:
+    Pattern bindings containing unlifted types should use an outermost bang pattern:
+      (I# x) = 5
+    In an equation for ‛fail2’:
         fail2
           = 'a'
           where
               (I# x) = 5
 
-tcfail203.hs:31:11:
-    Warning: Pattern bindings containing unlifted types should use an outermost bang pattern:
-               (b, I# x) = (True, 5)
-    In an equation for `fail3':
+tcfail203.hs:31:11: Warning:
+    Pattern bindings containing unlifted types should use an outermost bang pattern:
+      (b, I# x) = (True, 5)
+    In an equation for ‛fail3’:
         fail3
           = 'a'
           where
               (b, I# x) = (True, 5)
 
-tcfail203.hs:40:11:
-    Warning: Pattern bindings containing unlifted types should use an outermost bang pattern:
-               (I# !x) = 5
-    In an equation for `fail6':
+tcfail203.hs:40:11: Warning:
+    Pattern bindings containing unlifted types should use an outermost bang pattern:
+      (I# !x) = 5
+    In an equation for ‛fail6’:
         fail6
           = 'a'
           where
               (I# !x) = 5
 
-tcfail203.hs:43:11:
-    Warning: Pattern bindings containing unlifted types should use an outermost bang pattern:
-               (b, !(I# x)) = (True, 5)
-    In an equation for `fail7':
+tcfail203.hs:43:11: Warning:
+    Pattern bindings containing unlifted types should use an outermost bang pattern:
+      (b, !(I# x)) = (True, 5)
+    In an equation for ‛fail7’:
         fail7
           = 'a'
           where
diff --git a/testsuite/tests/typecheck/should_fail/tcfail204.stderr b/testsuite/tests/typecheck/should_fail/tcfail204.stderr
index e9d9bb739d98..bfbac5443233 100644
--- a/testsuite/tests/typecheck/should_fail/tcfail204.stderr
+++ b/testsuite/tests/typecheck/should_fail/tcfail204.stderr
@@ -1,13 +1,13 @@
 
-tcfail204.hs:10:15:
-    Warning: Defaulting the following constraint(s) to type `Double'
-               (Fractional a0) arising from the literal `6.3'
-                               at tcfail204.hs:10:15-17
-               (RealFrac a0) arising from a use of `ceiling'
-                             at tcfail204.hs:10:7-13
-    In the first argument of `ceiling', namely `6.3'
+tcfail204.hs:10:15: Warning:
+    Defaulting the following constraint(s) to type ‛Double’
+      (Fractional a0)
+        arising from the literal ‛6.3’ at tcfail204.hs:10:15-17
+      (RealFrac a0)
+        arising from a use of ‛ceiling’ at tcfail204.hs:10:7-13
+    In the first argument of ‛ceiling’, namely ‛6.3’
     In the expression: ceiling 6.3
-    In an equation for `foo': foo = ceiling 6.3
+    In an equation for ‛foo’: foo = ceiling 6.3
 
 <no location info>: 
 Failing due to -Werror.
diff --git a/testsuite/tests/typecheck/should_fail/tcfail206.stderr b/testsuite/tests/typecheck/should_fail/tcfail206.stderr
index b5b9aef83019..d503b1620758 100644
--- a/testsuite/tests/typecheck/should_fail/tcfail206.stderr
+++ b/testsuite/tests/typecheck/should_fail/tcfail206.stderr
@@ -1,28 +1,28 @@
 
 tcfail206.hs:5:5:
-    Couldn't match type `Bool' with `Int'
+    Couldn't match type ‛Bool’ with ‛Int’
     Expected type: Bool -> (Int, Bool)
       Actual type: Bool -> (Bool, Bool)
     In the expression: (, True)
-    In an equation for `a': a = (, True)
+    In an equation for ‛a’: a = (, True)
 
 tcfail206.hs:8:5:
-    Couldn't match type `(t0, Int)' with `Bool -> (Int, Bool)'
+    Couldn't match type ‛(t0, Int)’ with ‛Bool -> (Int, Bool)’
     Expected type: Int -> Bool -> (Int, Bool)
       Actual type: Int -> (t0, Int)
     In the expression: (1,)
-    In an equation for `b': b = (1,)
+    In an equation for ‛b’: b = (1,)
 
 tcfail206.hs:14:5:
-    Couldn't match type `Bool' with `Int'
+    Couldn't match type ‛Bool’ with ‛Int’
     Expected type: Bool -> (# Int, Bool #)
       Actual type: Bool -> (# Bool, Bool #)
     In the expression: (# , True #)
-    In an equation for `d': d = (# , True #)
+    In an equation for ‛d’: d = (# , True #)
 
 tcfail206.hs:17:5:
-    Couldn't match type `(# a0, Int #)' with `Bool -> (# Int, Bool #)'
+    Couldn't match type ‛(# a0, Int #)’ with ‛Bool -> (# Int, Bool #)’
     Expected type: Int -> Bool -> (# Int, Bool #)
       Actual type: Int -> (# a0, Int #)
     In the expression: (# 1, #)
-    In an equation for `e': e = (# 1, #)
+    In an equation for ‛e’: e = (# 1, #)
diff --git a/testsuite/tests/typecheck/should_fail/tcfail207.stderr b/testsuite/tests/typecheck/should_fail/tcfail207.stderr
index 3e96a0994e9c..f647a324ba9f 100644
--- a/testsuite/tests/typecheck/should_fail/tcfail207.stderr
+++ b/testsuite/tests/typecheck/should_fail/tcfail207.stderr
@@ -1,16 +1,16 @@
 
 tcfail207.hs:5:7:
-    Couldn't match expected type `[Int] -> [Int]'
-                with actual type `[a1]'
-    In the return type of a call of `take'
-    Probable cause: `take' is applied to too many arguments
+    Couldn't match expected type ‛[Int] -> [Int]’
+                with actual type ‛[a1]’
+    In the return type of a call of ‛take’
+    Probable cause: ‛take’ is applied to too many arguments
     In the expression: take x []
-    In an equation for `f': f x = take x []
+    In an equation for ‛f’: f x = take x []
 
 tcfail207.hs:9:5:
-    Couldn't match expected type `[Int]'
-                with actual type `[a0] -> [a0]'
-    In the return type of a call of `take'
-    Probable cause: `take' is applied to too few arguments
+    Couldn't match expected type ‛[Int]’
+                with actual type ‛[a0] -> [a0]’
+    In the return type of a call of ‛take’
+    Probable cause: ‛take’ is applied to too few arguments
     In the expression: take 3
-    In an equation for `g': g = take 3
+    In an equation for ‛g’: g = take 3
diff --git a/testsuite/tests/typecheck/should_fail/tcfail208.stderr b/testsuite/tests/typecheck/should_fail/tcfail208.stderr
index d3172b6a913a..7419e90c523b 100644
--- a/testsuite/tests/typecheck/should_fail/tcfail208.stderr
+++ b/testsuite/tests/typecheck/should_fail/tcfail208.stderr
@@ -1,9 +1,9 @@
 
 tcfail208.hs:4:19:
-    Could not deduce (Eq (m a)) arising from a use of `=='
+    Could not deduce (Eq (m a)) arising from a use of ‛==’
     from the context (Monad m, Eq a)
       bound by the type signature for
                  f :: (Monad m, Eq a) => a -> m a -> Bool
       at tcfail208.hs:3:6-40
     In the expression: (return x == y)
-    In an equation for `f': f x y = (return x == y)
+    In an equation for ‛f’: f x y = (return x == y)
diff --git a/testsuite/tests/typecheck/should_fail/tcfail209.stderr b/testsuite/tests/typecheck/should_fail/tcfail209.stderr
index d0a59e970155..65bc8de455b1 100644
--- a/testsuite/tests/typecheck/should_fail/tcfail209.stderr
+++ b/testsuite/tests/typecheck/should_fail/tcfail209.stderr
@@ -1,5 +1,5 @@
-
-tcfail209.hs:3:1:
-    Illegal constraint synonym of kind: `* -> Constraint'
-      (Use -XConstraintKinds to permit this)
-    In the type declaration for `Showish'
+
+tcfail209.hs:3:1:
+    Illegal constraint synonym of kind: ‛* -> Constraint’
+      (Use -XConstraintKinds to permit this)
+    In the type declaration for ‛Showish’
diff --git a/testsuite/tests/typecheck/should_fail/tcfail209a.stderr b/testsuite/tests/typecheck/should_fail/tcfail209a.stderr
index 1b56c86728f8..9acacaaacfe9 100644
--- a/testsuite/tests/typecheck/should_fail/tcfail209a.stderr
+++ b/testsuite/tests/typecheck/should_fail/tcfail209a.stderr
@@ -2,5 +2,5 @@
 tcfail209a.hs:3:6:
     Illegal tuple constraint: (Show a, Num a)
       (Use -XConstraintKinds to permit this)
-    In the type signature for `g':
+    In the type signature for ‛g’:
       g :: ((Show a, Num a), Eq a) => a -> a
diff --git a/testsuite/tests/typecheck/should_fail/tcfail210.stderr b/testsuite/tests/typecheck/should_fail/tcfail210.stderr
index 95aba8e61b47..9b998d425efe 100644
--- a/testsuite/tests/typecheck/should_fail/tcfail210.stderr
+++ b/testsuite/tests/typecheck/should_fail/tcfail210.stderr
@@ -1,3 +1,3 @@
 
 tcfail210.hs:4:31:
-    Not in scope: type constructor or class `Constraint'
+    Not in scope: type constructor or class ‛Constraint’
diff --git a/testsuite/tests/typecheck/should_fail/tcfail211.stderr b/testsuite/tests/typecheck/should_fail/tcfail211.stderr
index 81e04d670d68..491349b1237e 100644
--- a/testsuite/tests/typecheck/should_fail/tcfail211.stderr
+++ b/testsuite/tests/typecheck/should_fail/tcfail211.stderr
@@ -1,7 +1,6 @@
 
 tcfail211.hs:16:13:
-    Unbound implicit parameter (?imp::Int)
-      arising from a use of `test'
-    In the first argument of `print', namely `test'
+    Unbound implicit parameter (?imp::Int) arising from a use of ‛test’
+    In the first argument of ‛print’, namely ‛test’
     In the expression: print test
-    In an equation for `use': use = print test
+    In an equation for ‛use’: use = print test
diff --git a/testsuite/tests/typecheck/should_fail/tcfail212.stderr b/testsuite/tests/typecheck/should_fail/tcfail212.stderr
index a94496181b38..b116fd1d9580 100644
--- a/testsuite/tests/typecheck/should_fail/tcfail212.stderr
+++ b/testsuite/tests/typecheck/should_fail/tcfail212.stderr
@@ -1,10 +1,10 @@
 
 tcfail212.hs:10:7:
-    Expecting one more argument to `Maybe'
-    The first argument of a tuple should have kind `*',
-      but `Maybe' has kind `* -> *'
-    In the type signature for `f': f :: (Maybe, Either Int)
+    Expecting one more argument to ‛Maybe’
+    The first argument of a tuple should have kind ‛*’,
+      but ‛Maybe’ has kind ‛* -> *’
+    In the type signature for ‛f’: f :: (Maybe, Either Int)
 
 tcfail212.hs:13:7:
-    Expecting a lifted type, but `Int#' is unlifted
-    In the type signature for `g': g :: (Int#, Int#)
+    Expecting a lifted type, but ‛Int#’ is unlifted
+    In the type signature for ‛g’: g :: (Int#, Int#)
diff --git a/testsuite/tests/typecheck/should_fail/tcfail213.stderr b/testsuite/tests/typecheck/should_fail/tcfail213.stderr
index 92087113890b..bef0507b8b9b 100644
--- a/testsuite/tests/typecheck/should_fail/tcfail213.stderr
+++ b/testsuite/tests/typecheck/should_fail/tcfail213.stderr
@@ -1,7 +1,7 @@
-
-tcfail213.hs:8:1:
-    Illegal constraint `F a' in a superclass/instance context
-      (Use -XUndecidableInstances to permit this)
-    In the context: (F a)
-    While checking the super-classes of class `C'
-    In the class declaration for `C'
+
+tcfail213.hs:8:1:
+    Illegal constraint ‛F a’ in a superclass/instance context
+      (Use -XUndecidableInstances to permit this)
+    In the context: (F a)
+    While checking the super-classes of class ‛C’
+    In the class declaration for ‛C’
diff --git a/testsuite/tests/typecheck/should_fail/tcfail214.stderr b/testsuite/tests/typecheck/should_fail/tcfail214.stderr
index d8df299f568c..983d4b39a103 100644
--- a/testsuite/tests/typecheck/should_fail/tcfail214.stderr
+++ b/testsuite/tests/typecheck/should_fail/tcfail214.stderr
@@ -1,7 +1,7 @@
-
-tcfail214.hs:9:10:
-    Illegal constraint `F a' in a superclass/instance context
-      (Use -XUndecidableInstances to permit this)
-    In the context: (F a)
-    While checking an instance declaration
-    In the instance declaration for `C [a]'
+
+tcfail214.hs:9:10:
+    Illegal constraint ‛F a’ in a superclass/instance context
+      (Use -XUndecidableInstances to permit this)
+    In the context: (F a)
+    While checking an instance declaration
+    In the instance declaration for ‛C [a]’
diff --git a/testsuite/tests/typecheck/should_fail/tcfail215.stderr b/testsuite/tests/typecheck/should_fail/tcfail215.stderr
index 75c894eda684..a9fe4da24e17 100644
--- a/testsuite/tests/typecheck/should_fail/tcfail215.stderr
+++ b/testsuite/tests/typecheck/should_fail/tcfail215.stderr
@@ -1,4 +1,4 @@
 
 tcfail215.hs:8:15:
-    Expecting a lifted type, but `Int#' is unlifted
-    In the type signature for `foo': foo :: ?x :: Int# => Int
+    Expecting a lifted type, but ‛Int#’ is unlifted
+    In the type signature for ‛foo’: foo :: ?x :: Int# => Int
diff --git a/testsuite/tests/typecheck/should_fail/tcfail216.stderr b/testsuite/tests/typecheck/should_fail/tcfail216.stderr
index bcb07b8f1522..11b077e7e11c 100644
--- a/testsuite/tests/typecheck/should_fail/tcfail216.stderr
+++ b/testsuite/tests/typecheck/should_fail/tcfail216.stderr
@@ -1,4 +1,4 @@
 
 tcfail216.hs:5:1:
     Cycle in class declaration (via superclasses): A -> A
-    In the class declaration for `A'
+    In the class declaration for ‛A’
diff --git a/testsuite/tests/typecheck/should_fail/tcfail217.stderr b/testsuite/tests/typecheck/should_fail/tcfail217.stderr
index 79f3b0e0a970..64584169e9c4 100644
--- a/testsuite/tests/typecheck/should_fail/tcfail217.stderr
+++ b/testsuite/tests/typecheck/should_fail/tcfail217.stderr
@@ -1,4 +1,4 @@
 
 tcfail217.hs:7:1:
     Cycle in class declaration (via superclasses): A -> Aish -> A
-    In the class declaration for `A'
+    In the class declaration for ‛A’
diff --git a/testsuite/tests/typecheck/should_run/tcrun035.stderr b/testsuite/tests/typecheck/should_run/tcrun035.stderr
index f0fc2d53b767..9c7a3c748857 100644
--- a/testsuite/tests/typecheck/should_run/tcrun035.stderr
+++ b/testsuite/tests/typecheck/should_run/tcrun035.stderr
@@ -1,11 +1,11 @@
-
-tcrun035.hs:13:7:
-    Couldn't match type `IO a'
-                  with `forall (m :: * -> *). Monad m => m a'
-    Expected type: (forall (m :: * -> *). Monad m => m a) -> IO a
-      Actual type: IO a -> IO a
-    Relevant bindings include
-      foo :: (forall (m :: * -> *). Monad m => m a) -> IO a
-        (bound at tcrun035.hs:13:1)
-    In the expression: id . id
-    In an equation for `foo': foo = id . id
+
+tcrun035.hs:13:7:
+    Couldn't match type ‛IO a’
+                  with ‛forall (m :: * -> *). Monad m => m a’
+    Expected type: (forall (m :: * -> *). Monad m => m a) -> IO a
+      Actual type: IO a -> IO a
+    Relevant bindings include
+      foo :: (forall (m :: * -> *). Monad m => m a) -> IO a
+        (bound at tcrun035.hs:13:1)
+    In the expression: id . id
+    In an equation for ‛foo’: foo = id . id
-- 
GitLab