diff --git a/ChangeLog.md b/ChangeLog.md
--- a/ChangeLog.md
+++ b/ChangeLog.md
@@ -1,5 +1,9 @@
 # Revision history for PyF
 
+## 0.8.0.0 -- 2019-08-27
+
+- Stack support
+
 ## 0.8.0.0 -- 2019-08-06
 
 - `f` (and `fWithDelimiters`) were renamed `fmt` (`fmtWithDelimiters`). `f` was causing too much shadowing in any codebase.
diff --git a/PyF.cabal b/PyF.cabal
--- a/PyF.cabal
+++ b/PyF.cabal
@@ -1,15 +1,15 @@
+cabal-version:       2.4
 name:                PyF
-version:             0.8.0.0
+version:             0.8.0.1
 synopsis: Quasiquotations for a python like interpolated string formater
 description: Quasiquotations for a python like interpolated string formater.
-license:             BSD3
+license:             BSD-3-Clause
 license-file:        LICENSE
 author:              Guillaume Bouchard
 maintainer:          guillaum.bouchard@gmail.com
 category:            Text
 build-type:          Simple
-extra-source-files:  ChangeLog.md Readme.md
-cabal-version:       >=1.10
+extra-source-files:  ChangeLog.md Readme.md test/failureCases/*.hs test/golden/*.golden
 
 library
   exposed-modules:
diff --git a/test/SpecFail.hs b/test/SpecFail.hs
--- a/test/SpecFail.hs
+++ b/test/SpecFail.hs
@@ -19,7 +19,6 @@
 import System.FilePath
 import Control.Exception
 import Control.DeepSeq
-import System.Directory
 
 -- * Check compilation with external GHC (this is usefull to test compilation failure)
 
@@ -73,10 +72,8 @@
 golden :: HasCallStack => String -> String -> IO ()
 golden name output = do
   let
-    goldenFile = ".golden" </> name </> "golden"
-    actualFile = ".golden" </> name </> "actual"
-
-  createDirectoryIfMissing True (".golden" </> name)
+    goldenFile = "test/golden" </> (name <> ".golden")
+    actualFile = "test/golden" </> (name <> ".actual")
 
   -- It can fail if the golden file does not exists
   goldenContentE :: Either SomeException String <- try $ readFile goldenFile
diff --git a/test/SpecOverloaded.hs b/test/SpecOverloaded.hs
--- a/test/SpecOverloaded.hs
+++ b/test/SpecOverloaded.hs
@@ -13,10 +13,11 @@
 
 spec :: Spec
 spec = do
+  let ten = 10 :: Int
   describe "Test formatting with different types" $ do
     it "String" $ do
-      [fmt|hello {10:d}|] `shouldBe` ("hello 10" :: String)
+      [fmt|hello {ten:d}|] `shouldBe` ("hello 10" :: String)
     it "Text" $ do
-      [fmt|hello {10:d}|] `shouldBe` ("hello 10" :: Text)
+      [fmt|hello {ten:d}|] `shouldBe` ("hello 10" :: Text)
     it "ByteString" $ do
-      [fmt|hello {10:d}|] `shouldBe` ("hello 10" :: ByteString)
+      [fmt|hello {ten:d}|] `shouldBe` ("hello 10" :: ByteString)
diff --git a/test/failureCases/bug18.hs b/test/failureCases/bug18.hs
new file mode 100644
--- /dev/null
+++ b/test/failureCases/bug18.hs
@@ -0,0 +1,33 @@
+{-# LANGUAGE QuasiQuotes #-}
+{-# LANGUAGE OverloadedStrings #-}
+{-# OPTIONS -Wall -Werror #-}
+
+{-
+  This test actually fails with -Wall because fieldA is not
+  initialized. PyF is doing nothing wrong. But bug #18 shows that GHC
+  error message leaks a lot of the PyF generated code which is not
+  beautiful.
+
+  This tests helps tracking the conciseness of the PyF generated code.
+-}
+
+import qualified Data.Text as T
+import PyF
+
+data Foo =
+  Foo
+  { fieldA :: ()
+  , fieldB :: T.Text
+  }
+  deriving (Show)
+
+yolo :: Foo
+yolo =
+  Foo
+  { fieldB = [fmt|hello what's up {x}|]
+  }
+  where
+    x :: T.Text
+    x = T.pack "hi"
+
+main = print yolo
diff --git a/test/golden/-4342647300489545826.golden b/test/golden/-4342647300489545826.golden
new file mode 100644
--- /dev/null
+++ b/test/golden/-4342647300489545826.golden
@@ -0,0 +1,16 @@
+
+INITIALPATH:7:22: error:
+    • INITIALPATH:11:10:
+   |
+11 | in 1 + - / lalalal}|]
+   |          ^
+Parse error: /
+
+    • In the quasi-quotation: [fmt|hello
+    {
+let a = 5
+    b = 10
+in 1 + - / lalalal}|]
+  |
+7 | main = putStrLn [fmt|hello
+  |                      ^^^^^...
diff --git a/test/golden/-559153311506421916.golden b/test/golden/-559153311506421916.golden
new file mode 100644
--- /dev/null
+++ b/test/golden/-559153311506421916.golden
@@ -0,0 +1,12 @@
+
+INITIALPATH:7:22: error:
+    • INITIALPATH:7:33:
+  |
+7 | main = putStrLn [fmt|{hello:=100s}|]
+  |                                 ^
+String type is incompatible with inside padding (=).
+
+    • In the quasi-quotation: [fmt|{hello:=100s}|]
+  |
+7 | main = putStrLn [fmt|{hello:=100s}|]
+  |                      ^^^^^^^^^^^^^^^
diff --git a/test/golden/-608734388740815869.golden b/test/golden/-608734388740815869.golden
new file mode 100644
--- /dev/null
+++ b/test/golden/-608734388740815869.golden
@@ -0,0 +1,12 @@
+
+INITIALPATH:7:22: error:
+    • INITIALPATH:7:30:
+  |
+7 | main = putStrLn [fmt|{hello: s}|]
+  |                              ^
+Type incompatible with sign field ( ), use any of {'b', 'd', 'e', 'E', 'f', 'F', 'g', 'G', 'n', 'o', 'x', 'X', '%'} or remove the sign field.
+
+    • In the quasi-quotation: [fmt|{hello: s}|]
+  |
+7 | main = putStrLn [fmt|{hello: s}|]
+  |                      ^^^^^^^^^^^^
diff --git a/test/golden/-7029437438637288708.golden b/test/golden/-7029437438637288708.golden
new file mode 100644
--- /dev/null
+++ b/test/golden/-7029437438637288708.golden
@@ -0,0 +1,9 @@
+
+INITIALPATH:7:22: error:
+    • No instance for (RealFloat Bool) arising from a use of ‘PyF.Internal.QQ.formatAnyFractional’
+    • In the first argument of ‘putStrLn’, namely ‘((((((PyF.Internal.QQ.formatAnyFractional PyF.Formatters.Fixed) PyF.Formatters.Minus) Nothing) Nothing) (Just 6)) True)’
+      In the expression: putStrLn ((((((PyF.Internal.QQ.formatAnyFractional PyF.Formatters.Fixed) PyF.Formatters.Minus) Nothing) Nothing) (Just 6)) True)
+      In an equation for ‘main’: main = putStrLn ((((((PyF.Internal.QQ.formatAnyFractional PyF.Formatters.Fixed) PyF.Formatters.Minus) Nothing) Nothing) (Just 6)) True)
+  |
+7 | main = putStrLn [fmt|{True:f}|]
+  |                      ^^^^^^^^^^
diff --git a/test/golden/-7030000414293697510.golden b/test/golden/-7030000414293697510.golden
new file mode 100644
--- /dev/null
+++ b/test/golden/-7030000414293697510.golden
@@ -0,0 +1,9 @@
+
+INITIALPATH:7:22: error:
+    • No instance for (Integral Bool) arising from a use of ‘PyF.Internal.QQ.formatAnyIntegral’
+    • In the first argument of ‘putStrLn’, namely ‘(((((PyF.Internal.QQ.formatAnyIntegral PyF.Formatters.Decimal) PyF.Formatters.Minus) Nothing) Nothing) True)’
+      In the expression: putStrLn (((((PyF.Internal.QQ.formatAnyIntegral PyF.Formatters.Decimal) PyF.Formatters.Minus) Nothing) Nothing) True)
+      In an equation for ‘main’: main = putStrLn (((((PyF.Internal.QQ.formatAnyIntegral PyF.Formatters.Decimal) PyF.Formatters.Minus) Nothing) Nothing) True)
+  |
+7 | main = putStrLn [fmt|{True:d}|]
+  |                      ^^^^^^^^^^
diff --git a/test/golden/-7033096789363194467.golden b/test/golden/-7033096789363194467.golden
new file mode 100644
--- /dev/null
+++ b/test/golden/-7033096789363194467.golden
@@ -0,0 +1,9 @@
+
+INITIALPATH:7:22: error:
+    • No instance for (PyFToString Bool) arising from a use of ‘pyfToString’
+    • In the second argument of ‘(.)’, namely ‘pyfToString’
+      In the expression: (PyF.Formatters.formatString (PyF.Internal.QQ.newPaddingKForString PyF.Internal.QQ.PaddingDefaultK)) Nothing . pyfToString
+      In the first argument of ‘putStrLn’, namely ‘(((PyF.Formatters.formatString (PyF.Internal.QQ.newPaddingKForString PyF.Internal.QQ.PaddingDefaultK)) Nothing . pyfToString) True)’
+  |
+7 | main = putStrLn [fmt|{True:s}|]
+  |                      ^^^^^^^^^^
diff --git a/test/golden/-8862740133902269087.golden b/test/golden/-8862740133902269087.golden
new file mode 100644
--- /dev/null
+++ b/test/golden/-8862740133902269087.golden
@@ -0,0 +1,9 @@
+
+INITIALPATH:7:22: error:
+    • No instance for (Integral Float) arising from a use of ‘PyF.Internal.QQ.formatAnyIntegral’
+    • In the first argument of ‘putStrLn’, namely ‘(((((PyF.Internal.QQ.formatAnyIntegral PyF.Formatters.Binary) PyF.Formatters.Minus) Nothing) Nothing) number)’
+      In the expression: putStrLn (((((PyF.Internal.QQ.formatAnyIntegral PyF.Formatters.Binary) PyF.Formatters.Minus) Nothing) Nothing) number)
+      In an equation for ‘main’: main = putStrLn (((((PyF.Internal.QQ.formatAnyIntegral PyF.Formatters.Binary) PyF.Formatters.Minus) Nothing) Nothing) number)
+  |
+7 | main = putStrLn [fmt|{number:b}|]
+  |                      ^^^^^^^^^^^^
diff --git a/test/golden/-8863303109558677885.golden b/test/golden/-8863303109558677885.golden
new file mode 100644
--- /dev/null
+++ b/test/golden/-8863303109558677885.golden
@@ -0,0 +1,9 @@
+
+INITIALPATH:7:22: error:
+    • No instance for (Integral Float) arising from a use of ‘PyF.Internal.QQ.formatAnyIntegral’
+    • In the first argument of ‘putStrLn’, namely ‘(((((PyF.Internal.QQ.formatAnyIntegral PyF.Formatters.Decimal) PyF.Formatters.Minus) Nothing) Nothing) number)’
+      In the expression: putStrLn (((((PyF.Internal.QQ.formatAnyIntegral PyF.Formatters.Decimal) PyF.Formatters.Minus) Nothing) Nothing) number)
+      In an equation for ‘main’: main = putStrLn (((((PyF.Internal.QQ.formatAnyIntegral PyF.Formatters.Decimal) PyF.Formatters.Minus) Nothing) Nothing) number)
+  |
+7 | main = putStrLn [fmt|{number:d}|]
+  |                      ^^^^^^^^^^^^
diff --git a/test/golden/-8865836508904655568.golden b/test/golden/-8865836508904655568.golden
new file mode 100644
--- /dev/null
+++ b/test/golden/-8865836508904655568.golden
@@ -0,0 +1,9 @@
+
+INITIALPATH:7:22: error:
+    • No instance for (Integral Float) arising from a use of ‘PyF.Internal.QQ.formatAnyIntegral’
+    • In the first argument of ‘putStrLn’, namely ‘(((((PyF.Internal.QQ.formatAnyIntegral PyF.Formatters.Octal) PyF.Formatters.Minus) Nothing) Nothing) number)’
+      In the expression: putStrLn (((((PyF.Internal.QQ.formatAnyIntegral PyF.Formatters.Octal) PyF.Formatters.Minus) Nothing) Nothing) number)
+      In an equation for ‘main’: main = putStrLn (((((PyF.Internal.QQ.formatAnyIntegral PyF.Formatters.Octal) PyF.Formatters.Minus) Nothing) Nothing) number)
+  |
+7 | main = putStrLn [fmt|{number:o}|]
+  |                      ^^^^^^^^^^^^
diff --git a/test/golden/-8866962460351694124.golden b/test/golden/-8866962460351694124.golden
new file mode 100644
--- /dev/null
+++ b/test/golden/-8866962460351694124.golden
@@ -0,0 +1,9 @@
+
+INITIALPATH:7:22: error:
+    • No instance for (PyFToString Float) arising from a use of ‘pyfToString’
+    • In the second argument of ‘(.)’, namely ‘pyfToString’
+      In the expression: (PyF.Formatters.formatString (PyF.Internal.QQ.newPaddingKForString PyF.Internal.QQ.PaddingDefaultK)) Nothing . pyfToString
+      In the first argument of ‘putStrLn’, namely ‘(((PyF.Formatters.formatString (PyF.Internal.QQ.newPaddingKForString PyF.Internal.QQ.PaddingDefaultK)) Nothing . pyfToString) number)’
+  |
+7 | main = putStrLn [fmt|{number:s}|]
+  |                      ^^^^^^^^^^^^
diff --git a/test/golden/-8868932879679082057.golden b/test/golden/-8868932879679082057.golden
new file mode 100644
--- /dev/null
+++ b/test/golden/-8868932879679082057.golden
@@ -0,0 +1,9 @@
+
+INITIALPATH:7:22: error:
+    • No instance for (Integral Float) arising from a use of ‘PyF.Internal.QQ.formatAnyIntegral’
+    • In the first argument of ‘putStrLn’, namely ‘(((((PyF.Internal.QQ.formatAnyIntegral PyF.Formatters.Hexa) PyF.Formatters.Minus) Nothing) Nothing) number)’
+      In the expression: putStrLn (((((PyF.Internal.QQ.formatAnyIntegral PyF.Formatters.Hexa) PyF.Formatters.Minus) Nothing) Nothing) number)
+      In an equation for ‘main’: main = putStrLn (((((PyF.Internal.QQ.formatAnyIntegral PyF.Formatters.Hexa) PyF.Formatters.Minus) Nothing) Nothing) number)
+  |
+7 | main = putStrLn [fmt|{number:x}|]
+  |                      ^^^^^^^^^^^^
diff --git a/test/golden/-8877940512730742825.golden b/test/golden/-8877940512730742825.golden
new file mode 100644
--- /dev/null
+++ b/test/golden/-8877940512730742825.golden
@@ -0,0 +1,9 @@
+
+INITIALPATH:7:22: error:
+    • No instance for (Integral Float) arising from a use of ‘PyF.Internal.QQ.formatAnyIntegral’
+    • In the first argument of ‘putStrLn’, namely ‘(((((PyF.Internal.QQ.formatAnyIntegral (PyF.Formatters.Upper PyF.Formatters.Hexa)) PyF.Formatters.Minus) Nothing) Nothing) number)’
+      In the expression: putStrLn (((((PyF.Internal.QQ.formatAnyIntegral (PyF.Formatters.Upper PyF.Formatters.Hexa)) PyF.Formatters.Minus) Nothing) Nothing) number)
+      In an equation for ‘main’: main = putStrLn (((((PyF.Internal.QQ.formatAnyIntegral (PyF.Formatters.Upper PyF.Formatters.Hexa)) PyF.Formatters.Minus) Nothing) Nothing) number)
+  |
+7 | main = putStrLn [fmt|{number:X}|]
+  |                      ^^^^^^^^^^^^
diff --git a/test/golden/-955223088025738585.golden b/test/golden/-955223088025738585.golden
new file mode 100644
--- /dev/null
+++ b/test/golden/-955223088025738585.golden
@@ -0,0 +1,9 @@
+
+INITIALPATH:7:22: error:
+    • No instance for (RealFloat Int) arising from a use of ‘PyF.Internal.QQ.formatAnyFractional’
+    • In the first argument of ‘putStrLn’, namely ‘((((((PyF.Internal.QQ.formatAnyFractional PyF.Formatters.Percent) PyF.Formatters.Minus) Nothing) Nothing) (Just 6)) (truncate' number))’
+      In the expression: putStrLn ((((((PyF.Internal.QQ.formatAnyFractional PyF.Formatters.Percent) PyF.Formatters.Minus) Nothing) Nothing) (Just 6)) (truncate' number))
+      In an equation for ‘main’: main = putStrLn ((((((PyF.Internal.QQ.formatAnyFractional PyF.Formatters.Percent) PyF.Formatters.Minus) Nothing) Nothing) (Just 6)) (truncate' number))
+  |
+7 | main = putStrLn [fmt|{truncate' number:%}|]
+  |                      ^^^^^^^^^^^^^^^^^^^^^^
diff --git a/test/golden/-972393886248710740.golden b/test/golden/-972393886248710740.golden
new file mode 100644
--- /dev/null
+++ b/test/golden/-972393886248710740.golden
@@ -0,0 +1,9 @@
+
+INITIALPATH:7:22: error:
+    • No instance for (RealFloat Int) arising from a use of ‘PyF.Internal.QQ.formatAnyFractional’
+    • In the first argument of ‘putStrLn’, namely ‘((((((PyF.Internal.QQ.formatAnyFractional PyF.Formatters.Fixed) PyF.Formatters.Minus) Nothing) Nothing) (Just 6)) (truncate' number))’
+      In the expression: putStrLn ((((((PyF.Internal.QQ.formatAnyFractional PyF.Formatters.Fixed) PyF.Formatters.Minus) Nothing) Nothing) (Just 6)) (truncate' number))
+      In an equation for ‘main’: main = putStrLn ((((((PyF.Internal.QQ.formatAnyFractional PyF.Formatters.Fixed) PyF.Formatters.Minus) Nothing) Nothing) (Just 6)) (truncate' number))
+  |
+7 | main = putStrLn [fmt|{truncate' number:f}|]
+  |                      ^^^^^^^^^^^^^^^^^^^^^^
diff --git a/test/golden/-972675374043359879.golden b/test/golden/-972675374043359879.golden
new file mode 100644
--- /dev/null
+++ b/test/golden/-972675374043359879.golden
@@ -0,0 +1,9 @@
+
+INITIALPATH:7:22: error:
+    • No instance for (RealFloat Int) arising from a use of ‘PyF.Internal.QQ.formatAnyFractional’
+    • In the first argument of ‘putStrLn’, namely ‘((((((PyF.Internal.QQ.formatAnyFractional PyF.Formatters.Generic) PyF.Formatters.Minus) Nothing) Nothing) (Just 6)) (truncate' number))’
+      In the expression: putStrLn ((((((PyF.Internal.QQ.formatAnyFractional PyF.Formatters.Generic) PyF.Formatters.Minus) Nothing) Nothing) (Just 6)) (truncate' number))
+      In an equation for ‘main’: main = putStrLn ((((((PyF.Internal.QQ.formatAnyFractional PyF.Formatters.Generic) PyF.Formatters.Minus) Nothing) Nothing) (Just 6)) (truncate' number))
+  |
+7 | main = putStrLn [fmt|{truncate' number:g}|]
+  |                      ^^^^^^^^^^^^^^^^^^^^^^
diff --git a/test/golden/-973238354129060121.golden b/test/golden/-973238354129060121.golden
new file mode 100644
--- /dev/null
+++ b/test/golden/-973238354129060121.golden
@@ -0,0 +1,9 @@
+
+INITIALPATH:7:22: error:
+    • No instance for (RealFloat Int) arising from a use of ‘PyF.Internal.QQ.formatAnyFractional’
+    • In the first argument of ‘putStrLn’, namely ‘((((((PyF.Internal.QQ.formatAnyFractional PyF.Formatters.Exponent) PyF.Formatters.Minus) Nothing) Nothing) (Just 6)) (truncate' number))’
+      In the expression: putStrLn ((((((PyF.Internal.QQ.formatAnyFractional PyF.Formatters.Exponent) PyF.Formatters.Minus) Nothing) Nothing) (Just 6)) (truncate' number))
+      In an equation for ‘main’: main = putStrLn ((((((PyF.Internal.QQ.formatAnyFractional PyF.Formatters.Exponent) PyF.Formatters.Minus) Nothing) Nothing) (Just 6)) (truncate' number))
+  |
+7 | main = putStrLn [fmt|{truncate' number:e}|]
+  |                      ^^^^^^^^^^^^^^^^^^^^^^
diff --git a/test/golden/-981683007095020647.golden b/test/golden/-981683007095020647.golden
new file mode 100644
--- /dev/null
+++ b/test/golden/-981683007095020647.golden
@@ -0,0 +1,9 @@
+
+INITIALPATH:7:22: error:
+    • No instance for (RealFloat Int) arising from a use of ‘PyF.Internal.QQ.formatAnyFractional’
+    • In the first argument of ‘putStrLn’, namely ‘((((((PyF.Internal.QQ.formatAnyFractional (PyF.Formatters.Upper PyF.Formatters.Generic)) PyF.Formatters.Minus) Nothing) Nothing) (Just 6)) (truncate' number))’
+      In the expression: putStrLn ((((((PyF.Internal.QQ.formatAnyFractional (PyF.Formatters.Upper PyF.Formatters.Generic)) PyF.Formatters.Minus) Nothing) Nothing) (Just 6)) (truncate' number))
+      In an equation for ‘main’: main = putStrLn ((((((PyF.Internal.QQ.formatAnyFractional (PyF.Formatters.Upper PyF.Formatters.Generic)) PyF.Formatters.Minus) Nothing) Nothing) (Just 6)) (truncate' number))
+  |
+7 | main = putStrLn [fmt|{truncate' number:G}|]
+  |                      ^^^^^^^^^^^^^^^^^^^^^^
diff --git a/test/golden/-982245987180720889.golden b/test/golden/-982245987180720889.golden
new file mode 100644
--- /dev/null
+++ b/test/golden/-982245987180720889.golden
@@ -0,0 +1,9 @@
+
+INITIALPATH:7:22: error:
+    • No instance for (RealFloat Int) arising from a use of ‘PyF.Internal.QQ.formatAnyFractional’
+    • In the first argument of ‘putStrLn’, namely ‘((((((PyF.Internal.QQ.formatAnyFractional (PyF.Formatters.Upper PyF.Formatters.Exponent)) PyF.Formatters.Minus) Nothing) Nothing) (Just 6)) (truncate' number))’
+      In the expression: putStrLn ((((((PyF.Internal.QQ.formatAnyFractional (PyF.Formatters.Upper PyF.Formatters.Exponent)) PyF.Formatters.Minus) Nothing) Nothing) (Just 6)) (truncate' number))
+      In an equation for ‘main’: main = putStrLn ((((((PyF.Internal.QQ.formatAnyFractional (PyF.Formatters.Upper PyF.Formatters.Exponent)) PyF.Formatters.Minus) Nothing) Nothing) (Just 6)) (truncate' number))
+  |
+7 | main = putStrLn [fmt|{truncate' number:E}|]
+  |                      ^^^^^^^^^^^^^^^^^^^^^^
diff --git a/test/golden/1039339902865820990.golden b/test/golden/1039339902865820990.golden
new file mode 100644
--- /dev/null
+++ b/test/golden/1039339902865820990.golden
@@ -0,0 +1,12 @@
+
+INITIALPATH:7:22: error:
+    • INITIALPATH:7:30:
+  |
+7 | main = putStrLn [fmt|{hello:+s}|]
+  |                              ^
+Type incompatible with sign field (+), use any of {'b', 'd', 'e', 'E', 'f', 'F', 'g', 'G', 'n', 'o', 'x', 'X', '%'} or remove the sign field.
+
+    • In the quasi-quotation: [fmt|{hello:+s}|]
+  |
+7 | main = putStrLn [fmt|{hello:+s}|]
+  |                      ^^^^^^^^^^^^
diff --git a/test/golden/1179194556644623826.golden b/test/golden/1179194556644623826.golden
new file mode 100644
--- /dev/null
+++ b/test/golden/1179194556644623826.golden
@@ -0,0 +1,12 @@
+
+INITIALPATH:7:22: error:
+    • INITIALPATH:7:30:
+  |
+7 | main = putStrLn [fmt|{hello:_s}|]
+  |                              ^
+String type is incompatible with grouping (_ or ,).
+
+    • In the quasi-quotation: [fmt|{hello:_s}|]
+  |
+7 | main = putStrLn [fmt|{hello:_s}|]
+  |                      ^^^^^^^^^^^^
diff --git a/test/golden/1398692563425247859.golden b/test/golden/1398692563425247859.golden
new file mode 100644
--- /dev/null
+++ b/test/golden/1398692563425247859.golden
@@ -0,0 +1,16 @@
+
+INITIALPATH:7:22: error:
+    • INITIALPATH:10:5:
+   |
+10 | {pi:l}|]
+   |     ^
+unexpected 'l'
+expecting '#', '%', '+', '-', '.', '0', 'E', 'F', 'G', 'X', 'b', 'c', 'd', 'e', 'f', 'g', 'n', 'o', 's', 'x', '}', integer, or space
+
+    • In the quasi-quotation: [fmt|hello
+
+
+{pi:l}|]
+  |
+7 | main = putStrLn [fmt|hello
+  |                      ^^^^^...
diff --git a/test/golden/1640634027373935614.golden b/test/golden/1640634027373935614.golden
new file mode 100644
--- /dev/null
+++ b/test/golden/1640634027373935614.golden
@@ -0,0 +1,9 @@
+
+INITIALPATH:7:22: error:
+    • No instance for (PyF.Internal.QQ.FormatAny2 (PyFClassify Bool) Bool 'PyF.Formatters.AlignAll) arising from a use of ‘PyF.Internal.QQ.formatAny’
+    • In the first argument of ‘putStrLn’, namely ‘(((((PyF.Internal.QQ.formatAny PyF.Formatters.Minus) PyF.Internal.QQ.PaddingDefaultK) Nothing) Nothing) True)’
+      In the expression: putStrLn (((((PyF.Internal.QQ.formatAny PyF.Formatters.Minus) PyF.Internal.QQ.PaddingDefaultK) Nothing) Nothing) True)
+      In an equation for ‘main’: main = putStrLn (((((PyF.Internal.QQ.formatAny PyF.Formatters.Minus) PyF.Internal.QQ.PaddingDefaultK) Nothing) Nothing) True)
+  |
+7 | main = putStrLn [fmt|{True}|]
+  |                      ^^^^^^^^
diff --git a/test/golden/2157463209259933381.golden b/test/golden/2157463209259933381.golden
new file mode 100644
--- /dev/null
+++ b/test/golden/2157463209259933381.golden
@@ -0,0 +1,12 @@
+
+INITIALPATH:7:22: error:
+    • INITIALPATH:7:25:
+  |
+7 | main = putStrLn [fmt|foo\Pbar|]
+  |                         ^
+lexical error in literal section
+
+    • In the quasi-quotation: [fmt|foo\Pbar|]
+  |
+7 | main = putStrLn [fmt|foo\Pbar|]
+  |                      ^^^^^^^^^^
diff --git a/test/golden/2897849520519503487.golden b/test/golden/2897849520519503487.golden
new file mode 100644
--- /dev/null
+++ b/test/golden/2897849520519503487.golden
@@ -0,0 +1,18 @@
+
+INITIALPATH:26:3: error: [-Wmissing-fields, -Werror=missing-fields]
+    • Fields of ‘Foo’ not initialised: fieldA
+    • In the expression: Foo {fieldB = (Data.String.fromString ("hello what's up " <> ((((PyF.Internal.QQ.formatAny PyF.Formatters.Minus) PyF.Internal.QQ.PaddingDefaultK) Nothing) Nothing) x))}
+      In an equation for ‘yolo’:
+          yolo
+            = Foo {fieldB = (Data.String.fromString ("hello what's up " <> ((((PyF.Internal.QQ.formatAny PyF.Formatters.Minus) PyF.Internal.QQ.PaddingDefaultK) Nothing) Nothing) x))}
+            where
+                x :: T.Text
+                x = T.pack "hi"
+   |
+26 |   Foo
+   |   ^^^...
+
+INITIALPATH:33:1: error: [-Wmissing-signatures, -Werror=missing-signatures] Top-level binding with no type signature: main :: IO ()
+   |
+33 | main = print yolo
+   | ^^^^
diff --git a/test/golden/3089090107905559368.golden b/test/golden/3089090107905559368.golden
new file mode 100644
--- /dev/null
+++ b/test/golden/3089090107905559368.golden
@@ -0,0 +1,12 @@
+
+INITIALPATH:7:22: error:
+    • INITIALPATH:7:30:
+  |
+7 | main = putStrLn [fmt|{hello:-s}|]
+  |                              ^
+Type incompatible with sign field (-), use any of {'b', 'd', 'e', 'E', 'f', 'F', 'g', 'G', 'n', 'o', 'x', 'X', '%'} or remove the sign field.
+
+    • In the quasi-quotation: [fmt|{hello:-s}|]
+  |
+7 | main = putStrLn [fmt|{hello:-s}|]
+  |                      ^^^^^^^^^^^^
diff --git a/test/golden/3420956872570442319.golden b/test/golden/3420956872570442319.golden
new file mode 100644
--- /dev/null
+++ b/test/golden/3420956872570442319.golden
@@ -0,0 +1,12 @@
+
+INITIALPATH:7:22: error:
+    • INITIALPATH:7:30:
+  |
+7 | main = putStrLn [fmt|{hello:,s}|]
+  |                              ^
+String type is incompatible with grouping (_ or ,).
+
+    • In the quasi-quotation: [fmt|{hello:,s}|]
+  |
+7 | main = putStrLn [fmt|{hello:,s}|]
+  |                      ^^^^^^^^^^^^
diff --git a/test/golden/5755283065522441917.golden b/test/golden/5755283065522441917.golden
new file mode 100644
--- /dev/null
+++ b/test/golden/5755283065522441917.golden
@@ -0,0 +1,15 @@
+
+INITIALPATH:7:22: error:
+    • Ambiguous type variable ‘t0’ arising from a use of ‘pyfToString’
+      prevents the constraint ‘(PyFToString t0)’ from being solved.
+      Probable fix: use a type annotation to specify what ‘t0’ should be.
+      These potential instances exist:
+        instance [safe] PyFToString String -- Defined in ‘PyF.Class’
+        ...plus two instances involving out-of-scope types
+        (use -fprint-potential-instances to see them all)
+    • In the second argument of ‘(.)’, namely ‘pyfToString’
+      In the expression: (PyF.Formatters.formatString (PyF.Internal.QQ.newPaddingKForString PyF.Internal.QQ.PaddingDefaultK)) Nothing . pyfToString
+      In the first argument of ‘putStrLn’, namely ‘(((PyF.Formatters.formatString (PyF.Internal.QQ.newPaddingKForString PyF.Internal.QQ.PaddingDefaultK)) Nothing . pyfToString) (truncate number))’
+  |
+7 | main = putStrLn [fmt|{truncate number:s}|]
+  |                      ^^^^^^^^^^^^^^^^^^^^^
diff --git a/test/golden/6036259654057340493.golden b/test/golden/6036259654057340493.golden
new file mode 100644
--- /dev/null
+++ b/test/golden/6036259654057340493.golden
@@ -0,0 +1,9 @@
+
+INITIALPATH:7:22: error:
+    • No instance for (Integral [Char]) arising from a use of ‘PyF.Internal.QQ.formatAnyIntegral’
+    • In the first argument of ‘putStrLn’, namely ‘(((((PyF.Internal.QQ.formatAnyIntegral (PyF.Formatters.Upper PyF.Formatters.Hexa)) PyF.Formatters.Minus) Nothing) Nothing) hello)’
+      In the expression: putStrLn (((((PyF.Internal.QQ.formatAnyIntegral (PyF.Formatters.Upper PyF.Formatters.Hexa)) PyF.Formatters.Minus) Nothing) Nothing) hello)
+      In an equation for ‘main’: main = putStrLn (((((PyF.Internal.QQ.formatAnyIntegral (PyF.Formatters.Upper PyF.Formatters.Hexa)) PyF.Formatters.Minus) Nothing) Nothing) hello)
+  |
+7 | main = putStrLn [fmt|{hello:X}|]
+  |                      ^^^^^^^^^^^
diff --git a/test/golden/6038793049108247706.golden b/test/golden/6038793049108247706.golden
new file mode 100644
--- /dev/null
+++ b/test/golden/6038793049108247706.golden
@@ -0,0 +1,9 @@
+
+INITIALPATH:7:22: error:
+    • No instance for (RealFloat [Char]) arising from a use of ‘PyF.Internal.QQ.formatAnyFractional’
+    • In the first argument of ‘putStrLn’, namely ‘((((((PyF.Internal.QQ.formatAnyFractional (PyF.Formatters.Upper PyF.Formatters.Generic)) PyF.Formatters.Minus) Nothing) Nothing) (Just 6)) hello)’
+      In the expression: putStrLn ((((((PyF.Internal.QQ.formatAnyFractional (PyF.Formatters.Upper PyF.Formatters.Generic)) PyF.Formatters.Minus) Nothing) Nothing) (Just 6)) hello)
+      In an equation for ‘main’: main = putStrLn ((((((PyF.Internal.QQ.formatAnyFractional (PyF.Formatters.Upper PyF.Formatters.Generic)) PyF.Formatters.Minus) Nothing) Nothing) (Just 6)) hello)
+  |
+7 | main = putStrLn [fmt|{hello:G}|]
+  |                      ^^^^^^^^^^^
diff --git a/test/golden/6039356029193947908.golden b/test/golden/6039356029193947908.golden
new file mode 100644
--- /dev/null
+++ b/test/golden/6039356029193947908.golden
@@ -0,0 +1,9 @@
+
+INITIALPATH:7:22: error:
+    • No instance for (RealFloat [Char]) arising from a use of ‘PyF.Internal.QQ.formatAnyFractional’
+    • In the first argument of ‘putStrLn’, namely ‘((((((PyF.Internal.QQ.formatAnyFractional (PyF.Formatters.Upper PyF.Formatters.Exponent)) PyF.Formatters.Minus) Nothing) Nothing) (Just 6)) hello)’
+      In the expression: putStrLn ((((((PyF.Internal.QQ.formatAnyFractional (PyF.Formatters.Upper PyF.Formatters.Exponent)) PyF.Formatters.Minus) Nothing) Nothing) (Just 6)) hello)
+      In an equation for ‘main’: main = putStrLn ((((((PyF.Internal.QQ.formatAnyFractional (PyF.Formatters.Upper PyF.Formatters.Exponent)) PyF.Formatters.Minus) Nothing) Nothing) (Just 6)) hello)
+  |
+7 | main = putStrLn [fmt|{hello:E}|]
+  |                      ^^^^^^^^^^^
diff --git a/test/golden/6045267287109001261.golden b/test/golden/6045267287109001261.golden
new file mode 100644
--- /dev/null
+++ b/test/golden/6045267287109001261.golden
@@ -0,0 +1,9 @@
+
+INITIALPATH:7:22: error:
+    • No instance for (Integral [Char]) arising from a use of ‘PyF.Internal.QQ.formatAnyIntegral’
+    • In the first argument of ‘putStrLn’, namely ‘(((((PyF.Internal.QQ.formatAnyIntegral PyF.Formatters.Hexa) PyF.Formatters.Minus) Nothing) Nothing) hello)’
+      In the expression: putStrLn (((((PyF.Internal.QQ.formatAnyIntegral PyF.Formatters.Hexa) PyF.Formatters.Minus) Nothing) Nothing) hello)
+      In an equation for ‘main’: main = putStrLn (((((PyF.Internal.QQ.formatAnyIntegral PyF.Formatters.Hexa) PyF.Formatters.Minus) Nothing) Nothing) hello)
+  |
+7 | main = putStrLn [fmt|{hello:x}|]
+  |                      ^^^^^^^^^^^
diff --git a/test/golden/6046956218641740019.golden b/test/golden/6046956218641740019.golden
new file mode 100644
--- /dev/null
+++ b/test/golden/6046956218641740019.golden
@@ -0,0 +1,9 @@
+
+INITIALPATH:7:22: error:
+    • No instance for (Integral [Char]) arising from a use of ‘PyF.Internal.QQ.formatAnyIntegral’
+    • In the first argument of ‘putStrLn’, namely ‘(((((PyF.Internal.QQ.formatAnyIntegral PyF.Formatters.Binary) PyF.Formatters.Minus) Nothing) Nothing) hello)’
+      In the expression: putStrLn (((((PyF.Internal.QQ.formatAnyIntegral PyF.Formatters.Binary) PyF.Formatters.Minus) Nothing) Nothing) hello)
+      In an equation for ‘main’: main = putStrLn (((((PyF.Internal.QQ.formatAnyIntegral PyF.Formatters.Binary) PyF.Formatters.Minus) Nothing) Nothing) hello)
+  |
+7 | main = putStrLn [fmt|{hello:b}|]
+  |                      ^^^^^^^^^^^
diff --git a/test/golden/6047800682159908474.golden b/test/golden/6047800682159908474.golden
new file mode 100644
--- /dev/null
+++ b/test/golden/6047800682159908474.golden
@@ -0,0 +1,9 @@
+
+INITIALPATH:7:22: error:
+    • No instance for (RealFloat [Char]) arising from a use of ‘PyF.Internal.QQ.formatAnyFractional’
+    • In the first argument of ‘putStrLn’, namely ‘((((((PyF.Internal.QQ.formatAnyFractional PyF.Formatters.Generic) PyF.Formatters.Minus) Nothing) Nothing) (Just 6)) hello)’
+      In the expression: putStrLn ((((((PyF.Internal.QQ.formatAnyFractional PyF.Formatters.Generic) PyF.Formatters.Minus) Nothing) Nothing) (Just 6)) hello)
+      In an equation for ‘main’: main = putStrLn ((((((PyF.Internal.QQ.formatAnyFractional PyF.Formatters.Generic) PyF.Formatters.Minus) Nothing) Nothing) (Just 6)) hello)
+  |
+7 | main = putStrLn [fmt|{hello:g}|]
+  |                      ^^^^^^^^^^^
diff --git a/test/golden/6048082170088778591.golden b/test/golden/6048082170088778591.golden
new file mode 100644
--- /dev/null
+++ b/test/golden/6048082170088778591.golden
@@ -0,0 +1,9 @@
+
+INITIALPATH:7:22: error:
+    • No instance for (RealFloat [Char]) arising from a use of ‘PyF.Internal.QQ.formatAnyFractional’
+    • In the first argument of ‘putStrLn’, namely ‘((((((PyF.Internal.QQ.formatAnyFractional PyF.Formatters.Fixed) PyF.Formatters.Minus) Nothing) Nothing) (Just 6)) hello)’
+      In the expression: putStrLn ((((((PyF.Internal.QQ.formatAnyFractional PyF.Formatters.Fixed) PyF.Formatters.Minus) Nothing) Nothing) (Just 6)) hello)
+      In an equation for ‘main’: main = putStrLn ((((((PyF.Internal.QQ.formatAnyFractional PyF.Formatters.Fixed) PyF.Formatters.Minus) Nothing) Nothing) (Just 6)) hello)
+  |
+7 | main = putStrLn [fmt|{hello:f}|]
+  |                      ^^^^^^^^^^^
diff --git a/test/golden/6048363662245608676.golden b/test/golden/6048363662245608676.golden
new file mode 100644
--- /dev/null
+++ b/test/golden/6048363662245608676.golden
@@ -0,0 +1,9 @@
+
+INITIALPATH:7:22: error:
+    • No instance for (RealFloat [Char]) arising from a use of ‘PyF.Internal.QQ.formatAnyFractional’
+    • In the first argument of ‘putStrLn’, namely ‘((((((PyF.Internal.QQ.formatAnyFractional PyF.Formatters.Exponent) PyF.Formatters.Minus) Nothing) Nothing) (Just 6)) hello)’
+      In the expression: putStrLn ((((((PyF.Internal.QQ.formatAnyFractional PyF.Formatters.Exponent) PyF.Formatters.Minus) Nothing) Nothing) (Just 6)) hello)
+      In an equation for ‘main’: main = putStrLn ((((((PyF.Internal.QQ.formatAnyFractional PyF.Formatters.Exponent) PyF.Formatters.Minus) Nothing) Nothing) (Just 6)) hello)
+  |
+7 | main = putStrLn [fmt|{hello:e}|]
+  |                      ^^^^^^^^^^^
diff --git a/test/golden/6048645150040257841.golden b/test/golden/6048645150040257841.golden
new file mode 100644
--- /dev/null
+++ b/test/golden/6048645150040257841.golden
@@ -0,0 +1,9 @@
+
+INITIALPATH:7:22: error:
+    • No instance for (Integral [Char]) arising from a use of ‘PyF.Internal.QQ.formatAnyIntegral’
+    • In the first argument of ‘putStrLn’, namely ‘(((((PyF.Internal.QQ.formatAnyIntegral PyF.Formatters.Decimal) PyF.Formatters.Minus) Nothing) Nothing) hello)’
+      In the expression: putStrLn (((((PyF.Internal.QQ.formatAnyIntegral PyF.Formatters.Decimal) PyF.Formatters.Minus) Nothing) Nothing) hello)
+      In an equation for ‘main’: main = putStrLn (((((PyF.Internal.QQ.formatAnyIntegral PyF.Formatters.Decimal) PyF.Formatters.Minus) Nothing) Nothing) hello)
+  |
+7 | main = putStrLn [fmt|{hello:d}|]
+  |                      ^^^^^^^^^^^
diff --git a/test/golden/6050052589349056034.golden b/test/golden/6050052589349056034.golden
new file mode 100644
--- /dev/null
+++ b/test/golden/6050052589349056034.golden
@@ -0,0 +1,9 @@
+
+INITIALPATH:7:22: error:
+    • No instance for (Integral [Char]) arising from a use of ‘PyF.Internal.QQ.formatAnyIntegral’
+    • In the first argument of ‘putStrLn’, namely ‘(((((PyF.Internal.QQ.formatAnyIntegral PyF.Formatters.Octal) PyF.Formatters.Minus) Nothing) Nothing) hello)’
+      In the expression: putStrLn (((((PyF.Internal.QQ.formatAnyIntegral PyF.Formatters.Octal) PyF.Formatters.Minus) Nothing) Nothing) hello)
+      In an equation for ‘main’: main = putStrLn (((((PyF.Internal.QQ.formatAnyIntegral PyF.Formatters.Octal) PyF.Formatters.Minus) Nothing) Nothing) hello)
+  |
+7 | main = putStrLn [fmt|{hello:o}|]
+  |                      ^^^^^^^^^^^
diff --git a/test/golden/6066378924053859748.golden b/test/golden/6066378924053859748.golden
new file mode 100644
--- /dev/null
+++ b/test/golden/6066378924053859748.golden
@@ -0,0 +1,9 @@
+
+INITIALPATH:7:22: error:
+    • No instance for (RealFloat [Char]) arising from a use of ‘PyF.Internal.QQ.formatAnyFractional’
+    • In the first argument of ‘putStrLn’, namely ‘((((((PyF.Internal.QQ.formatAnyFractional PyF.Formatters.Percent) PyF.Formatters.Minus) Nothing) Nothing) (Just 6)) hello)’
+      In the expression: putStrLn ((((((PyF.Internal.QQ.formatAnyFractional PyF.Formatters.Percent) PyF.Formatters.Minus) Nothing) Nothing) (Just 6)) hello)
+      In an equation for ‘main’: main = putStrLn ((((((PyF.Internal.QQ.formatAnyFractional PyF.Formatters.Percent) PyF.Formatters.Minus) Nothing) Nothing) (Just 6)) hello)
+  |
+7 | main = putStrLn [fmt|{hello:%}|]
+  |                      ^^^^^^^^^^^
diff --git a/test/golden/6097241206483808698.golden b/test/golden/6097241206483808698.golden
new file mode 100644
--- /dev/null
+++ b/test/golden/6097241206483808698.golden
@@ -0,0 +1,13 @@
+
+INITIALPATH:7:22: error:
+    • INITIALPATH:7:28:
+  |
+7 | main = putStrLn [fmt|hello } world|]
+  |                            ^
+unexpected '}'
+expecting "{{", "}}", '{', or end of input
+
+    • In the quasi-quotation: [fmt|hello } world|]
+  |
+7 | main = putStrLn [fmt|hello } world|]
+  |                      ^^^^^^^^^^^^^^^
diff --git a/test/golden/6623238490461560947.golden b/test/golden/6623238490461560947.golden
new file mode 100644
--- /dev/null
+++ b/test/golden/6623238490461560947.golden
@@ -0,0 +1,5 @@
+
+INITIALPATH:7:22: error: Variable not in scope: b0001
+  |
+7 | main = putStrLn [fmt|{0b0001}|]
+  |                      ^^^^^^^^^^
diff --git a/test/golden/6874382203897971272.golden b/test/golden/6874382203897971272.golden
new file mode 100644
--- /dev/null
+++ b/test/golden/6874382203897971272.golden
@@ -0,0 +1,13 @@
+
+INITIALPATH:7:22: error:
+    • INITIALPATH:7:35:
+  |
+7 | main = putStrLn [fmt|hello { world|]
+  |                                   ^
+unexpected end of input
+expecting ':' or '}'
+
+    • In the quasi-quotation: [fmt|hello { world|]
+  |
+7 | main = putStrLn [fmt|hello { world|]
+  |                      ^^^^^^^^^^^^^^^
diff --git a/test/golden/7717561110821329704.golden b/test/golden/7717561110821329704.golden
new file mode 100644
--- /dev/null
+++ b/test/golden/7717561110821329704.golden
@@ -0,0 +1,12 @@
+
+INITIALPATH:7:22: error:
+    • INITIALPATH:7:41:
+  |
+7 | main = putStrLn [fmt|{truncate number:.3o}|]
+  |                                         ^
+Type incompatible with precision (.3), use any of {'e', 'E', 'f', 'F', 'g', 'G', 'n', 's', '%'} or remove the precision field.
+
+    • In the quasi-quotation: [fmt|{truncate number:.3o}|]
+  |
+7 | main = putStrLn [fmt|{truncate number:.3o}|]
+  |                      ^^^^^^^^^^^^^^^^^^^^^^^
diff --git a/test/golden/7718968550063017457.golden b/test/golden/7718968550063017457.golden
new file mode 100644
--- /dev/null
+++ b/test/golden/7718968550063017457.golden
@@ -0,0 +1,12 @@
+
+INITIALPATH:7:22: error:
+    • INITIALPATH:7:41:
+  |
+7 | main = putStrLn [fmt|{truncate number:.3b}|]
+  |                                         ^
+Type incompatible with precision (.3), use any of {'e', 'E', 'f', 'F', 'g', 'G', 'n', 's', '%'} or remove the precision field.
+
+    • In the quasi-quotation: [fmt|{truncate number:.3b}|]
+  |
+7 | main = putStrLn [fmt|{truncate number:.3b}|]
+  |                      ^^^^^^^^^^^^^^^^^^^^^^^
diff --git a/test/golden/7719531530148717643.golden b/test/golden/7719531530148717643.golden
new file mode 100644
--- /dev/null
+++ b/test/golden/7719531530148717643.golden
@@ -0,0 +1,12 @@
+
+INITIALPATH:7:22: error:
+    • INITIALPATH:7:41:
+  |
+7 | main = putStrLn [fmt|{truncate number:.3d}|]
+  |                                         ^
+Type incompatible with precision (.3), use any of {'e', 'E', 'f', 'F', 'g', 'G', 'n', 's', '%'} or remove the precision field.
+
+    • In the quasi-quotation: [fmt|{truncate number:.3d}|]
+  |
+7 | main = putStrLn [fmt|{truncate number:.3d}|]
+  |                      ^^^^^^^^^^^^^^^^^^^^^^^
diff --git a/test/golden/7720657481595756207.golden b/test/golden/7720657481595756207.golden
new file mode 100644
--- /dev/null
+++ b/test/golden/7720657481595756207.golden
@@ -0,0 +1,12 @@
+
+INITIALPATH:7:22: error:
+    • INITIALPATH:7:41:
+  |
+7 | main = putStrLn [fmt|{truncate number:.3x}|]
+  |                                         ^
+Type incompatible with precision (.3), use any of {'e', 'E', 'f', 'F', 'g', 'G', 'n', 's', '%'} or remove the precision field.
+
+    • In the quasi-quotation: [fmt|{truncate number:.3x}|]
+  |
+7 | main = putStrLn [fmt|{truncate number:.3x}|]
+  |                      ^^^^^^^^^^^^^^^^^^^^^^^
diff --git a/test/golden/8270079288213682032.golden b/test/golden/8270079288213682032.golden
new file mode 100644
--- /dev/null
+++ b/test/golden/8270079288213682032.golden
@@ -0,0 +1,9 @@
+
+INITIALPATH:7:22: error:
+    • String type is incompatible with inside padding (=).
+    • In the first argument of ‘putStrLn’, namely ‘(((((PyF.Internal.QQ.formatAny PyF.Formatters.Minus) ((PyF.Internal.QQ.PaddingK 100) (Just (Nothing, PyF.Formatters.AlignInside)))) Nothing) Nothing) hello)’
+      In the expression: putStrLn (((((PyF.Internal.QQ.formatAny PyF.Formatters.Minus) ((PyF.Internal.QQ.PaddingK 100) (Just (Nothing, PyF.Formatters.AlignInside)))) Nothing) Nothing) hello)
+      In an equation for ‘main’: main = putStrLn (((((PyF.Internal.QQ.formatAny PyF.Formatters.Minus) ((PyF.Internal.QQ.PaddingK 100) (Just (Nothing, PyF.Formatters.AlignInside)))) Nothing) Nothing) hello)
+  |
+7 | main = putStrLn [fmt|{hello:=100}|]
+  |                      ^^^^^^^^^^^^^^
diff --git a/test/golden/85163210393859768.golden b/test/golden/85163210393859768.golden
new file mode 100644
--- /dev/null
+++ b/test/golden/85163210393859768.golden
@@ -0,0 +1,12 @@
+
+INITIALPATH:7:22: error:
+    • INITIALPATH:7:29:
+  |
+7 | main = putStrLn [fmt|{1 + - / lalalal}|]
+  |                             ^
+Parse error: /
+
+    • In the quasi-quotation: [fmt|{1 + - / lalalal}|]
+  |
+7 | main = putStrLn [fmt|{1 + - / lalalal}|]
+  |                      ^^^^^^^^^^^^^^^^^^^
