From a24c7ffa55f371e1e9d443d678ec07ca3890f25a Mon Sep 17 00:00:00 2001
From: Julien Moutinho <julm+symantic-parser@sourcephile.fr>
Date: Sat, 3 Jul 2021 21:44:01 +0200
Subject: [PATCH] grammar: add precedence to showCode

---
 src/Language/Haskell/TH/Show.hs               |   9 +-
 src/Symantic/Parser/Grammar/Production.hs     |   5 +-
 src/Symantic/Parser/Grammar/View.hs           |   2 +-
 symantic-parser.cabal                         |   2 +
 .../Grammar/OptimizeGrammar/G10.expected.txt  |   2 +-
 .../Grammar/OptimizeGrammar/G14.expected.txt  |   6 +-
 .../Grammar/OptimizeGrammar/G2.expected.txt   |   2 +-
 .../Grammar/OptimizeGrammar/G6.expected.txt   |   2 +-
 .../Grammar/OptimizeGrammar/G7.expected.txt   |   2 +-
 .../Grammar/OptimizeGrammar/G9.expected.txt   |   2 +-
 .../Grammar/ViewGrammar/G1.expected.txt       |   4 +-
 .../Grammar/ViewGrammar/G10.expected.txt      |   6 +-
 .../Grammar/ViewGrammar/G11.expected.txt      |  10 +-
 .../Grammar/ViewGrammar/G12.expected.txt      |   6 +-
 .../Grammar/ViewGrammar/G13.expected.txt      |  26 +-
 .../Grammar/ViewGrammar/G14.expected.txt      | 138 ++++----
 .../Grammar/ViewGrammar/G15.expected.txt      |   8 +-
 .../Grammar/ViewGrammar/G16.expected.txt      |  10 +-
 .../Grammar/ViewGrammar/G2.expected.txt       |  16 +-
 .../Grammar/ViewGrammar/G3.expected.txt       |   8 +-
 .../Grammar/ViewGrammar/G4.expected.txt       |  26 +-
 .../Grammar/ViewGrammar/G5.expected.txt       |  26 +-
 .../Grammar/ViewGrammar/G6.expected.txt       |  22 +-
 .../Grammar/ViewGrammar/G7.expected.txt       |  22 +-
 .../Grammar/ViewGrammar/G8.expected.txt       |   8 +-
 .../Grammar/ViewGrammar/G9.expected.txt       |   2 +-
 test/Golden/Machine/G1.expected.txt           |   4 +-
 test/Golden/Machine/G10.expected.txt          |  12 +-
 test/Golden/Machine/G11.expected.txt          |  16 +-
 test/Golden/Machine/G12.expected.txt          |  20 +-
 test/Golden/Machine/G13.expected.txt          |  40 +--
 test/Golden/Machine/G14.expected.txt          | 312 +++++++++---------
 test/Golden/Machine/G15.expected.txt          |  14 +-
 test/Golden/Machine/G16.expected.txt          |  22 +-
 test/Golden/Machine/G2.expected.txt           |  16 +-
 test/Golden/Machine/G3.expected.txt           |  14 +-
 test/Golden/Machine/G4.expected.txt           |  32 +-
 test/Golden/Machine/G5.expected.txt           |  40 +--
 test/Golden/Machine/G6.expected.txt           |  28 +-
 test/Golden/Machine/G7.expected.txt           |  28 +-
 test/Golden/Machine/G8.expected.txt           |  22 +-
 test/Golden/Machine/G9.expected.txt           |  10 +-
 42 files changed, 503 insertions(+), 499 deletions(-)

diff --git a/src/Language/Haskell/TH/Show.hs b/src/Language/Haskell/TH/Show.hs
index 2c61a8e..84b5119 100644
--- a/src/Language/Haskell/TH/Show.hs
+++ b/src/Language/Haskell/TH/Show.hs
@@ -14,6 +14,9 @@ import qualified Control.Monad.IO.Class as CM
 import qualified Control.Monad.Trans.State as MT
 import qualified Language.Haskell.TH as TH
 import qualified Language.Haskell.TH.Syntax as TH
+import qualified Language.Haskell.TH.Ppr as TH
+import qualified Language.Haskell.TH.PprLib as TH
+import qualified Text.PrettyPrint as Doc
 
 newtype ShowQ a = ShowQ { unShowQ :: MT.State Integer a }
   deriving (Functor, Applicative, Monad)
@@ -21,10 +24,10 @@ newtype ShowQ a = ShowQ { unShowQ :: MT.State Integer a }
 runShowQ :: ShowQ a -> a
 runShowQ = (`MT.evalState` 0) . unShowQ
 
-showCode :: TH.CodeQ a -> String
-showCode q = runShowQ $ do
+showCode :: TH.Precedence -> TH.CodeQ a -> String
+showCode p q = runShowQ $ do
   texp <- TH.runQ (TH.examineCode q)
-  return $ TH.pprint $ TH.unType texp
+  return $ Doc.render $ TH.to_HPJ_Doc $ TH.pprExp p $ TH.unType texp
 
 -- | The whole point of ShowQ is to remove the need for IO,
 -- but GHC's 'TH.Quasi' class forces it...
diff --git a/src/Symantic/Parser/Grammar/Production.hs b/src/Symantic/Parser/Grammar/Production.hs
index 9c7a378..57a3cd3 100644
--- a/src/Symantic/Parser/Grammar/Production.hs
+++ b/src/Symantic/Parser/Grammar/Production.hs
@@ -10,9 +10,8 @@ module Symantic.Parser.Grammar.Production where
 import Control.Monad (Monad(..))
 import Data.Functor.Identity (Identity(..))
 import Data.Functor.Product (Product(..))
-import Data.Ord (Ord(..))
 import Prelude (Num(..), undefined)
-import Text.Show (Show(..), showParen, showString)
+import Text.Show (Show(..), showString)
 import Type.Reflection (Typeable)
 import qualified Data.Either as Either
 import qualified Data.Eq as Eq
@@ -82,7 +81,7 @@ instance Show (SomeData TH.CodeQ a) where
   -- The 'Trans' constraint contained in 'SomeData'
   -- is 'TH.CodeQ', hence 'Symantic.Typed.View' cannot be used here.
   -- Fortunately 'TH.showCode' can be implemented.
-  showsPrec p = showString Fun.. TH.showCode Fun.. trans
+  showsPrec p = showString Fun.. TH.showCode p Fun.. trans
 
 instance (Abstractable f, Abstractable g) => Abstractable (Product f g) where
   -- Those 'undefined' are not unreachables by 'f'
diff --git a/src/Symantic/Parser/Grammar/View.hs b/src/Symantic/Parser/Grammar/View.hs
index e504067..da175cf 100644
--- a/src/Symantic/Parser/Grammar/View.hs
+++ b/src/Symantic/Parser/Grammar/View.hs
@@ -47,7 +47,7 @@ instance CombAlternable (ViewGrammar sN) where
   try x = ViewGrammar $ Tree.Node ("try", "") [unViewGrammar x]
 instance CombApplicable (ViewGrammar sN) where
   _f <$> x = ViewGrammar $ Tree.Node ("<$>", "") [unViewGrammar x]
-  pure a = ViewGrammar $ Tree.Node ("pure " <> show (Prod.prodCode a), "") []
+  pure a = ViewGrammar $ Tree.Node ("pure " <> showsPrec 10 (Prod.prodCode a) "", "") []
   x <*> y = ViewGrammar $ Tree.Node ("<*>", "") [unViewGrammar x, unViewGrammar y]
   x <* y = ViewGrammar $ Tree.Node ("<*", "") [unViewGrammar x, unViewGrammar y]
   x *> y = ViewGrammar $ Tree.Node ("*>", "") [unViewGrammar x, unViewGrammar y]
diff --git a/symantic-parser.cabal b/symantic-parser.cabal
index 99a5c61..db527bb 100644
--- a/symantic-parser.cabal
+++ b/symantic-parser.cabal
@@ -114,6 +114,8 @@ library
     deepseq >= 1.4,
     ghc-prim,
     hashable,
+    -- Needed to use Language.Haskell.Ppr.Lib.pprExp
+    pretty >= 1.1,
     template-haskell >= 2.16,
     text,
     transformers,
diff --git a/test/Golden/Grammar/OptimizeGrammar/G10.expected.txt b/test/Golden/Grammar/OptimizeGrammar/G10.expected.txt
index 5fac2a2..5cd7849 100644
--- a/test/Golden/Grammar/OptimizeGrammar/G10.expected.txt
+++ b/test/Golden/Grammar/OptimizeGrammar/G10.expected.txt
@@ -1,6 +1,6 @@
 lets
 ` <*>
-  + pure (GHC.Show.show)
+  + pure GHC.Show.show
   ` <|>
     + <*>
     | + pure (\x_0 -> 'a')
diff --git a/test/Golden/Grammar/OptimizeGrammar/G14.expected.txt b/test/Golden/Grammar/OptimizeGrammar/G14.expected.txt
index 3fbc6b6..a52ced3 100644
--- a/test/Golden/Grammar/OptimizeGrammar/G14.expected.txt
+++ b/test/Golden/Grammar/OptimizeGrammar/G14.expected.txt
@@ -390,11 +390,11 @@ lets
 |   | ` ref <hidden>
 |   ` ref <hidden>
 + let <hidden>
-| ` pure (GHC.Tuple.())
+| ` pure (\x_0 -> \x_1 -> x_1)
 + let <hidden>
-| ` pure (GHC.Tuple.())
+| ` pure GHC.Tuple.()
 + let <hidden>
-| ` pure (\x_0 -> \x_1 -> x_1)
+| ` pure GHC.Tuple.()
 + let <hidden>
 | ` satisfy
 ` <*>
diff --git a/test/Golden/Grammar/OptimizeGrammar/G2.expected.txt b/test/Golden/Grammar/OptimizeGrammar/G2.expected.txt
index 5d49476..fc06d8b 100644
--- a/test/Golden/Grammar/OptimizeGrammar/G2.expected.txt
+++ b/test/Golden/Grammar/OptimizeGrammar/G2.expected.txt
@@ -1,6 +1,6 @@
 lets
 ` <*>
-  + pure (GHC.Show.show)
+  + pure GHC.Show.show
   ` try
     ` <*>
       + <*>
diff --git a/test/Golden/Grammar/OptimizeGrammar/G6.expected.txt b/test/Golden/Grammar/OptimizeGrammar/G6.expected.txt
index 88c35f1..e0fb9b3 100644
--- a/test/Golden/Grammar/OptimizeGrammar/G6.expected.txt
+++ b/test/Golden/Grammar/OptimizeGrammar/G6.expected.txt
@@ -1,6 +1,6 @@
 lets
 ` <*>
-  + pure (GHC.Show.show)
+  + pure GHC.Show.show
   ` <|>
     + <*>
     | + <*>
diff --git a/test/Golden/Grammar/OptimizeGrammar/G7.expected.txt b/test/Golden/Grammar/OptimizeGrammar/G7.expected.txt
index 5f4794f..ebeaf1a 100644
--- a/test/Golden/Grammar/OptimizeGrammar/G7.expected.txt
+++ b/test/Golden/Grammar/OptimizeGrammar/G7.expected.txt
@@ -1,6 +1,6 @@
 lets
 ` <*>
-  + pure (GHC.Show.show)
+  + pure GHC.Show.show
   ` <|>
     + try
     | ` <*>
diff --git a/test/Golden/Grammar/OptimizeGrammar/G9.expected.txt b/test/Golden/Grammar/OptimizeGrammar/G9.expected.txt
index 755f586..2f3ae5d 100644
--- a/test/Golden/Grammar/OptimizeGrammar/G9.expected.txt
+++ b/test/Golden/Grammar/OptimizeGrammar/G9.expected.txt
@@ -1,4 +1,4 @@
 lets
 ` <*>
-  + pure (GHC.Show.show)
+  + pure GHC.Show.show
   ` eof
diff --git a/test/Golden/Grammar/ViewGrammar/G1.expected.txt b/test/Golden/Grammar/ViewGrammar/G1.expected.txt
index 814b9a4..fffecdd 100644
--- a/test/Golden/Grammar/ViewGrammar/G1.expected.txt
+++ b/test/Golden/Grammar/ViewGrammar/G1.expected.txt
@@ -1,8 +1,8 @@
 lets
 ` <*>
-  + pure (GHC.Show.show)
+  + pure GHC.Show.show
   ` <*>
     + <*>
     | + pure (\x_0 -> \x_1 -> x_0)
-    | ` pure ('a')
+    | ` pure 'a'
     ` satisfy
diff --git a/test/Golden/Grammar/ViewGrammar/G10.expected.txt b/test/Golden/Grammar/ViewGrammar/G10.expected.txt
index 4d83f65..c29a057 100644
--- a/test/Golden/Grammar/ViewGrammar/G10.expected.txt
+++ b/test/Golden/Grammar/ViewGrammar/G10.expected.txt
@@ -1,14 +1,14 @@
 lets
 ` <*>
-  + pure (GHC.Show.show)
+  + pure GHC.Show.show
   ` <|>
     + <*>
     | + <*>
     | | + pure (\x_0 -> \x_1 -> x_0)
-    | | ` pure ('a')
+    | | ` pure 'a'
     | ` satisfy
     ` <*>
       + <*>
       | + pure (\x_0 -> \x_1 -> x_0)
-      | ` pure ('b')
+      | ` pure 'b'
       ` satisfy
diff --git a/test/Golden/Grammar/ViewGrammar/G11.expected.txt b/test/Golden/Grammar/ViewGrammar/G11.expected.txt
index eb750a6..71edceb 100644
--- a/test/Golden/Grammar/ViewGrammar/G11.expected.txt
+++ b/test/Golden/Grammar/ViewGrammar/G11.expected.txt
@@ -5,24 +5,24 @@ lets
 |   | + <*>
 |   | | + pure (\x_0 -> \x_1 -> \x_2 -> x_0 (x_1 x_2))
 |   | | ` <*>
-|   | |   + pure ((GHC.Types.:))
+|   | |   + pure (GHC.Types.:)
 |   | |   ` <*>
 |   | |     + <*>
 |   | |     | + pure (\x_0 -> \x_1 -> x_0)
-|   | |     | ` pure ('a')
+|   | |     | ` pure 'a'
 |   | |     ` satisfy
 |   | ` rec <hidden>
 |   ` pure (\x_0 -> x_0)
 ` <*>
-  + pure (GHC.Show.show)
+  + pure GHC.Show.show
   ` <*>
     + <*>
     | + pure (\x_0 -> \x_1 -> x_0)
     | ` <*>
     |   + ref <hidden>
-    |   ` pure (GHC.Types.[])
+    |   ` pure GHC.Types.[]
     ` <*>
       + <*>
       | + pure (\x_0 -> \x_1 -> x_0)
-      | ` pure ('b')
+      | ` pure 'b'
       ` satisfy
diff --git a/test/Golden/Grammar/ViewGrammar/G12.expected.txt b/test/Golden/Grammar/ViewGrammar/G12.expected.txt
index a83a2dc..b559210 100644
--- a/test/Golden/Grammar/ViewGrammar/G12.expected.txt
+++ b/test/Golden/Grammar/ViewGrammar/G12.expected.txt
@@ -5,16 +5,16 @@ lets
 |   | + <*>
 |   | | + pure (\x_0 -> \x_1 -> \x_2 -> x_0 (x_1 x_2))
 |   | | ` <*>
-|   | |   + pure ((GHC.Types.:))
+|   | |   + pure (GHC.Types.:)
 |   | |   ` satisfy
 |   | ` rec <hidden>
 |   ` pure (\x_0 -> x_0)
 ` <*>
-  + pure (GHC.Show.show)
+  + pure GHC.Show.show
   ` <*>
     + <*>
     | + pure (\x_0 -> \x_1 -> x_0)
     | ` <*>
     |   + ref <hidden>
-    |   ` pure (GHC.Types.[])
+    |   ` pure GHC.Types.[]
     ` eof
diff --git a/test/Golden/Grammar/ViewGrammar/G13.expected.txt b/test/Golden/Grammar/ViewGrammar/G13.expected.txt
index 68a2be8..040e731 100644
--- a/test/Golden/Grammar/ViewGrammar/G13.expected.txt
+++ b/test/Golden/Grammar/ViewGrammar/G13.expected.txt
@@ -8,13 +8,13 @@ lets
 |   | ` <*>
 |   |   + <*>
 |   |   | + pure ((\x_0 -> \x_1 -> \x_2 -> x_0 x_2 x_1) (\x_3 -> \x_4 -> x_3 x_4))
-|   |   | ` pure (GHC.Tuple.())
+|   |   | ` pure GHC.Tuple.()
 |   |   ` ref <hidden>
-|   ` pure (GHC.Tuple.())
+|   ` pure GHC.Tuple.()
 + let <hidden>
 | ` <*>
 |   + ref <hidden>
-|   ` pure (GHC.Types.[])
+|   ` pure GHC.Types.[]
 + let <hidden>
 | ` <|>
 |   + <*>
@@ -33,7 +33,7 @@ lets
 |   | + <*>
 |   | | + pure (\x_0 -> \x_1 -> \x_2 -> x_0 (x_1 x_2))
 |   | | ` <*>
-|   | |   + pure ((GHC.Types.:))
+|   | |   + pure (GHC.Types.:)
 |   | |   ` <*>
 |   | |     + <*>
 |   | |     | + pure (\x_0 -> \x_1 -> x_0)
@@ -44,32 +44,32 @@ lets
 |   | |     |   | + <*>
 |   | |     |   | | + <*>
 |   | |     |   | | | + pure (\x_0 -> \x_1 -> x_0)
-|   | |     |   | | | ` pure (Parsers.Brainfuck.Types.Backward)
+|   | |     |   | | | ` pure Parsers.Brainfuck.Types.Backward
 |   | |     |   | | ` satisfy
 |   | |     |   | + <*>
 |   | |     |   | | + <*>
 |   | |     |   | | | + pure (\x_0 -> \x_1 -> x_0)
-|   | |     |   | | | ` pure (Parsers.Brainfuck.Types.Forward)
+|   | |     |   | | | ` pure Parsers.Brainfuck.Types.Forward
 |   | |     |   | | ` satisfy
 |   | |     |   | + <*>
 |   | |     |   | | + <*>
 |   | |     |   | | | + pure (\x_0 -> \x_1 -> x_0)
-|   | |     |   | | | ` pure (Parsers.Brainfuck.Types.Increment)
+|   | |     |   | | | ` pure Parsers.Brainfuck.Types.Increment
 |   | |     |   | | ` satisfy
 |   | |     |   | + <*>
 |   | |     |   | | + <*>
 |   | |     |   | | | + pure (\x_0 -> \x_1 -> x_0)
-|   | |     |   | | | ` pure (Parsers.Brainfuck.Types.Decrement)
+|   | |     |   | | | ` pure Parsers.Brainfuck.Types.Decrement
 |   | |     |   | | ` satisfy
 |   | |     |   | + <*>
 |   | |     |   | | + <*>
 |   | |     |   | | | + pure (\x_0 -> \x_1 -> x_0)
-|   | |     |   | | | ` pure (Parsers.Brainfuck.Types.Input)
+|   | |     |   | | | ` pure Parsers.Brainfuck.Types.Input
 |   | |     |   | | ` satisfy
 |   | |     |   | + <*>
 |   | |     |   | | + <*>
 |   | |     |   | | | + pure (\x_0 -> \x_1 -> x_0)
-|   | |     |   | | | ` pure (Parsers.Brainfuck.Types.Output)
+|   | |     |   | | | ` pure Parsers.Brainfuck.Types.Output
 |   | |     |   | | ` satisfy
 |   | |     |   | ` <*>
 |   | |     |   |   + <*>
@@ -85,19 +85,19 @@ lets
 |   | |     |   |   |   |   | ` satisfy
 |   | |     |   |   |   |   ` ref <hidden>
 |   | |     |   |   |   ` <*>
-|   | |     |   |   |     + pure (Parsers.Brainfuck.Types.Loop)
+|   | |     |   |   |     + pure Parsers.Brainfuck.Types.Loop
 |   | |     |   |   |     ` rec <hidden>
 |   | |     |   |   ` <*>
 |   | |     |   |     + <*>
 |   | |     |   |     | + pure (\x_0 -> \x_1 -> x_0)
-|   | |     |   |     | ` pure (']')
+|   | |     |   |     | ` pure ']'
 |   | |     |   |     ` satisfy
 |   | |     |   ` failure
 |   | |     ` ref <hidden>
 |   | ` rec <hidden>
 |   ` pure (\x_0 -> x_0)
 ` <*>
-  + pure (GHC.Show.show)
+  + pure GHC.Show.show
   ` <*>
     + <*>
     | + <*>
diff --git a/test/Golden/Grammar/ViewGrammar/G14.expected.txt b/test/Golden/Grammar/ViewGrammar/G14.expected.txt
index a3ade90..b33f5de 100644
--- a/test/Golden/Grammar/ViewGrammar/G14.expected.txt
+++ b/test/Golden/Grammar/ViewGrammar/G14.expected.txt
@@ -14,9 +14,9 @@ lets
 |     | ` <*>
 |     |   + <*>
 |     |   | + pure ((\x_0 -> \x_1 -> \x_2 -> x_0 x_2 x_1) (\x_3 -> \x_4 -> x_3 x_4))
-|     |   | ` pure (GHC.Tuple.())
+|     |   | ` pure GHC.Tuple.()
 |     |   ` ref <hidden>
-|     ` pure (GHC.Tuple.())
+|     ` pure GHC.Tuple.()
 + let <hidden>
 | ` <*>
 |   + <*>
@@ -50,7 +50,7 @@ lets
 |   |   |   | ` <*>
 |   |   |   |   + <*>
 |   |   |   |   | + pure (\x_0 -> \x_1 -> x_0)
-|   |   |   |   | ` pure ('[')
+|   |   |   |   | ` pure '['
 |   |   |   |   ` satisfy
 |   |   |   ` ref <hidden>
 |   |   ` <*>
@@ -67,16 +67,16 @@ lets
 |   |       | ` <*>
 |   |       |   + <*>
 |   |       |   | + pure ((\x_0 -> \x_1 -> \x_2 -> x_0 x_2 x_1) (\x_3 -> \x_4 -> x_3 x_4))
-|   |       |   | ` pure (GHC.Tuple.())
+|   |       |   | ` pure GHC.Tuple.()
 |   |       |   ` ref <hidden>
-|   |       ` pure (GHC.Tuple.())
+|   |       ` pure GHC.Tuple.()
 |   ` <*>
 |     + <*>
 |     | + pure (\x_0 -> \x_1 -> x_0)
 |     | ` <*>
 |     |   + <*>
 |     |   | + pure (\x_0 -> \x_1 -> x_0)
-|     |   | ` pure (']')
+|     |   | ` pure ']'
 |     |   ` satisfy
 |     ` ref <hidden>
 + let <hidden>
@@ -94,7 +94,7 @@ lets
 |   |   |   | ` <*>
 |   |   |   |   + <*>
 |   |   |   |   | + pure (\x_0 -> \x_1 -> x_0)
-|   |   |   |   | ` pure ('{')
+|   |   |   |   | ` pure '{'
 |   |   |   |   ` satisfy
 |   |   |   ` ref <hidden>
 |   |   ` <*>
@@ -114,7 +114,7 @@ lets
 |     | ` <*>
 |     |   + <*>
 |     |   | + pure (\x_0 -> \x_1 -> x_0)
-|     |   | ` pure ('}')
+|     |   | ` pure '}'
 |     |   ` satisfy
 |     ` ref <hidden>
 + let <hidden>
@@ -128,7 +128,7 @@ lets
 |     + <*>
 |     | + <*>
 |     | | + pure (\x_0 -> \x_1 -> x_0)
-|     | | ` pure (GHC.Tuple.())
+|     | | ` pure GHC.Tuple.()
 |     | ` ref <hidden>
 |     ` ref <hidden>
 + let <hidden>
@@ -171,7 +171,7 @@ lets
 |   | ` <*>
 |   |   + <*>
 |   |   | + pure (\x_0 -> \x_1 -> x_0)
-|   |   | ` pure ('(')
+|   |   | ` pure '('
 |   |   ` satisfy
 |   ` ref <hidden>
 + let <hidden>
@@ -181,7 +181,7 @@ lets
 |   | ` <*>
 |   |   + <*>
 |   |   | + pure (\x_0 -> \x_1 -> x_0)
-|   |   | ` pure (')')
+|   |   | ` pure ')'
 |   |   ` satisfy
 |   ` ref <hidden>
 + let <hidden>
@@ -191,7 +191,7 @@ lets
 |   | ` <*>
 |   |   + <*>
 |   |   | + pure (\x_0 -> \x_1 -> x_0)
-|   |   | ` pure (',')
+|   |   | ` pure ','
 |   |   ` satisfy
 |   ` ref <hidden>
 + let <hidden>
@@ -201,7 +201,7 @@ lets
 |   | ` <*>
 |   |   + <*>
 |   |   | + pure (\x_0 -> \x_1 -> x_0)
-|   |   | ` pure (';')
+|   |   | ` pure ';'
 |   |   ` satisfy
 |   ` ref <hidden>
 + let <hidden>
@@ -240,69 +240,69 @@ lets
 |   | |     |   |   |   | ` try
 |   | |     |   |   |   |   ` <*>
 |   | |     |   |   |   |     + <*>
-|   | |     |   |   |   |     | + pure ((GHC.Types.:))
+|   | |     |   |   |   |     | + pure (GHC.Types.:)
 |   | |     |   |   |   |     | ` <*>
 |   | |     |   |   |   |     |   + <*>
 |   | |     |   |   |   |     |   | + pure (\x_0 -> \x_1 -> x_0)
-|   | |     |   |   |   |     |   | ` pure ('f')
+|   | |     |   |   |   |     |   | ` pure 'f'
 |   | |     |   |   |   |     |   ` satisfy
 |   | |     |   |   |   |     ` <*>
 |   | |     |   |   |   |       + <*>
-|   | |     |   |   |   |       | + pure ((GHC.Types.:))
+|   | |     |   |   |   |       | + pure (GHC.Types.:)
 |   | |     |   |   |   |       | ` <*>
 |   | |     |   |   |   |       |   + <*>
 |   | |     |   |   |   |       |   | + pure (\x_0 -> \x_1 -> x_0)
-|   | |     |   |   |   |       |   | ` pure ('u')
+|   | |     |   |   |   |       |   | ` pure 'u'
 |   | |     |   |   |   |       |   ` satisfy
 |   | |     |   |   |   |       ` <*>
 |   | |     |   |   |   |         + <*>
-|   | |     |   |   |   |         | + pure ((GHC.Types.:))
+|   | |     |   |   |   |         | + pure (GHC.Types.:)
 |   | |     |   |   |   |         | ` <*>
 |   | |     |   |   |   |         |   + <*>
 |   | |     |   |   |   |         |   | + pure (\x_0 -> \x_1 -> x_0)
-|   | |     |   |   |   |         |   | ` pure ('n')
+|   | |     |   |   |   |         |   | ` pure 'n'
 |   | |     |   |   |   |         |   ` satisfy
 |   | |     |   |   |   |         ` <*>
 |   | |     |   |   |   |           + <*>
-|   | |     |   |   |   |           | + pure ((GHC.Types.:))
+|   | |     |   |   |   |           | + pure (GHC.Types.:)
 |   | |     |   |   |   |           | ` <*>
 |   | |     |   |   |   |           |   + <*>
 |   | |     |   |   |   |           |   | + pure (\x_0 -> \x_1 -> x_0)
-|   | |     |   |   |   |           |   | ` pure ('c')
+|   | |     |   |   |   |           |   | ` pure 'c'
 |   | |     |   |   |   |           |   ` satisfy
 |   | |     |   |   |   |           ` <*>
 |   | |     |   |   |   |             + <*>
-|   | |     |   |   |   |             | + pure ((GHC.Types.:))
+|   | |     |   |   |   |             | + pure (GHC.Types.:)
 |   | |     |   |   |   |             | ` <*>
 |   | |     |   |   |   |             |   + <*>
 |   | |     |   |   |   |             |   | + pure (\x_0 -> \x_1 -> x_0)
-|   | |     |   |   |   |             |   | ` pure ('t')
+|   | |     |   |   |   |             |   | ` pure 't'
 |   | |     |   |   |   |             |   ` satisfy
 |   | |     |   |   |   |             ` <*>
 |   | |     |   |   |   |               + <*>
-|   | |     |   |   |   |               | + pure ((GHC.Types.:))
+|   | |     |   |   |   |               | + pure (GHC.Types.:)
 |   | |     |   |   |   |               | ` <*>
 |   | |     |   |   |   |               |   + <*>
 |   | |     |   |   |   |               |   | + pure (\x_0 -> \x_1 -> x_0)
-|   | |     |   |   |   |               |   | ` pure ('i')
+|   | |     |   |   |   |               |   | ` pure 'i'
 |   | |     |   |   |   |               |   ` satisfy
 |   | |     |   |   |   |               ` <*>
 |   | |     |   |   |   |                 + <*>
-|   | |     |   |   |   |                 | + pure ((GHC.Types.:))
+|   | |     |   |   |   |                 | + pure (GHC.Types.:)
 |   | |     |   |   |   |                 | ` <*>
 |   | |     |   |   |   |                 |   + <*>
 |   | |     |   |   |   |                 |   | + pure (\x_0 -> \x_1 -> x_0)
-|   | |     |   |   |   |                 |   | ` pure ('o')
+|   | |     |   |   |   |                 |   | ` pure 'o'
 |   | |     |   |   |   |                 |   ` satisfy
 |   | |     |   |   |   |                 ` <*>
 |   | |     |   |   |   |                   + <*>
-|   | |     |   |   |   |                   | + pure ((GHC.Types.:))
+|   | |     |   |   |   |                   | + pure (GHC.Types.:)
 |   | |     |   |   |   |                   | ` <*>
 |   | |     |   |   |   |                   |   + <*>
 |   | |     |   |   |   |                   |   | + pure (\x_0 -> \x_1 -> x_0)
-|   | |     |   |   |   |                   |   | ` pure ('n')
+|   | |     |   |   |   |                   |   | ` pure 'n'
 |   | |     |   |   |   |                   |   ` satisfy
-|   | |     |   |   |   |                   ` pure (GHC.Types.[])
+|   | |     |   |   |   |                   ` pure GHC.Types.[]
 |   | |     |   |   |   ` ref <hidden>
 |   | |     |   |   ` ref <hidden>
 |   | |     |   ` <*>
@@ -324,7 +324,7 @@ lets
 |   | |     |     |       + <*>
 |   | |     |     |       | + <*>
 |   | |     |     |       | | + pure (\x_0 -> \x_1 -> x_0)
-|   | |     |     |       | | ` pure (GHC.Tuple.())
+|   | |     |     |       | | ` pure GHC.Tuple.()
 |   | |     |     |       | ` <*>
 |   | |     |     |       |   + <*>
 |   | |     |     |       |   | + <*>
@@ -336,7 +336,7 @@ lets
 |   | |     |     |       |   |   | ` <*>
 |   | |     |     |       |   |   |   + <*>
 |   | |     |     |       |   |   |   | + pure (\x_0 -> \x_1 -> x_0)
-|   | |     |     |       |   |   |   | ` pure (':')
+|   | |     |     |       |   |   |   | ` pure ':'
 |   | |     |     |       |   |   |   ` satisfy
 |   | |     |     |       |   |   ` ref <hidden>
 |   | |     |     |       |   ` ref <hidden>
@@ -365,7 +365,7 @@ lets
 |   | |     |   | ` <*>
 |   | |     |   |   + <*>
 |   | |     |   |   | + pure (\x_0 -> \x_1 -> x_0)
-|   | |     |   |   | ` pure ('!')
+|   | |     |   |   | ` pure '!'
 |   | |     |   |   ` satisfy
 |   | |     |   ` ref <hidden>
 |   | |     ` ref <hidden>
@@ -391,21 +391,21 @@ lets
 |   | |     | | | | ` try
 |   | |     | | | |   ` <*>
 |   | |     | | | |     + <*>
-|   | |     | | | |     | + pure ((GHC.Types.:))
+|   | |     | | | |     | + pure (GHC.Types.:)
 |   | |     | | | |     | ` <*>
 |   | |     | | | |     |   + <*>
 |   | |     | | | |     |   | + pure (\x_0 -> \x_1 -> x_0)
-|   | |     | | | |     |   | ` pure ('i')
+|   | |     | | | |     |   | ` pure 'i'
 |   | |     | | | |     |   ` satisfy
 |   | |     | | | |     ` <*>
 |   | |     | | | |       + <*>
-|   | |     | | | |       | + pure ((GHC.Types.:))
+|   | |     | | | |       | + pure (GHC.Types.:)
 |   | |     | | | |       | ` <*>
 |   | |     | | | |       |   + <*>
 |   | |     | | | |       |   | + pure (\x_0 -> \x_1 -> x_0)
-|   | |     | | | |       |   | ` pure ('f')
+|   | |     | | | |       |   | ` pure 'f'
 |   | |     | | | |       |   ` satisfy
-|   | |     | | | |       ` pure (GHC.Types.[])
+|   | |     | | | |       ` pure GHC.Types.[]
 |   | |     | | | ` ref <hidden>
 |   | |     | | ` <*>
 |   | |     | |   + <*>
@@ -425,45 +425,45 @@ lets
 |   | |     | |   |   |   | ` try
 |   | |     | |   |   |   |   ` <*>
 |   | |     | |   |   |   |     + <*>
-|   | |     | |   |   |   |     | + pure ((GHC.Types.:))
+|   | |     | |   |   |   |     | + pure (GHC.Types.:)
 |   | |     | |   |   |   |     | ` <*>
 |   | |     | |   |   |   |     |   + <*>
 |   | |     | |   |   |   |     |   | + pure (\x_0 -> \x_1 -> x_0)
-|   | |     | |   |   |   |     |   | ` pure ('w')
+|   | |     | |   |   |   |     |   | ` pure 'w'
 |   | |     | |   |   |   |     |   ` satisfy
 |   | |     | |   |   |   |     ` <*>
 |   | |     | |   |   |   |       + <*>
-|   | |     | |   |   |   |       | + pure ((GHC.Types.:))
+|   | |     | |   |   |   |       | + pure (GHC.Types.:)
 |   | |     | |   |   |   |       | ` <*>
 |   | |     | |   |   |   |       |   + <*>
 |   | |     | |   |   |   |       |   | + pure (\x_0 -> \x_1 -> x_0)
-|   | |     | |   |   |   |       |   | ` pure ('h')
+|   | |     | |   |   |   |       |   | ` pure 'h'
 |   | |     | |   |   |   |       |   ` satisfy
 |   | |     | |   |   |   |       ` <*>
 |   | |     | |   |   |   |         + <*>
-|   | |     | |   |   |   |         | + pure ((GHC.Types.:))
+|   | |     | |   |   |   |         | + pure (GHC.Types.:)
 |   | |     | |   |   |   |         | ` <*>
 |   | |     | |   |   |   |         |   + <*>
 |   | |     | |   |   |   |         |   | + pure (\x_0 -> \x_1 -> x_0)
-|   | |     | |   |   |   |         |   | ` pure ('i')
+|   | |     | |   |   |   |         |   | ` pure 'i'
 |   | |     | |   |   |   |         |   ` satisfy
 |   | |     | |   |   |   |         ` <*>
 |   | |     | |   |   |   |           + <*>
-|   | |     | |   |   |   |           | + pure ((GHC.Types.:))
+|   | |     | |   |   |   |           | + pure (GHC.Types.:)
 |   | |     | |   |   |   |           | ` <*>
 |   | |     | |   |   |   |           |   + <*>
 |   | |     | |   |   |   |           |   | + pure (\x_0 -> \x_1 -> x_0)
-|   | |     | |   |   |   |           |   | ` pure ('l')
+|   | |     | |   |   |   |           |   | ` pure 'l'
 |   | |     | |   |   |   |           |   ` satisfy
 |   | |     | |   |   |   |           ` <*>
 |   | |     | |   |   |   |             + <*>
-|   | |     | |   |   |   |             | + pure ((GHC.Types.:))
+|   | |     | |   |   |   |             | + pure (GHC.Types.:)
 |   | |     | |   |   |   |             | ` <*>
 |   | |     | |   |   |   |             |   + <*>
 |   | |     | |   |   |   |             |   | + pure (\x_0 -> \x_1 -> x_0)
-|   | |     | |   |   |   |             |   | ` pure ('e')
+|   | |     | |   |   |   |             |   | ` pure 'e'
 |   | |     | |   |   |   |             |   ` satisfy
-|   | |     | |   |   |   |             ` pure (GHC.Types.[])
+|   | |     | |   |   |   |             ` pure GHC.Types.[]
 |   | |     | |   |   |   ` ref <hidden>
 |   | |     | |   |   ` ref <hidden>
 |   | |     | |   ` rec <hidden>
@@ -490,7 +490,7 @@ lets
 |   | |     |     |   |   |   |   + <*>
 |   | |     |     |   |   |   |   | + <*>
 |   | |     |     |   |   |   |   | | + pure (\x_0 -> \x_1 -> x_0)
-|   | |     |     |   |   |   |   | | ` pure (GHC.Tuple.())
+|   | |     |     |   |   |   |   | | ` pure GHC.Tuple.()
 |   | |     |     |   |   |   |   | ` <*>
 |   | |     |     |   |   |   |   |   + <*>
 |   | |     |     |   |   |   |   |   | + <*>
@@ -499,29 +499,29 @@ lets
 |   | |     |     |   |   |   |   |   | ` try
 |   | |     |     |   |   |   |   |   |   ` <*>
 |   | |     |     |   |   |   |   |   |     + <*>
-|   | |     |     |   |   |   |   |   |     | + pure ((GHC.Types.:))
+|   | |     |     |   |   |   |   |   |     | + pure (GHC.Types.:)
 |   | |     |     |   |   |   |   |   |     | ` <*>
 |   | |     |     |   |   |   |   |   |     |   + <*>
 |   | |     |     |   |   |   |   |   |     |   | + pure (\x_0 -> \x_1 -> x_0)
-|   | |     |     |   |   |   |   |   |     |   | ` pure ('v')
+|   | |     |     |   |   |   |   |   |     |   | ` pure 'v'
 |   | |     |     |   |   |   |   |   |     |   ` satisfy
 |   | |     |     |   |   |   |   |   |     ` <*>
 |   | |     |     |   |   |   |   |   |       + <*>
-|   | |     |     |   |   |   |   |   |       | + pure ((GHC.Types.:))
+|   | |     |     |   |   |   |   |   |       | + pure (GHC.Types.:)
 |   | |     |     |   |   |   |   |   |       | ` <*>
 |   | |     |     |   |   |   |   |   |       |   + <*>
 |   | |     |     |   |   |   |   |   |       |   | + pure (\x_0 -> \x_1 -> x_0)
-|   | |     |     |   |   |   |   |   |       |   | ` pure ('a')
+|   | |     |     |   |   |   |   |   |       |   | ` pure 'a'
 |   | |     |     |   |   |   |   |   |       |   ` satisfy
 |   | |     |     |   |   |   |   |   |       ` <*>
 |   | |     |     |   |   |   |   |   |         + <*>
-|   | |     |     |   |   |   |   |   |         | + pure ((GHC.Types.:))
+|   | |     |     |   |   |   |   |   |         | + pure (GHC.Types.:)
 |   | |     |     |   |   |   |   |   |         | ` <*>
 |   | |     |     |   |   |   |   |   |         |   + <*>
 |   | |     |     |   |   |   |   |   |         |   | + pure (\x_0 -> \x_1 -> x_0)
-|   | |     |     |   |   |   |   |   |         |   | ` pure ('r')
+|   | |     |     |   |   |   |   |   |         |   | ` pure 'r'
 |   | |     |     |   |   |   |   |   |         |   ` satisfy
-|   | |     |     |   |   |   |   |   |         ` pure (GHC.Types.[])
+|   | |     |     |   |   |   |   |   |         ` pure GHC.Types.[]
 |   | |     |     |   |   |   |   |   ` ref <hidden>
 |   | |     |     |   |   |   |   ` ref <hidden>
 |   | |     |     |   |   |   ` <*>
@@ -547,7 +547,7 @@ lets
 |   | |     |     |   |     | ` <*>
 |   | |     |     |   |     |   + <*>
 |   | |     |     |   |     |   | + pure (\x_0 -> \x_1 -> x_0)
-|   | |     |     |   |     |   | ` pure ('=')
+|   | |     |     |   |     |   | ` pure '='
 |   | |     |     |   |     |   ` satisfy
 |   | |     |     |   |     ` ref <hidden>
 |   | |     |     |   ` <*>
@@ -680,7 +680,7 @@ lets
 |   + <*>
 |   | + <*>
 |   | | + pure (\x_0 -> \x_1 -> x_0)
-|   | | ` pure (GHC.Tuple.())
+|   | | ` pure GHC.Tuple.()
 |   | ` <*>
 |   |   + <*>
 |   |   | + <*>
@@ -711,12 +711,12 @@ lets
 |   | | |   + <*>
 |   | | |   | + <*>
 |   | | |   | | + pure (\x_0 -> \x_1 -> x_0)
-|   | | |   | | ` pure ('0')
+|   | | |   | | ` pure '0'
 |   | | |   | ` satisfy
 |   | | |   ` <*>
 |   | | |     + <*>
 |   | | |     | + pure (\x_0 -> \x_1 -> x_0)
-|   | | |     | ` pure ('1')
+|   | | |     | ` pure '1'
 |   | | |     ` satisfy
 |   | | ` ref <hidden>
 |   | ` <*>
@@ -730,7 +730,7 @@ lets
 |   |   |   | ` <*>
 |   |   |   |   + <*>
 |   |   |   |   | + pure (\x_0 -> \x_1 -> x_0)
-|   |   |   |   | ` pure ('\'')
+|   |   |   |   | ` pure '\''
 |   |   |   |   ` satisfy
 |   |   |   ` <|>
 |   |   |     + <*>
@@ -748,7 +748,7 @@ lets
 |   |   |       | ` <*>
 |   |   |       |   + <*>
 |   |   |       |   | + pure (\x_0 -> \x_1 -> x_0)
-|   |   |       |   | ` pure ('\\')
+|   |   |       |   | ` pure '\\'
 |   |   |       |   ` satisfy
 |   |   |       ` <*>
 |   |   |         + <*>
@@ -763,7 +763,7 @@ lets
 |   |     | ` <*>
 |   |     |   + <*>
 |   |     |   | + pure (\x_0 -> \x_1 -> x_0)
-|   |     |   | ` pure ('\'')
+|   |     |   | ` pure '\''
 |   |     |   ` satisfy
 |   |     ` ref <hidden>
 |   ` <*>
@@ -776,7 +776,7 @@ lets
 |       + <*>
 |       | + <*>
 |       | | + pure (\x_0 -> \x_1 -> x_0)
-|       | | ` pure (GHC.Tuple.())
+|       | | ` pure GHC.Tuple.()
 |       | ` <|>
 |       |   + <*>
 |       |   | + <*>
@@ -791,7 +791,7 @@ lets
 |       |   | |     + <*>
 |       |   | |     | + <*>
 |       |   | |     | | + pure (\x_0 -> \x_1 -> x_0)
-|       |   | |     | | ` pure (GHC.Tuple.())
+|       |   | |     | | ` pure GHC.Tuple.()
 |       |   | |     | ` <*>
 |       |   | |     |   + <*>
 |       |   | |     |   | + <*>
@@ -814,13 +814,13 @@ lets
 |       |   ` ref <hidden>
 |       ` ref <hidden>
 + let <hidden>
-| ` pure (GHC.Tuple.())
+| ` pure GHC.Tuple.()
 + let <hidden>
-| ` pure (GHC.Tuple.())
+| ` pure GHC.Tuple.()
 + let <hidden>
 | ` satisfy
 ` <*>
-  + pure (GHC.Show.show)
+  + pure GHC.Show.show
   ` <*>
     + <*>
     | + pure (\x_0 -> \x_1 -> x_0)
diff --git a/test/Golden/Grammar/ViewGrammar/G15.expected.txt b/test/Golden/Grammar/ViewGrammar/G15.expected.txt
index 79743b4..cb67016 100644
--- a/test/Golden/Grammar/ViewGrammar/G15.expected.txt
+++ b/test/Golden/Grammar/ViewGrammar/G15.expected.txt
@@ -1,6 +1,6 @@
 lets
 ` <*>
-  + pure (GHC.Show.show)
+  + pure GHC.Show.show
   ` <*>
     + <*>
     | + pure (\x_0 -> \x_1 -> x_0)
@@ -8,15 +8,15 @@ lets
     |   + <*>
     |   | + <*>
     |   | | + pure (\x_0 -> \x_1 -> x_0)
-    |   | | ` pure ('a')
+    |   | | ` pure 'a'
     |   | ` satisfy
     |   ` <*>
     |     + <*>
     |     | + pure (\x_0 -> \x_1 -> x_0)
-    |     | ` pure ('b')
+    |     | ` pure 'b'
     |     ` satisfy
     ` <*>
       + <*>
       | + pure (\x_0 -> \x_1 -> x_0)
-      | ` pure ('c')
+      | ` pure 'c'
       ` satisfy
diff --git a/test/Golden/Grammar/ViewGrammar/G16.expected.txt b/test/Golden/Grammar/ViewGrammar/G16.expected.txt
index 00bd054..3fe822e 100644
--- a/test/Golden/Grammar/ViewGrammar/G16.expected.txt
+++ b/test/Golden/Grammar/ViewGrammar/G16.expected.txt
@@ -1,6 +1,6 @@
 lets
 ` <*>
-  + pure (GHC.Show.show)
+  + pure GHC.Show.show
   ` <*>
     + <*>
     | + pure (\x_0 -> \x_1 -> x_0)
@@ -9,20 +9,20 @@ lets
     |   | + <*>
     |   | | + <*>
     |   | | | + pure (\x_0 -> \x_1 -> x_0)
-    |   | | | ` pure ('a')
+    |   | | | ` pure 'a'
     |   | | ` satisfy
     |   | ` <*>
     |   |   + <*>
     |   |   | + pure (\x_0 -> \x_1 -> x_0)
-    |   |   | ` pure ('b')
+    |   |   | ` pure 'b'
     |   |   ` satisfy
     |   ` <*>
     |     + <*>
     |     | + pure (\x_0 -> \x_1 -> x_0)
-    |     | ` pure ('c')
+    |     | ` pure 'c'
     |     ` satisfy
     ` <*>
       + <*>
       | + pure (\x_0 -> \x_1 -> x_0)
-      | ` pure ('d')
+      | ` pure 'd'
       ` satisfy
diff --git a/test/Golden/Grammar/ViewGrammar/G2.expected.txt b/test/Golden/Grammar/ViewGrammar/G2.expected.txt
index 399b542..7fe342d 100644
--- a/test/Golden/Grammar/ViewGrammar/G2.expected.txt
+++ b/test/Golden/Grammar/ViewGrammar/G2.expected.txt
@@ -1,29 +1,29 @@
 lets
 ` <*>
-  + pure (GHC.Show.show)
+  + pure GHC.Show.show
   ` try
     ` <*>
       + <*>
-      | + pure ((GHC.Types.:))
+      | + pure (GHC.Types.:)
       | ` <*>
       |   + <*>
       |   | + pure (\x_0 -> \x_1 -> x_0)
-      |   | ` pure ('a')
+      |   | ` pure 'a'
       |   ` satisfy
       ` <*>
         + <*>
-        | + pure ((GHC.Types.:))
+        | + pure (GHC.Types.:)
         | ` <*>
         |   + <*>
         |   | + pure (\x_0 -> \x_1 -> x_0)
-        |   | ` pure ('b')
+        |   | ` pure 'b'
         |   ` satisfy
         ` <*>
           + <*>
-          | + pure ((GHC.Types.:))
+          | + pure (GHC.Types.:)
           | ` <*>
           |   + <*>
           |   | + pure (\x_0 -> \x_1 -> x_0)
-          |   | ` pure ('c')
+          |   | ` pure 'c'
           |   ` satisfy
-          ` pure (GHC.Types.[])
+          ` pure GHC.Types.[]
diff --git a/test/Golden/Grammar/ViewGrammar/G3.expected.txt b/test/Golden/Grammar/ViewGrammar/G3.expected.txt
index 25414d9..aafd016 100644
--- a/test/Golden/Grammar/ViewGrammar/G3.expected.txt
+++ b/test/Golden/Grammar/ViewGrammar/G3.expected.txt
@@ -5,16 +5,16 @@ lets
 |   | + <*>
 |   | | + pure (\x_0 -> \x_1 -> \x_2 -> x_0 (x_1 x_2))
 |   | | ` <*>
-|   | |   + pure ((GHC.Types.:))
+|   | |   + pure (GHC.Types.:)
 |   | |   ` <*>
 |   | |     + <*>
 |   | |     | + pure (\x_0 -> \x_1 -> x_0)
-|   | |     | ` pure ('a')
+|   | |     | ` pure 'a'
 |   | |     ` satisfy
 |   | ` rec <hidden>
 |   ` pure (\x_0 -> x_0)
 ` <*>
-  + pure (GHC.Show.show)
+  + pure GHC.Show.show
   ` <*>
     + ref <hidden>
-    ` pure (GHC.Types.[])
+    ` pure GHC.Types.[]
diff --git a/test/Golden/Grammar/ViewGrammar/G4.expected.txt b/test/Golden/Grammar/ViewGrammar/G4.expected.txt
index 0564b48..9041a81 100644
--- a/test/Golden/Grammar/ViewGrammar/G4.expected.txt
+++ b/test/Golden/Grammar/ViewGrammar/G4.expected.txt
@@ -5,7 +5,7 @@ lets
 |   | + <*>
 |   | | + pure (\x_0 -> \x_1 -> \x_2 -> x_0 (x_1 x_2))
 |   | | ` <*>
-|   | |   + pure ((GHC.Types.:))
+|   | |   + pure (GHC.Types.:)
 |   | |   ` ref <hidden>
 |   | ` rec <hidden>
 |   ` pure (\x_0 -> x_0)
@@ -13,43 +13,43 @@ lets
 | ` try
 |   ` <*>
 |     + <*>
-|     | + pure ((GHC.Types.:))
+|     | + pure (GHC.Types.:)
 |     | ` <*>
 |     |   + <*>
 |     |   | + pure (\x_0 -> \x_1 -> x_0)
-|     |   | ` pure ('a')
+|     |   | ` pure 'a'
 |     |   ` satisfy
 |     ` <*>
 |       + <*>
-|       | + pure ((GHC.Types.:))
+|       | + pure (GHC.Types.:)
 |       | ` <*>
 |       |   + <*>
 |       |   | + pure (\x_0 -> \x_1 -> x_0)
-|       |   | ` pure ('b')
+|       |   | ` pure 'b'
 |       |   ` satisfy
 |       ` <*>
 |         + <*>
-|         | + pure ((GHC.Types.:))
+|         | + pure (GHC.Types.:)
 |         | ` <*>
 |         |   + <*>
 |         |   | + pure (\x_0 -> \x_1 -> x_0)
-|         |   | ` pure ('c')
+|         |   | ` pure 'c'
 |         |   ` satisfy
 |         ` <*>
 |           + <*>
-|           | + pure ((GHC.Types.:))
+|           | + pure (GHC.Types.:)
 |           | ` <*>
 |           |   + <*>
 |           |   | + pure (\x_0 -> \x_1 -> x_0)
-|           |   | ` pure ('d')
+|           |   | ` pure 'd'
 |           |   ` satisfy
-|           ` pure (GHC.Types.[])
+|           ` pure GHC.Types.[]
 ` <*>
-  + pure (GHC.Show.show)
+  + pure GHC.Show.show
   ` <*>
     + <*>
-    | + pure ((GHC.Types.:))
+    | + pure (GHC.Types.:)
     | ` ref <hidden>
     ` <*>
       + ref <hidden>
-      ` pure (GHC.Types.[])
+      ` pure GHC.Types.[]
diff --git a/test/Golden/Grammar/ViewGrammar/G5.expected.txt b/test/Golden/Grammar/ViewGrammar/G5.expected.txt
index 962fa43..6de429e 100644
--- a/test/Golden/Grammar/ViewGrammar/G5.expected.txt
+++ b/test/Golden/Grammar/ViewGrammar/G5.expected.txt
@@ -5,7 +5,7 @@ lets
 |   | + <*>
 |   | | + pure (\x_0 -> \x_1 -> \x_2 -> x_0 (x_1 x_2))
 |   | | ` <*>
-|   | |   + pure ((GHC.Types.:))
+|   | |   + pure (GHC.Types.:)
 |   | |   ` ref <hidden>
 |   | ` rec <hidden>
 |   ` pure (\x_0 -> x_0)
@@ -13,47 +13,47 @@ lets
 | ` try
 |   ` <*>
 |     + <*>
-|     | + pure ((GHC.Types.:))
+|     | + pure (GHC.Types.:)
 |     | ` <*>
 |     |   + <*>
 |     |   | + pure (\x_0 -> \x_1 -> x_0)
-|     |   | ` pure ('a')
+|     |   | ` pure 'a'
 |     |   ` satisfy
 |     ` <*>
 |       + <*>
-|       | + pure ((GHC.Types.:))
+|       | + pure (GHC.Types.:)
 |       | ` <*>
 |       |   + <*>
 |       |   | + pure (\x_0 -> \x_1 -> x_0)
-|       |   | ` pure ('b')
+|       |   | ` pure 'b'
 |       |   ` satisfy
 |       ` <*>
 |         + <*>
-|         | + pure ((GHC.Types.:))
+|         | + pure (GHC.Types.:)
 |         | ` <*>
 |         |   + <*>
 |         |   | + pure (\x_0 -> \x_1 -> x_0)
-|         |   | ` pure ('c')
+|         |   | ` pure 'c'
 |         |   ` satisfy
 |         ` <*>
 |           + <*>
-|           | + pure ((GHC.Types.:))
+|           | + pure (GHC.Types.:)
 |           | ` <*>
 |           |   + <*>
 |           |   | + pure (\x_0 -> \x_1 -> x_0)
-|           |   | ` pure ('d')
+|           |   | ` pure 'd'
 |           |   ` satisfy
-|           ` pure (GHC.Types.[])
+|           ` pure GHC.Types.[]
 ` <*>
-  + pure (GHC.Show.show)
+  + pure GHC.Show.show
   ` <*>
     + <*>
     | + pure (\x_0 -> \x_1 -> x_0)
     | ` <*>
     |   + <*>
-    |   | + pure ((GHC.Types.:))
+    |   | + pure (GHC.Types.:)
     |   | ` ref <hidden>
     |   ` <*>
     |     + ref <hidden>
-    |     ` pure (GHC.Types.[])
+    |     ` pure GHC.Types.[]
     ` eof
diff --git a/test/Golden/Grammar/ViewGrammar/G6.expected.txt b/test/Golden/Grammar/ViewGrammar/G6.expected.txt
index a58fe8e..838eaa8 100644
--- a/test/Golden/Grammar/ViewGrammar/G6.expected.txt
+++ b/test/Golden/Grammar/ViewGrammar/G6.expected.txt
@@ -1,38 +1,38 @@
 lets
 ` <*>
-  + pure (GHC.Show.show)
+  + pure GHC.Show.show
   ` <|>
     + <*>
     | + <*>
-    | | + pure ((GHC.Types.:))
+    | | + pure (GHC.Types.:)
     | | ` <*>
     | |   + <*>
     | |   | + pure (\x_0 -> \x_1 -> x_0)
-    | |   | ` pure ('a')
+    | |   | ` pure 'a'
     | |   ` satisfy
     | ` <*>
     |   + <*>
-    |   | + pure ((GHC.Types.:))
+    |   | + pure (GHC.Types.:)
     |   | ` <*>
     |   |   + <*>
     |   |   | + pure (\x_0 -> \x_1 -> x_0)
-    |   |   | ` pure ('a')
+    |   |   | ` pure 'a'
     |   |   ` satisfy
-    |   ` pure (GHC.Types.[])
+    |   ` pure GHC.Types.[]
     ` <*>
       + <*>
-      | + pure ((GHC.Types.:))
+      | + pure (GHC.Types.:)
       | ` <*>
       |   + <*>
       |   | + pure (\x_0 -> \x_1 -> x_0)
-      |   | ` pure ('a')
+      |   | ` pure 'a'
       |   ` satisfy
       ` <*>
         + <*>
-        | + pure ((GHC.Types.:))
+        | + pure (GHC.Types.:)
         | ` <*>
         |   + <*>
         |   | + pure (\x_0 -> \x_1 -> x_0)
-        |   | ` pure ('b')
+        |   | ` pure 'b'
         |   ` satisfy
-        ` pure (GHC.Types.[])
+        ` pure GHC.Types.[]
diff --git a/test/Golden/Grammar/ViewGrammar/G7.expected.txt b/test/Golden/Grammar/ViewGrammar/G7.expected.txt
index e09de11..61c9fe4 100644
--- a/test/Golden/Grammar/ViewGrammar/G7.expected.txt
+++ b/test/Golden/Grammar/ViewGrammar/G7.expected.txt
@@ -1,40 +1,40 @@
 lets
 ` <*>
-  + pure (GHC.Show.show)
+  + pure GHC.Show.show
   ` <|>
     + try
     | ` <*>
     |   + <*>
-    |   | + pure ((GHC.Types.:))
+    |   | + pure (GHC.Types.:)
     |   | ` <*>
     |   |   + <*>
     |   |   | + pure (\x_0 -> \x_1 -> x_0)
-    |   |   | ` pure ('a')
+    |   |   | ` pure 'a'
     |   |   ` satisfy
     |   ` <*>
     |     + <*>
-    |     | + pure ((GHC.Types.:))
+    |     | + pure (GHC.Types.:)
     |     | ` <*>
     |     |   + <*>
     |     |   | + pure (\x_0 -> \x_1 -> x_0)
-    |     |   | ` pure ('a')
+    |     |   | ` pure 'a'
     |     |   ` satisfy
-    |     ` pure (GHC.Types.[])
+    |     ` pure GHC.Types.[]
     ` try
       ` <*>
         + <*>
-        | + pure ((GHC.Types.:))
+        | + pure (GHC.Types.:)
         | ` <*>
         |   + <*>
         |   | + pure (\x_0 -> \x_1 -> x_0)
-        |   | ` pure ('a')
+        |   | ` pure 'a'
         |   ` satisfy
         ` <*>
           + <*>
-          | + pure ((GHC.Types.:))
+          | + pure (GHC.Types.:)
           | ` <*>
           |   + <*>
           |   | + pure (\x_0 -> \x_1 -> x_0)
-          |   | ` pure ('b')
+          |   | ` pure 'b'
           |   ` satisfy
-          ` pure (GHC.Types.[])
+          ` pure GHC.Types.[]
diff --git a/test/Golden/Grammar/ViewGrammar/G8.expected.txt b/test/Golden/Grammar/ViewGrammar/G8.expected.txt
index d5fb67b..4f5c6c9 100644
--- a/test/Golden/Grammar/ViewGrammar/G8.expected.txt
+++ b/test/Golden/Grammar/ViewGrammar/G8.expected.txt
@@ -5,20 +5,20 @@ lets
 |   | + <*>
 |   | | + pure (\x_0 -> \x_1 -> \x_2 -> x_0 (x_1 x_2))
 |   | | ` <*>
-|   | |   + pure ((GHC.Types.:))
+|   | |   + pure (GHC.Types.:)
 |   | |   ` <*>
 |   | |     + <*>
 |   | |     | + pure (\x_0 -> \x_1 -> x_0)
-|   | |     | ` pure ('r')
+|   | |     | ` pure 'r'
 |   | |     ` satisfy
 |   | ` rec <hidden>
 |   ` pure (\x_0 -> x_0)
 ` <*>
-  + pure (GHC.Show.show)
+  + pure GHC.Show.show
   ` <*>
     + <*>
     | + pure (\x_0 -> \x_1 -> x_0)
     | ` <*>
     |   + ref <hidden>
-    |   ` pure (GHC.Types.[])
+    |   ` pure GHC.Types.[]
     ` eof
diff --git a/test/Golden/Grammar/ViewGrammar/G9.expected.txt b/test/Golden/Grammar/ViewGrammar/G9.expected.txt
index 755f586..2f3ae5d 100644
--- a/test/Golden/Grammar/ViewGrammar/G9.expected.txt
+++ b/test/Golden/Grammar/ViewGrammar/G9.expected.txt
@@ -1,4 +1,4 @@
 lets
 ` <*>
-  + pure (GHC.Show.show)
+  + pure GHC.Show.show
   ` eof
diff --git a/test/Golden/Machine/G1.expected.txt b/test/Golden/Machine/G1.expected.txt
index 2873538..4abe692 100644
--- a/test/Golden/Machine/G1.expected.txt
+++ b/test/Golden/Machine/G1.expected.txt
@@ -1,10 +1,10 @@
-pushValue (GHC.Show.show)
+pushValue GHC.Show.show
   minReads=(Right 1)
   mayRaise=[ExceptionFailure]
 pushValue (\x_0 -> \x_1 -> x_0)
   minReads=(Right 1)
   mayRaise=[ExceptionFailure]
-pushValue ('a')
+pushValue 'a'
   minReads=(Right 1)
   mayRaise=[ExceptionFailure]
 lift2Value (\x_0 -> \x_1 -> x_0 x_1)
diff --git a/test/Golden/Machine/G10.expected.txt b/test/Golden/Machine/G10.expected.txt
index 340920e..558823a 100644
--- a/test/Golden/Machine/G10.expected.txt
+++ b/test/Golden/Machine/G10.expected.txt
@@ -1,4 +1,4 @@
-pushValue (GHC.Show.show)
+pushValue GHC.Show.show
   minReads=(Right 1)
   mayRaise=[ExceptionFailure]
 join <hidden>
@@ -17,7 +17,7 @@ catch ExceptionFailure
 | | pushValue (\x_0 -> \x_1 -> x_0)
 | |   minReads=(Right 1)
 | |   mayRaise=[ExceptionFailure]
-| | pushValue ('a')
+| | pushValue 'a'
 | |   minReads=(Right 1)
 | |   mayRaise=[ExceptionFailure]
 | | lift2Value (\x_0 -> \x_1 -> x_0 x_1)
@@ -40,18 +40,18 @@ catch ExceptionFailure
 | |   minReads=(Right 1)
 | |   mayRaise=[ExceptionFailure]
 | | lift2Value (\(Data.Text.Internal.Text _ i_0 _) (Data.Text.Internal.Text _
-| |                                                               j_1
-| |                                                               _) -> i_0 GHC.Classes.== j_1)
+| |                                                                j_1
+| |                                                                _) -> i_0 GHC.Classes.== j_1)
 | |   minReads=(Right 1)
 | |   mayRaise=[ExceptionFailure]
-| | choicesBranch [(\x_0 -> x_0)]
+| | choicesBranch [\x_0 -> x_0]
 | |   minReads=(Right 1)
 | |   mayRaise=[ExceptionFailure]
 | | | <branch>
 | | | | pushValue (\x_0 -> \x_1 -> x_0)
 | | | |   minReads=(Right 1)
 | | | |   mayRaise=[ExceptionFailure]
-| | | | pushValue ('b')
+| | | | pushValue 'b'
 | | | |   minReads=(Right 1)
 | | | |   mayRaise=[ExceptionFailure]
 | | | | lift2Value (\x_0 -> \x_1 -> x_0 x_1)
diff --git a/test/Golden/Machine/G11.expected.txt b/test/Golden/Machine/G11.expected.txt
index 221e99f..fcdd495 100644
--- a/test/Golden/Machine/G11.expected.txt
+++ b/test/Golden/Machine/G11.expected.txt
@@ -8,13 +8,13 @@ let <hidden>
 | | | pushValue (\x_0 -> \x_1 -> \x_2 -> x_0 (x_1 x_2))
 | | |   minReads=(Right 1)
 | | |   mayRaise=[ExceptionFailure]
-| | | pushValue ((GHC.Types.:))
+| | | pushValue (GHC.Types.:)
 | | |   minReads=(Right 1)
 | | |   mayRaise=[ExceptionFailure]
 | | | pushValue (\x_0 -> \x_1 -> x_0)
 | | |   minReads=(Right 1)
 | | |   mayRaise=[ExceptionFailure]
-| | | pushValue ('a')
+| | | pushValue 'a'
 | | |   minReads=(Right 1)
 | | |   mayRaise=[ExceptionFailure]
 | | | lift2Value (\x_0 -> \x_1 -> x_0 x_1)
@@ -49,11 +49,11 @@ let <hidden>
 | | |   minReads=(Right 0)
 | | |   mayRaise=[ExceptionFailure]
 | | | lift2Value (\(Data.Text.Internal.Text _ i_0 _) (Data.Text.Internal.Text _
-| | |                                                               j_1
-| | |                                                               _) -> i_0 GHC.Classes.== j_1)
+| | |                                                                j_1
+| | |                                                                _) -> i_0 GHC.Classes.== j_1)
 | | |   minReads=(Right 0)
 | | |   mayRaise=[ExceptionFailure]
-| | | choicesBranch [(\x_0 -> x_0)]
+| | | choicesBranch [\x_0 -> x_0]
 | | |   minReads=(Right 0)
 | | |   mayRaise=[ExceptionFailure]
 | | | | <branch>
@@ -67,7 +67,7 @@ let <hidden>
 | | | | | fail []
 | | | | |   minReads=(Left ExceptionFailure)
 | | | | |   mayRaise=[ExceptionFailure]
-pushValue (GHC.Show.show)
+pushValue GHC.Show.show
   minReads=(Right 1)
   mayRaise=[ExceptionFailure]
 pushValue (\x_0 -> \x_1 -> x_0)
@@ -76,7 +76,7 @@ pushValue (\x_0 -> \x_1 -> x_0)
 call <hidden>
   minReads=(Right 1)
   mayRaise=[ExceptionFailure]
-pushValue (GHC.Types.[])
+pushValue GHC.Types.[]
   minReads=(Right 1)
   mayRaise=[ExceptionFailure]
 lift2Value (\x_0 -> \x_1 -> x_0 x_1)
@@ -88,7 +88,7 @@ lift2Value (\x_0 -> \x_1 -> x_0 x_1)
 pushValue (\x_0 -> \x_1 -> x_0)
   minReads=(Right 1)
   mayRaise=[ExceptionFailure]
-pushValue ('b')
+pushValue 'b'
   minReads=(Right 1)
   mayRaise=[ExceptionFailure]
 lift2Value (\x_0 -> \x_1 -> x_0 x_1)
diff --git a/test/Golden/Machine/G12.expected.txt b/test/Golden/Machine/G12.expected.txt
index a622822..a4312f2 100644
--- a/test/Golden/Machine/G12.expected.txt
+++ b/test/Golden/Machine/G12.expected.txt
@@ -8,7 +8,7 @@ let <hidden>
 | | | pushValue (\x_0 -> \x_1 -> \x_2 -> x_0 (x_1 x_2))
 | | |   minReads=(Right 1)
 | | |   mayRaise=[ExceptionFailure]
-| | | pushValue ((GHC.Types.:))
+| | | pushValue (GHC.Types.:)
 | | |   minReads=(Right 1)
 | | |   mayRaise=[ExceptionFailure]
 | | | read (\t_0 -> ('a' GHC.Classes.== t_0) GHC.Classes.|| (('b' GHC.Classes.== t_0) GHC.Classes.|| (('c' GHC.Classes.== t_0) GHC.Classes.|| (('d' GHC.Classes.== t_0) GHC.Classes.|| GHC.Types.False))))
@@ -37,11 +37,11 @@ let <hidden>
 | | |   minReads=(Right 0)
 | | |   mayRaise=[ExceptionFailure]
 | | | lift2Value (\(Data.Text.Internal.Text _ i_0 _) (Data.Text.Internal.Text _
-| | |                                                               j_1
-| | |                                                               _) -> i_0 GHC.Classes.== j_1)
+| | |                                                                j_1
+| | |                                                                _) -> i_0 GHC.Classes.== j_1)
 | | |   minReads=(Right 0)
 | | |   mayRaise=[ExceptionFailure]
-| | | choicesBranch [(\x_0 -> x_0)]
+| | | choicesBranch [\x_0 -> x_0]
 | | |   minReads=(Right 0)
 | | |   mayRaise=[ExceptionFailure]
 | | | | <branch>
@@ -55,7 +55,7 @@ let <hidden>
 | | | | | fail []
 | | | | |   minReads=(Left ExceptionFailure)
 | | | | |   mayRaise=[ExceptionFailure]
-pushValue (GHC.Show.show)
+pushValue GHC.Show.show
   minReads=(Right 0)
   mayRaise=[ExceptionFailure]
 pushValue (\x_0 -> \x_1 -> x_0)
@@ -64,7 +64,7 @@ pushValue (\x_0 -> \x_1 -> x_0)
 call <hidden>
   minReads=(Right 0)
   mayRaise=[ExceptionFailure]
-pushValue (GHC.Types.[])
+pushValue GHC.Types.[]
   minReads=(Right 0)
   mayRaise=[ExceptionFailure]
 lift2Value (\x_0 -> \x_1 -> x_0 x_1)
@@ -115,7 +115,7 @@ catch ExceptionFailure
 | | | | loadInput
 | | | |   minReads=(Right 0)
 | | | |   mayRaise=[]
-| | | | pushValue (GHC.Tuple.())
+| | | | pushValue GHC.Tuple.()
 | | | |   minReads=(Right 0)
 | | | |   mayRaise=[]
 | | | | commit ExceptionFailure
@@ -129,11 +129,11 @@ catch ExceptionFailure
 | |   minReads=(Left ExceptionFailure)
 | |   mayRaise=[ExceptionFailure]
 | | lift2Value (\(Data.Text.Internal.Text _ i_0 _) (Data.Text.Internal.Text _
-| |                                                               j_1
-| |                                                               _) -> i_0 GHC.Classes.== j_1)
+| |                                                                j_1
+| |                                                                _) -> i_0 GHC.Classes.== j_1)
 | |   minReads=(Left ExceptionFailure)
 | |   mayRaise=[ExceptionFailure]
-| | choicesBranch [(\x_0 -> x_0)]
+| | choicesBranch [\x_0 -> x_0]
 | |   minReads=(Left ExceptionFailure)
 | |   mayRaise=[ExceptionFailure]
 | | | <branch>
diff --git a/test/Golden/Machine/G13.expected.txt b/test/Golden/Machine/G13.expected.txt
index 69fac37..fd4bccb 100644
--- a/test/Golden/Machine/G13.expected.txt
+++ b/test/Golden/Machine/G13.expected.txt
@@ -4,7 +4,7 @@ let <hidden>
 | call <hidden>
 |   minReads=(Right 0)
 |   mayRaise=[ExceptionFailure]
-| pushValue (GHC.Types.[])
+| pushValue GHC.Types.[]
 |   minReads=(Right 0)
 |   mayRaise=[]
 | lift2Value (\x_0 -> \x_1 -> x_0 x_1)
@@ -23,7 +23,7 @@ let <hidden>
 | | | pushValue (\x_0 -> \x_1 -> \x_2 -> x_0 (x_1 x_2))
 | | |   minReads=(Right 1)
 | | |   mayRaise=[ExceptionFailure]
-| | | pushValue ((GHC.Types.:))
+| | | pushValue (GHC.Types.:)
 | | |   minReads=(Right 1)
 | | |   mayRaise=[ExceptionFailure]
 | | | pushValue (\x_0 -> \x_1 -> x_0)
@@ -71,14 +71,14 @@ let <hidden>
 | | | loadInput
 | | |   minReads=(Right 0)
 | | |   mayRaise=[ExceptionFailure]
-| | | choicesBranch [((GHC.Classes.==) '<'),((GHC.Classes.==) '>'),((GHC.Classes.==) '+'),((GHC.Classes.==) '-'),((GHC.Classes.==) ','),((GHC.Classes.==) '.'),((GHC.Classes.==) '[')]
+| | | choicesBranch [(GHC.Classes.==) '<',(GHC.Classes.==) '>',(GHC.Classes.==) '+',(GHC.Classes.==) '-',(GHC.Classes.==) ',',(GHC.Classes.==) '.',(GHC.Classes.==) '[']
 | | |   minReads=(Right 1)
 | | |   mayRaise=[ExceptionFailure]
 | | | | <branch>
 | | | | | pushValue (\x_0 -> \x_1 -> x_0)
 | | | | |   minReads=(Right 1)
 | | | | |   mayRaise=[ExceptionFailure]
-| | | | | pushValue (Parsers.Brainfuck.Types.Backward)
+| | | | | pushValue Parsers.Brainfuck.Types.Backward
 | | | | |   minReads=(Right 1)
 | | | | |   mayRaise=[ExceptionFailure]
 | | | | | lift2Value (\x_0 -> \x_1 -> x_0 x_1)
@@ -97,7 +97,7 @@ let <hidden>
 | | | | | pushValue (\x_0 -> \x_1 -> x_0)
 | | | | |   minReads=(Right 1)
 | | | | |   mayRaise=[ExceptionFailure]
-| | | | | pushValue (Parsers.Brainfuck.Types.Forward)
+| | | | | pushValue Parsers.Brainfuck.Types.Forward
 | | | | |   minReads=(Right 1)
 | | | | |   mayRaise=[ExceptionFailure]
 | | | | | lift2Value (\x_0 -> \x_1 -> x_0 x_1)
@@ -116,7 +116,7 @@ let <hidden>
 | | | | | pushValue (\x_0 -> \x_1 -> x_0)
 | | | | |   minReads=(Right 1)
 | | | | |   mayRaise=[ExceptionFailure]
-| | | | | pushValue (Parsers.Brainfuck.Types.Increment)
+| | | | | pushValue Parsers.Brainfuck.Types.Increment
 | | | | |   minReads=(Right 1)
 | | | | |   mayRaise=[ExceptionFailure]
 | | | | | lift2Value (\x_0 -> \x_1 -> x_0 x_1)
@@ -135,7 +135,7 @@ let <hidden>
 | | | | | pushValue (\x_0 -> \x_1 -> x_0)
 | | | | |   minReads=(Right 1)
 | | | | |   mayRaise=[ExceptionFailure]
-| | | | | pushValue (Parsers.Brainfuck.Types.Decrement)
+| | | | | pushValue Parsers.Brainfuck.Types.Decrement
 | | | | |   minReads=(Right 1)
 | | | | |   mayRaise=[ExceptionFailure]
 | | | | | lift2Value (\x_0 -> \x_1 -> x_0 x_1)
@@ -154,7 +154,7 @@ let <hidden>
 | | | | | pushValue (\x_0 -> \x_1 -> x_0)
 | | | | |   minReads=(Right 1)
 | | | | |   mayRaise=[ExceptionFailure]
-| | | | | pushValue (Parsers.Brainfuck.Types.Input)
+| | | | | pushValue Parsers.Brainfuck.Types.Input
 | | | | |   minReads=(Right 1)
 | | | | |   mayRaise=[ExceptionFailure]
 | | | | | lift2Value (\x_0 -> \x_1 -> x_0 x_1)
@@ -173,7 +173,7 @@ let <hidden>
 | | | | | pushValue (\x_0 -> \x_1 -> x_0)
 | | | | |   minReads=(Right 1)
 | | | | |   mayRaise=[ExceptionFailure]
-| | | | | pushValue (Parsers.Brainfuck.Types.Output)
+| | | | | pushValue Parsers.Brainfuck.Types.Output
 | | | | |   minReads=(Right 1)
 | | | | |   mayRaise=[ExceptionFailure]
 | | | | | lift2Value (\x_0 -> \x_1 -> x_0 x_1)
@@ -219,7 +219,7 @@ let <hidden>
 | | | | | lift2Value (\x_0 -> \x_1 -> x_0 x_1)
 | | | | |   minReads=(Right 1)
 | | | | |   mayRaise=[ExceptionFailure]
-| | | | | pushValue (Parsers.Brainfuck.Types.Loop)
+| | | | | pushValue Parsers.Brainfuck.Types.Loop
 | | | | |   minReads=(Right 1)
 | | | | |   mayRaise=[ExceptionFailure]
 | | | | | call <hidden>
@@ -237,7 +237,7 @@ let <hidden>
 | | | | | pushValue (\x_0 -> \x_1 -> x_0)
 | | | | |   minReads=(Right 1)
 | | | | |   mayRaise=[ExceptionFailure]
-| | | | | pushValue (']')
+| | | | | pushValue ']'
 | | | | |   minReads=(Right 1)
 | | | | |   mayRaise=[ExceptionFailure]
 | | | | | lift2Value (\x_0 -> \x_1 -> x_0 x_1)
@@ -264,11 +264,11 @@ let <hidden>
 | | |   minReads=(Right 0)
 | | |   mayRaise=[ExceptionFailure]
 | | | lift2Value (\(Data.Text.Internal.Text _ i_0 _) (Data.Text.Internal.Text _
-| | |                                                               j_1
-| | |                                                               _) -> i_0 GHC.Classes.== j_1)
+| | |                                                                j_1
+| | |                                                                _) -> i_0 GHC.Classes.== j_1)
 | | |   minReads=(Right 0)
 | | |   mayRaise=[ExceptionFailure]
-| | | choicesBranch [(\x_0 -> x_0)]
+| | | choicesBranch [\x_0 -> x_0]
 | | |   minReads=(Right 0)
 | | |   mayRaise=[ExceptionFailure]
 | | | | <branch>
@@ -327,11 +327,11 @@ let <hidden>
 | | |   minReads=(Right 0)
 | | |   mayRaise=[ExceptionFailure]
 | | | lift2Value (\(Data.Text.Internal.Text _ i_0 _) (Data.Text.Internal.Text _
-| | |                                                               j_1
-| | |                                                               _) -> i_0 GHC.Classes.== j_1)
+| | |                                                                j_1
+| | |                                                                _) -> i_0 GHC.Classes.== j_1)
 | | |   minReads=(Right 0)
 | | |   mayRaise=[ExceptionFailure]
-| | | choicesBranch [(\x_0 -> x_0)]
+| | | choicesBranch [\x_0 -> x_0]
 | | |   minReads=(Right 0)
 | | |   mayRaise=[ExceptionFailure]
 | | | | <branch>
@@ -360,7 +360,7 @@ let <hidden>
 | pushValue ((\x_0 -> \x_1 -> \x_2 -> x_0 x_2 x_1) (\x_3 -> \x_4 -> x_3 x_4))
 |   minReads=(Right 0)
 |   mayRaise=[ExceptionFailure]
-| pushValue (GHC.Tuple.())
+| pushValue GHC.Tuple.()
 |   minReads=(Right 0)
 |   mayRaise=[ExceptionFailure]
 | lift2Value (\x_0 -> \x_1 -> x_0 x_1)
@@ -375,7 +375,7 @@ let <hidden>
 | lift2Value (\x_0 -> \x_1 -> x_0 x_1)
 |   minReads=(Right 0)
 |   mayRaise=[]
-| pushValue (GHC.Tuple.())
+| pushValue GHC.Tuple.()
 |   minReads=(Right 0)
 |   mayRaise=[]
 | lift2Value (\x_0 -> \x_1 -> x_0 x_1)
@@ -384,7 +384,7 @@ let <hidden>
 | ret
 |   minReads=(Right 0)
 |   mayRaise=[]
-pushValue (GHC.Show.show)
+pushValue GHC.Show.show
   minReads=(Right 0)
   mayRaise=[ExceptionFailure]
 pushValue (\x_0 -> \x_1 -> x_0)
diff --git a/test/Golden/Machine/G14.expected.txt b/test/Golden/Machine/G14.expected.txt
index 7d55d9b..d9b512a 100644
--- a/test/Golden/Machine/G14.expected.txt
+++ b/test/Golden/Machine/G14.expected.txt
@@ -43,11 +43,11 @@ let <hidden>
 | | |   minReads=(Right 0)
 | | |   mayRaise=[ExceptionFailure]
 | | | lift2Value (\(Data.Text.Internal.Text _ i_0 _) (Data.Text.Internal.Text _
-| | |                                                               j_1
-| | |                                                               _) -> i_0 GHC.Classes.== j_1)
+| | |                                                                j_1
+| | |                                                                _) -> i_0 GHC.Classes.== j_1)
 | | |   minReads=(Right 0)
 | | |   mayRaise=[ExceptionFailure]
-| | | choicesBranch [(\x_0 -> x_0)]
+| | | choicesBranch [\x_0 -> x_0]
 | | |   minReads=(Right 0)
 | | |   mayRaise=[ExceptionFailure]
 | | | | <branch>
@@ -106,11 +106,11 @@ let <hidden>
 | | |   minReads=(Right 0)
 | | |   mayRaise=[ExceptionFailure]
 | | | lift2Value (\(Data.Text.Internal.Text _ i_0 _) (Data.Text.Internal.Text _
-| | |                                                               j_1
-| | |                                                               _) -> i_0 GHC.Classes.== j_1)
+| | |                                                                j_1
+| | |                                                                _) -> i_0 GHC.Classes.== j_1)
 | | |   minReads=(Right 0)
 | | |   mayRaise=[ExceptionFailure]
-| | | choicesBranch [(\x_0 -> x_0)]
+| | | choicesBranch [\x_0 -> x_0]
 | | |   minReads=(Right 0)
 | | |   mayRaise=[ExceptionFailure]
 | | | | <branch>
@@ -143,7 +143,7 @@ let <hidden>
 | | | lift2Value (\x_0 -> \x_1 -> x_0 x_1)
 | | |   minReads=(Right 1)
 | | |   mayRaise=[ExceptionFailure]
-| | | read (Parsers.Nandlang.nandIdentLetter)
+| | | read Parsers.Nandlang.nandIdentLetter
 | | |   minReads=(Right 1)
 | | |   mayRaise=[ExceptionFailure]
 | | | lift2Value (\x_0 -> \x_1 -> x_0 x_1)
@@ -169,11 +169,11 @@ let <hidden>
 | | |   minReads=(Right 0)
 | | |   mayRaise=[ExceptionFailure]
 | | | lift2Value (\(Data.Text.Internal.Text _ i_0 _) (Data.Text.Internal.Text _
-| | |                                                               j_1
-| | |                                                               _) -> i_0 GHC.Classes.== j_1)
+| | |                                                                j_1
+| | |                                                                _) -> i_0 GHC.Classes.== j_1)
 | | |   minReads=(Right 0)
 | | |   mayRaise=[ExceptionFailure]
-| | | choicesBranch [(\x_0 -> x_0)]
+| | | choicesBranch [\x_0 -> x_0]
 | | |   minReads=(Right 0)
 | | |   mayRaise=[ExceptionFailure]
 | | | | <branch>
@@ -246,13 +246,13 @@ let <hidden>
 | | |   minReads=(Right 18)
 | | |   mayRaise=[ExceptionFailure]
 | | | | <ok>
-| | | | | pushValue ((GHC.Types.:))
+| | | | | pushValue (GHC.Types.:)
 | | | | |   minReads=(Right 18)
 | | | | |   mayRaise=[ExceptionFailure]
 | | | | | pushValue (\x_0 -> \x_1 -> x_0)
 | | | | |   minReads=(Right 18)
 | | | | |   mayRaise=[ExceptionFailure]
-| | | | | pushValue ('f')
+| | | | | pushValue 'f'
 | | | | |   minReads=(Right 18)
 | | | | |   mayRaise=[ExceptionFailure]
 | | | | | lift2Value (\x_0 -> \x_1 -> x_0 x_1)
@@ -267,13 +267,13 @@ let <hidden>
 | | | | | lift2Value (\x_0 -> \x_1 -> x_0 x_1)
 | | | | |   minReads=(Right 17)
 | | | | |   mayRaise=[ExceptionFailure]
-| | | | | pushValue ((GHC.Types.:))
+| | | | | pushValue (GHC.Types.:)
 | | | | |   minReads=(Right 17)
 | | | | |   mayRaise=[ExceptionFailure]
 | | | | | pushValue (\x_0 -> \x_1 -> x_0)
 | | | | |   minReads=(Right 17)
 | | | | |   mayRaise=[ExceptionFailure]
-| | | | | pushValue ('u')
+| | | | | pushValue 'u'
 | | | | |   minReads=(Right 17)
 | | | | |   mayRaise=[ExceptionFailure]
 | | | | | lift2Value (\x_0 -> \x_1 -> x_0 x_1)
@@ -288,13 +288,13 @@ let <hidden>
 | | | | | lift2Value (\x_0 -> \x_1 -> x_0 x_1)
 | | | | |   minReads=(Right 16)
 | | | | |   mayRaise=[ExceptionFailure]
-| | | | | pushValue ((GHC.Types.:))
+| | | | | pushValue (GHC.Types.:)
 | | | | |   minReads=(Right 16)
 | | | | |   mayRaise=[ExceptionFailure]
 | | | | | pushValue (\x_0 -> \x_1 -> x_0)
 | | | | |   minReads=(Right 16)
 | | | | |   mayRaise=[ExceptionFailure]
-| | | | | pushValue ('n')
+| | | | | pushValue 'n'
 | | | | |   minReads=(Right 16)
 | | | | |   mayRaise=[ExceptionFailure]
 | | | | | lift2Value (\x_0 -> \x_1 -> x_0 x_1)
@@ -309,13 +309,13 @@ let <hidden>
 | | | | | lift2Value (\x_0 -> \x_1 -> x_0 x_1)
 | | | | |   minReads=(Right 15)
 | | | | |   mayRaise=[ExceptionFailure]
-| | | | | pushValue ((GHC.Types.:))
+| | | | | pushValue (GHC.Types.:)
 | | | | |   minReads=(Right 15)
 | | | | |   mayRaise=[ExceptionFailure]
 | | | | | pushValue (\x_0 -> \x_1 -> x_0)
 | | | | |   minReads=(Right 15)
 | | | | |   mayRaise=[ExceptionFailure]
-| | | | | pushValue ('c')
+| | | | | pushValue 'c'
 | | | | |   minReads=(Right 15)
 | | | | |   mayRaise=[ExceptionFailure]
 | | | | | lift2Value (\x_0 -> \x_1 -> x_0 x_1)
@@ -330,13 +330,13 @@ let <hidden>
 | | | | | lift2Value (\x_0 -> \x_1 -> x_0 x_1)
 | | | | |   minReads=(Right 14)
 | | | | |   mayRaise=[ExceptionFailure]
-| | | | | pushValue ((GHC.Types.:))
+| | | | | pushValue (GHC.Types.:)
 | | | | |   minReads=(Right 14)
 | | | | |   mayRaise=[ExceptionFailure]
 | | | | | pushValue (\x_0 -> \x_1 -> x_0)
 | | | | |   minReads=(Right 14)
 | | | | |   mayRaise=[ExceptionFailure]
-| | | | | pushValue ('t')
+| | | | | pushValue 't'
 | | | | |   minReads=(Right 14)
 | | | | |   mayRaise=[ExceptionFailure]
 | | | | | lift2Value (\x_0 -> \x_1 -> x_0 x_1)
@@ -351,13 +351,13 @@ let <hidden>
 | | | | | lift2Value (\x_0 -> \x_1 -> x_0 x_1)
 | | | | |   minReads=(Right 13)
 | | | | |   mayRaise=[ExceptionFailure]
-| | | | | pushValue ((GHC.Types.:))
+| | | | | pushValue (GHC.Types.:)
 | | | | |   minReads=(Right 13)
 | | | | |   mayRaise=[ExceptionFailure]
 | | | | | pushValue (\x_0 -> \x_1 -> x_0)
 | | | | |   minReads=(Right 13)
 | | | | |   mayRaise=[ExceptionFailure]
-| | | | | pushValue ('i')
+| | | | | pushValue 'i'
 | | | | |   minReads=(Right 13)
 | | | | |   mayRaise=[ExceptionFailure]
 | | | | | lift2Value (\x_0 -> \x_1 -> x_0 x_1)
@@ -372,13 +372,13 @@ let <hidden>
 | | | | | lift2Value (\x_0 -> \x_1 -> x_0 x_1)
 | | | | |   minReads=(Right 12)
 | | | | |   mayRaise=[ExceptionFailure]
-| | | | | pushValue ((GHC.Types.:))
+| | | | | pushValue (GHC.Types.:)
 | | | | |   minReads=(Right 12)
 | | | | |   mayRaise=[ExceptionFailure]
 | | | | | pushValue (\x_0 -> \x_1 -> x_0)
 | | | | |   minReads=(Right 12)
 | | | | |   mayRaise=[ExceptionFailure]
-| | | | | pushValue ('o')
+| | | | | pushValue 'o'
 | | | | |   minReads=(Right 12)
 | | | | |   mayRaise=[ExceptionFailure]
 | | | | | lift2Value (\x_0 -> \x_1 -> x_0 x_1)
@@ -393,13 +393,13 @@ let <hidden>
 | | | | | lift2Value (\x_0 -> \x_1 -> x_0 x_1)
 | | | | |   minReads=(Right 11)
 | | | | |   mayRaise=[ExceptionFailure]
-| | | | | pushValue ((GHC.Types.:))
+| | | | | pushValue (GHC.Types.:)
 | | | | |   minReads=(Right 11)
 | | | | |   mayRaise=[ExceptionFailure]
 | | | | | pushValue (\x_0 -> \x_1 -> x_0)
 | | | | |   minReads=(Right 11)
 | | | | |   mayRaise=[ExceptionFailure]
-| | | | | pushValue ('n')
+| | | | | pushValue 'n'
 | | | | |   minReads=(Right 11)
 | | | | |   mayRaise=[ExceptionFailure]
 | | | | | lift2Value (\x_0 -> \x_1 -> x_0 x_1)
@@ -414,7 +414,7 @@ let <hidden>
 | | | | | lift2Value (\x_0 -> \x_1 -> x_0 x_1)
 | | | | |   minReads=(Right 10)
 | | | | |   mayRaise=[ExceptionFailure]
-| | | | | pushValue (GHC.Types.[])
+| | | | | pushValue GHC.Types.[]
 | | | | |   minReads=(Right 10)
 | | | | |   mayRaise=[ExceptionFailure]
 | | | | | lift2Value (\x_0 -> \x_1 -> x_0 x_1)
@@ -553,7 +553,7 @@ let <hidden>
 | | | | | | | pushValue (\x_0 -> \x_1 -> x_0)
 | | | | | | |   minReads=(Right 2)
 | | | | | | |   mayRaise=[ExceptionFailure]
-| | | | | | | pushValue (GHC.Tuple.())
+| | | | | | | pushValue GHC.Tuple.()
 | | | | | | |   minReads=(Right 2)
 | | | | | | |   mayRaise=[ExceptionFailure]
 | | | | | | | lift2Value (\x_0 -> \x_1 -> x_0 x_1)
@@ -574,7 +574,7 @@ let <hidden>
 | | | | | | | pushValue (\x_0 -> \x_1 -> x_0)
 | | | | | | |   minReads=(Right 2)
 | | | | | | |   mayRaise=[ExceptionFailure]
-| | | | | | | pushValue (':')
+| | | | | | | pushValue ':'
 | | | | | | |   minReads=(Right 2)
 | | | | | | |   mayRaise=[ExceptionFailure]
 | | | | | | | lift2Value (\x_0 -> \x_1 -> x_0 x_1)
@@ -618,11 +618,11 @@ let <hidden>
 | | | | | | |   minReads=(Right 0)
 | | | | | | |   mayRaise=[ExceptionFailure]
 | | | | | | | lift2Value (\(Data.Text.Internal.Text _ i_0 _) (Data.Text.Internal.Text _
-| | | | | | |                                                               j_1
-| | | | | | |                                                               _) -> i_0 GHC.Classes.== j_1)
+| | | | | | |                                                                j_1
+| | | | | | |                                                                _) -> i_0 GHC.Classes.== j_1)
 | | | | | | |   minReads=(Right 0)
 | | | | | | |   mayRaise=[ExceptionFailure]
-| | | | | | | choicesBranch [(\x_0 -> x_0)]
+| | | | | | | choicesBranch [\x_0 -> x_0]
 | | | | | | |   minReads=(Right 0)
 | | | | | | |   mayRaise=[ExceptionFailure]
 | | | | | | | | <branch>
@@ -648,11 +648,11 @@ let <hidden>
 | | |   minReads=(Right 0)
 | | |   mayRaise=[ExceptionFailure]
 | | | lift2Value (\(Data.Text.Internal.Text _ i_0 _) (Data.Text.Internal.Text _
-| | |                                                               j_1
-| | |                                                               _) -> i_0 GHC.Classes.== j_1)
+| | |                                                                j_1
+| | |                                                                _) -> i_0 GHC.Classes.== j_1)
 | | |   minReads=(Right 0)
 | | |   mayRaise=[ExceptionFailure]
-| | | choicesBranch [(\x_0 -> x_0)]
+| | | choicesBranch [\x_0 -> x_0]
 | | |   minReads=(Right 0)
 | | |   mayRaise=[ExceptionFailure]
 | | | | <branch>
@@ -749,13 +749,13 @@ let <hidden>
 | | | | | | | | |   minReads=(Right 2)
 | | | | | | | | |   mayRaise=[ExceptionFailure]
 | | | | | | | | | | <ok>
-| | | | | | | | | | | pushValue ((GHC.Types.:))
+| | | | | | | | | | | pushValue (GHC.Types.:)
 | | | | | | | | | | |   minReads=(Right 2)
 | | | | | | | | | | |   mayRaise=[ExceptionFailure]
 | | | | | | | | | | | pushValue (\x_0 -> \x_1 -> x_0)
 | | | | | | | | | | |   minReads=(Right 2)
 | | | | | | | | | | |   mayRaise=[ExceptionFailure]
-| | | | | | | | | | | pushValue ('i')
+| | | | | | | | | | | pushValue 'i'
 | | | | | | | | | | |   minReads=(Right 2)
 | | | | | | | | | | |   mayRaise=[ExceptionFailure]
 | | | | | | | | | | | lift2Value (\x_0 -> \x_1 -> x_0 x_1)
@@ -770,13 +770,13 @@ let <hidden>
 | | | | | | | | | | | lift2Value (\x_0 -> \x_1 -> x_0 x_1)
 | | | | | | | | | | |   minReads=(Right 1)
 | | | | | | | | | | |   mayRaise=[ExceptionFailure]
-| | | | | | | | | | | pushValue ((GHC.Types.:))
+| | | | | | | | | | | pushValue (GHC.Types.:)
 | | | | | | | | | | |   minReads=(Right 1)
 | | | | | | | | | | |   mayRaise=[ExceptionFailure]
 | | | | | | | | | | | pushValue (\x_0 -> \x_1 -> x_0)
 | | | | | | | | | | |   minReads=(Right 1)
 | | | | | | | | | | |   mayRaise=[ExceptionFailure]
-| | | | | | | | | | | pushValue ('f')
+| | | | | | | | | | | pushValue 'f'
 | | | | | | | | | | |   minReads=(Right 1)
 | | | | | | | | | | |   mayRaise=[ExceptionFailure]
 | | | | | | | | | | | lift2Value (\x_0 -> \x_1 -> x_0 x_1)
@@ -791,7 +791,7 @@ let <hidden>
 | | | | | | | | | | | lift2Value (\x_0 -> \x_1 -> x_0 x_1)
 | | | | | | | | | | |   minReads=(Right 0)
 | | | | | | | | | | |   mayRaise=[]
-| | | | | | | | | | | pushValue (GHC.Types.[])
+| | | | | | | | | | | pushValue GHC.Types.[]
 | | | | | | | | | | |   minReads=(Right 0)
 | | | | | | | | | | |   mayRaise=[]
 | | | | | | | | | | | lift2Value (\x_0 -> \x_1 -> x_0 x_1)
@@ -830,11 +830,11 @@ let <hidden>
 | | | | | | | | |   minReads=(Right 11)
 | | | | | | | | |   mayRaise=[ExceptionFailure]
 | | | | | | | | | lift2Value (\(Data.Text.Internal.Text _ i_0 _) (Data.Text.Internal.Text _
-| | | | | | | | |                                                               j_1
-| | | | | | | | |                                                               _) -> i_0 GHC.Classes.== j_1)
+| | | | | | | | |                                                                j_1
+| | | | | | | | |                                                                _) -> i_0 GHC.Classes.== j_1)
 | | | | | | | | |   minReads=(Right 11)
 | | | | | | | | |   mayRaise=[ExceptionFailure]
-| | | | | | | | | choicesBranch [(\x_0 -> x_0)]
+| | | | | | | | | choicesBranch [\x_0 -> x_0]
 | | | | | | | | |   minReads=(Right 11)
 | | | | | | | | |   mayRaise=[ExceptionFailure]
 | | | | | | | | | | <branch>
@@ -869,13 +869,13 @@ let <hidden>
 | | | | | | | | | | |   minReads=(Right 11)
 | | | | | | | | | | |   mayRaise=[ExceptionFailure]
 | | | | | | | | | | | | <ok>
-| | | | | | | | | | | | | pushValue ((GHC.Types.:))
+| | | | | | | | | | | | | pushValue (GHC.Types.:)
 | | | | | | | | | | | | |   minReads=(Right 11)
 | | | | | | | | | | | | |   mayRaise=[ExceptionFailure]
 | | | | | | | | | | | | | pushValue (\x_0 -> \x_1 -> x_0)
 | | | | | | | | | | | | |   minReads=(Right 11)
 | | | | | | | | | | | | |   mayRaise=[ExceptionFailure]
-| | | | | | | | | | | | | pushValue ('w')
+| | | | | | | | | | | | | pushValue 'w'
 | | | | | | | | | | | | |   minReads=(Right 11)
 | | | | | | | | | | | | |   mayRaise=[ExceptionFailure]
 | | | | | | | | | | | | | lift2Value (\x_0 -> \x_1 -> x_0 x_1)
@@ -890,13 +890,13 @@ let <hidden>
 | | | | | | | | | | | | | lift2Value (\x_0 -> \x_1 -> x_0 x_1)
 | | | | | | | | | | | | |   minReads=(Right 10)
 | | | | | | | | | | | | |   mayRaise=[ExceptionFailure]
-| | | | | | | | | | | | | pushValue ((GHC.Types.:))
+| | | | | | | | | | | | | pushValue (GHC.Types.:)
 | | | | | | | | | | | | |   minReads=(Right 10)
 | | | | | | | | | | | | |   mayRaise=[ExceptionFailure]
 | | | | | | | | | | | | | pushValue (\x_0 -> \x_1 -> x_0)
 | | | | | | | | | | | | |   minReads=(Right 10)
 | | | | | | | | | | | | |   mayRaise=[ExceptionFailure]
-| | | | | | | | | | | | | pushValue ('h')
+| | | | | | | | | | | | | pushValue 'h'
 | | | | | | | | | | | | |   minReads=(Right 10)
 | | | | | | | | | | | | |   mayRaise=[ExceptionFailure]
 | | | | | | | | | | | | | lift2Value (\x_0 -> \x_1 -> x_0 x_1)
@@ -911,13 +911,13 @@ let <hidden>
 | | | | | | | | | | | | | lift2Value (\x_0 -> \x_1 -> x_0 x_1)
 | | | | | | | | | | | | |   minReads=(Right 9)
 | | | | | | | | | | | | |   mayRaise=[ExceptionFailure]
-| | | | | | | | | | | | | pushValue ((GHC.Types.:))
+| | | | | | | | | | | | | pushValue (GHC.Types.:)
 | | | | | | | | | | | | |   minReads=(Right 9)
 | | | | | | | | | | | | |   mayRaise=[ExceptionFailure]
 | | | | | | | | | | | | | pushValue (\x_0 -> \x_1 -> x_0)
 | | | | | | | | | | | | |   minReads=(Right 9)
 | | | | | | | | | | | | |   mayRaise=[ExceptionFailure]
-| | | | | | | | | | | | | pushValue ('i')
+| | | | | | | | | | | | | pushValue 'i'
 | | | | | | | | | | | | |   minReads=(Right 9)
 | | | | | | | | | | | | |   mayRaise=[ExceptionFailure]
 | | | | | | | | | | | | | lift2Value (\x_0 -> \x_1 -> x_0 x_1)
@@ -932,13 +932,13 @@ let <hidden>
 | | | | | | | | | | | | | lift2Value (\x_0 -> \x_1 -> x_0 x_1)
 | | | | | | | | | | | | |   minReads=(Right 8)
 | | | | | | | | | | | | |   mayRaise=[ExceptionFailure]
-| | | | | | | | | | | | | pushValue ((GHC.Types.:))
+| | | | | | | | | | | | | pushValue (GHC.Types.:)
 | | | | | | | | | | | | |   minReads=(Right 8)
 | | | | | | | | | | | | |   mayRaise=[ExceptionFailure]
 | | | | | | | | | | | | | pushValue (\x_0 -> \x_1 -> x_0)
 | | | | | | | | | | | | |   minReads=(Right 8)
 | | | | | | | | | | | | |   mayRaise=[ExceptionFailure]
-| | | | | | | | | | | | | pushValue ('l')
+| | | | | | | | | | | | | pushValue 'l'
 | | | | | | | | | | | | |   minReads=(Right 8)
 | | | | | | | | | | | | |   mayRaise=[ExceptionFailure]
 | | | | | | | | | | | | | lift2Value (\x_0 -> \x_1 -> x_0 x_1)
@@ -953,13 +953,13 @@ let <hidden>
 | | | | | | | | | | | | | lift2Value (\x_0 -> \x_1 -> x_0 x_1)
 | | | | | | | | | | | | |   minReads=(Right 7)
 | | | | | | | | | | | | |   mayRaise=[ExceptionFailure]
-| | | | | | | | | | | | | pushValue ((GHC.Types.:))
+| | | | | | | | | | | | | pushValue (GHC.Types.:)
 | | | | | | | | | | | | |   minReads=(Right 7)
 | | | | | | | | | | | | |   mayRaise=[ExceptionFailure]
 | | | | | | | | | | | | | pushValue (\x_0 -> \x_1 -> x_0)
 | | | | | | | | | | | | |   minReads=(Right 7)
 | | | | | | | | | | | | |   mayRaise=[ExceptionFailure]
-| | | | | | | | | | | | | pushValue ('e')
+| | | | | | | | | | | | | pushValue 'e'
 | | | | | | | | | | | | |   minReads=(Right 7)
 | | | | | | | | | | | | |   mayRaise=[ExceptionFailure]
 | | | | | | | | | | | | | lift2Value (\x_0 -> \x_1 -> x_0 x_1)
@@ -974,7 +974,7 @@ let <hidden>
 | | | | | | | | | | | | | lift2Value (\x_0 -> \x_1 -> x_0 x_1)
 | | | | | | | | | | | | |   minReads=(Right 6)
 | | | | | | | | | | | | |   mayRaise=[ExceptionFailure]
-| | | | | | | | | | | | | pushValue (GHC.Types.[])
+| | | | | | | | | | | | | pushValue GHC.Types.[]
 | | | | | | | | | | | | |   minReads=(Right 6)
 | | | | | | | | | | | | |   mayRaise=[ExceptionFailure]
 | | | | | | | | | | | | | lift2Value (\x_0 -> \x_1 -> x_0 x_1)
@@ -1041,11 +1041,11 @@ let <hidden>
 | | | | | | |   minReads=(Right 8)
 | | | | | | |   mayRaise=[ExceptionFailure]
 | | | | | | | lift2Value (\(Data.Text.Internal.Text _ i_0 _) (Data.Text.Internal.Text _
-| | | | | | |                                                               j_1
-| | | | | | |                                                               _) -> i_0 GHC.Classes.== j_1)
+| | | | | | |                                                                j_1
+| | | | | | |                                                                _) -> i_0 GHC.Classes.== j_1)
 | | | | | | |   minReads=(Right 8)
 | | | | | | |   mayRaise=[ExceptionFailure]
-| | | | | | | choicesBranch [(\x_0 -> x_0)]
+| | | | | | | choicesBranch [\x_0 -> x_0]
 | | | | | | |   minReads=(Right 8)
 | | | | | | |   mayRaise=[ExceptionFailure]
 | | | | | | | | <branch>
@@ -1152,7 +1152,7 @@ let <hidden>
 | | | | | | | | | | | | pushValue (\x_0 -> \x_1 -> x_0)
 | | | | | | | | | | | |   minReads=(Right 4)
 | | | | | | | | | | | |   mayRaise=[ExceptionFailure]
-| | | | | | | | | | | | pushValue ('=')
+| | | | | | | | | | | | pushValue '='
 | | | | | | | | | | | |   minReads=(Right 4)
 | | | | | | | | | | | |   mayRaise=[ExceptionFailure]
 | | | | | | | | | | | | lift2Value (\x_0 -> \x_1 -> x_0 x_1)
@@ -1255,7 +1255,7 @@ let <hidden>
 | | | | | | | | | | | | | pushValue (\x_0 -> \x_1 -> x_0)
 | | | | | | | | | | | | |   minReads=(Right 3)
 | | | | | | | | | | | | |   mayRaise=[ExceptionFailure]
-| | | | | | | | | | | | | pushValue (GHC.Tuple.())
+| | | | | | | | | | | | | pushValue GHC.Tuple.()
 | | | | | | | | | | | | |   minReads=(Right 3)
 | | | | | | | | | | | | |   mayRaise=[ExceptionFailure]
 | | | | | | | | | | | | | lift2Value (\x_0 -> \x_1 -> x_0 x_1)
@@ -1274,13 +1274,13 @@ let <hidden>
 | | | | | | | | | | | | |   minReads=(Right 3)
 | | | | | | | | | | | | |   mayRaise=[ExceptionFailure]
 | | | | | | | | | | | | | | <ok>
-| | | | | | | | | | | | | | | pushValue ((GHC.Types.:))
+| | | | | | | | | | | | | | | pushValue (GHC.Types.:)
 | | | | | | | | | | | | | | |   minReads=(Right 3)
 | | | | | | | | | | | | | | |   mayRaise=[ExceptionFailure]
 | | | | | | | | | | | | | | | pushValue (\x_0 -> \x_1 -> x_0)
 | | | | | | | | | | | | | | |   minReads=(Right 3)
 | | | | | | | | | | | | | | |   mayRaise=[ExceptionFailure]
-| | | | | | | | | | | | | | | pushValue ('v')
+| | | | | | | | | | | | | | | pushValue 'v'
 | | | | | | | | | | | | | | |   minReads=(Right 3)
 | | | | | | | | | | | | | | |   mayRaise=[ExceptionFailure]
 | | | | | | | | | | | | | | | lift2Value (\x_0 -> \x_1 -> x_0 x_1)
@@ -1295,13 +1295,13 @@ let <hidden>
 | | | | | | | | | | | | | | | lift2Value (\x_0 -> \x_1 -> x_0 x_1)
 | | | | | | | | | | | | | | |   minReads=(Right 2)
 | | | | | | | | | | | | | | |   mayRaise=[ExceptionFailure]
-| | | | | | | | | | | | | | | pushValue ((GHC.Types.:))
+| | | | | | | | | | | | | | | pushValue (GHC.Types.:)
 | | | | | | | | | | | | | | |   minReads=(Right 2)
 | | | | | | | | | | | | | | |   mayRaise=[ExceptionFailure]
 | | | | | | | | | | | | | | | pushValue (\x_0 -> \x_1 -> x_0)
 | | | | | | | | | | | | | | |   minReads=(Right 2)
 | | | | | | | | | | | | | | |   mayRaise=[ExceptionFailure]
-| | | | | | | | | | | | | | | pushValue ('a')
+| | | | | | | | | | | | | | | pushValue 'a'
 | | | | | | | | | | | | | | |   minReads=(Right 2)
 | | | | | | | | | | | | | | |   mayRaise=[ExceptionFailure]
 | | | | | | | | | | | | | | | lift2Value (\x_0 -> \x_1 -> x_0 x_1)
@@ -1316,13 +1316,13 @@ let <hidden>
 | | | | | | | | | | | | | | | lift2Value (\x_0 -> \x_1 -> x_0 x_1)
 | | | | | | | | | | | | | | |   minReads=(Right 1)
 | | | | | | | | | | | | | | |   mayRaise=[ExceptionFailure]
-| | | | | | | | | | | | | | | pushValue ((GHC.Types.:))
+| | | | | | | | | | | | | | | pushValue (GHC.Types.:)
 | | | | | | | | | | | | | | |   minReads=(Right 1)
 | | | | | | | | | | | | | | |   mayRaise=[ExceptionFailure]
 | | | | | | | | | | | | | | | pushValue (\x_0 -> \x_1 -> x_0)
 | | | | | | | | | | | | | | |   minReads=(Right 1)
 | | | | | | | | | | | | | | |   mayRaise=[ExceptionFailure]
-| | | | | | | | | | | | | | | pushValue ('r')
+| | | | | | | | | | | | | | | pushValue 'r'
 | | | | | | | | | | | | | | |   minReads=(Right 1)
 | | | | | | | | | | | | | | |   mayRaise=[ExceptionFailure]
 | | | | | | | | | | | | | | | lift2Value (\x_0 -> \x_1 -> x_0 x_1)
@@ -1337,7 +1337,7 @@ let <hidden>
 | | | | | | | | | | | | | | | lift2Value (\x_0 -> \x_1 -> x_0 x_1)
 | | | | | | | | | | | | | | |   minReads=(Right 0)
 | | | | | | | | | | | | | | |   mayRaise=[]
-| | | | | | | | | | | | | | | pushValue (GHC.Types.[])
+| | | | | | | | | | | | | | | pushValue GHC.Types.[]
 | | | | | | | | | | | | | | |   minReads=(Right 0)
 | | | | | | | | | | | | | | |   mayRaise=[]
 | | | | | | | | | | | | | | | lift2Value (\x_0 -> \x_1 -> x_0 x_1)
@@ -1382,11 +1382,11 @@ let <hidden>
 | | | | | | | | | | | | |   minReads=(Right 0)
 | | | | | | | | | | | | |   mayRaise=[ExceptionFailure]
 | | | | | | | | | | | | | lift2Value (\(Data.Text.Internal.Text _ i_0 _) (Data.Text.Internal.Text _
-| | | | | | | | | | | | |                                                               j_1
-| | | | | | | | | | | | |                                                               _) -> i_0 GHC.Classes.== j_1)
+| | | | | | | | | | | | |                                                                j_1
+| | | | | | | | | | | | |                                                                _) -> i_0 GHC.Classes.== j_1)
 | | | | | | | | | | | | |   minReads=(Right 0)
 | | | | | | | | | | | | |   mayRaise=[ExceptionFailure]
-| | | | | | | | | | | | | choicesBranch [(\x_0 -> x_0)]
+| | | | | | | | | | | | | choicesBranch [\x_0 -> x_0]
 | | | | | | | | | | | | |   minReads=(Right 0)
 | | | | | | | | | | | | |   mayRaise=[ExceptionFailure]
 | | | | | | | | | | | | | | <branch>
@@ -1416,11 +1416,11 @@ let <hidden>
 | | | | |   minReads=(Right 4)
 | | | | |   mayRaise=[ExceptionFailure]
 | | | | | lift2Value (\(Data.Text.Internal.Text _ i_0 _) (Data.Text.Internal.Text _
-| | | | |                                                               j_1
-| | | | |                                                               _) -> i_0 GHC.Classes.== j_1)
+| | | | |                                                                j_1
+| | | | |                                                                _) -> i_0 GHC.Classes.== j_1)
 | | | | |   minReads=(Right 4)
 | | | | |   mayRaise=[ExceptionFailure]
-| | | | | choicesBranch [(\x_0 -> x_0)]
+| | | | | choicesBranch [\x_0 -> x_0]
 | | | | |   minReads=(Right 4)
 | | | | |   mayRaise=[ExceptionFailure]
 | | | | | | <branch>
@@ -1451,11 +1451,11 @@ let <hidden>
 | | |   minReads=(Right 0)
 | | |   mayRaise=[ExceptionFailure]
 | | | lift2Value (\(Data.Text.Internal.Text _ i_0 _) (Data.Text.Internal.Text _
-| | |                                                               j_1
-| | |                                                               _) -> i_0 GHC.Classes.== j_1)
+| | |                                                                j_1
+| | |                                                                _) -> i_0 GHC.Classes.== j_1)
 | | |   minReads=(Right 0)
 | | |   mayRaise=[ExceptionFailure]
-| | | choicesBranch [(\x_0 -> x_0)]
+| | | choicesBranch [\x_0 -> x_0]
 | | |   minReads=(Right 0)
 | | |   mayRaise=[ExceptionFailure]
 | | | | <branch>
@@ -1526,11 +1526,11 @@ let <hidden>
 | | |   minReads=(Right 0)
 | | |   mayRaise=[ExceptionFailure]
 | | | lift2Value (\(Data.Text.Internal.Text _ i_0 _) (Data.Text.Internal.Text _
-| | |                                                               j_1
-| | |                                                               _) -> i_0 GHC.Classes.== j_1)
+| | |                                                                j_1
+| | |                                                                _) -> i_0 GHC.Classes.== j_1)
 | | |   minReads=(Right 0)
 | | |   mayRaise=[ExceptionFailure]
-| | | choicesBranch [(\x_0 -> x_0)]
+| | | choicesBranch [\x_0 -> x_0]
 | | |   minReads=(Right 0)
 | | |   mayRaise=[ExceptionFailure]
 | | | | <branch>
@@ -1601,11 +1601,11 @@ let <hidden>
 | | |   minReads=(Right 0)
 | | |   mayRaise=[ExceptionFailure]
 | | | lift2Value (\(Data.Text.Internal.Text _ i_0 _) (Data.Text.Internal.Text _
-| | |                                                               j_1
-| | |                                                               _) -> i_0 GHC.Classes.== j_1)
+| | |                                                                j_1
+| | |                                                                _) -> i_0 GHC.Classes.== j_1)
 | | |   minReads=(Right 0)
 | | |   mayRaise=[ExceptionFailure]
-| | | choicesBranch [(\x_0 -> x_0)]
+| | | choicesBranch [\x_0 -> x_0]
 | | |   minReads=(Right 0)
 | | |   mayRaise=[ExceptionFailure]
 | | | | <branch>
@@ -1676,11 +1676,11 @@ let <hidden>
 | | |   minReads=(Right 0)
 | | |   mayRaise=[ExceptionFailure]
 | | | lift2Value (\(Data.Text.Internal.Text _ i_0 _) (Data.Text.Internal.Text _
-| | |                                                               j_1
-| | |                                                               _) -> i_0 GHC.Classes.== j_1)
+| | |                                                                j_1
+| | |                                                                _) -> i_0 GHC.Classes.== j_1)
 | | |   minReads=(Right 0)
 | | |   mayRaise=[ExceptionFailure]
-| | | choicesBranch [(\x_0 -> x_0)]
+| | | choicesBranch [\x_0 -> x_0]
 | | |   minReads=(Right 0)
 | | |   mayRaise=[ExceptionFailure]
 | | | | <branch>
@@ -1751,11 +1751,11 @@ let <hidden>
 | | |   minReads=(Right 0)
 | | |   mayRaise=[ExceptionFailure]
 | | | lift2Value (\(Data.Text.Internal.Text _ i_0 _) (Data.Text.Internal.Text _
-| | |                                                               j_1
-| | |                                                               _) -> i_0 GHC.Classes.== j_1)
+| | |                                                                j_1
+| | |                                                                _) -> i_0 GHC.Classes.== j_1)
 | | |   minReads=(Right 0)
 | | |   mayRaise=[ExceptionFailure]
-| | | choicesBranch [(\x_0 -> x_0)]
+| | | choicesBranch [\x_0 -> x_0]
 | | |   minReads=(Right 0)
 | | |   mayRaise=[ExceptionFailure]
 | | | | <branch>
@@ -1803,7 +1803,7 @@ let <hidden>
 | | | pushValue (\x_0 -> \x_1 -> x_0)
 | | |   minReads=(Right 4)
 | | |   mayRaise=[ExceptionFailure]
-| | | pushValue ('!')
+| | | pushValue '!'
 | | |   minReads=(Right 4)
 | | |   mayRaise=[ExceptionFailure]
 | | | lift2Value (\x_0 -> \x_1 -> x_0 x_1)
@@ -1856,11 +1856,11 @@ let <hidden>
 | | |   minReads=(Right 0)
 | | |   mayRaise=[ExceptionFailure]
 | | | lift2Value (\(Data.Text.Internal.Text _ i_0 _) (Data.Text.Internal.Text _
-| | |                                                               j_1
-| | |                                                               _) -> i_0 GHC.Classes.== j_1)
+| | |                                                                j_1
+| | |                                                                _) -> i_0 GHC.Classes.== j_1)
 | | |   minReads=(Right 0)
 | | |   mayRaise=[ExceptionFailure]
-| | | choicesBranch [(\x_0 -> x_0)]
+| | | choicesBranch [\x_0 -> x_0]
 | | |   minReads=(Right 0)
 | | |   mayRaise=[ExceptionFailure]
 | | | | <branch>
@@ -1884,7 +1884,7 @@ let <hidden>
 | | | pushValue (\x_0 -> \x_1 -> x_0)
 | | |   minReads=(Right 2)
 | | |   mayRaise=[ExceptionFailure]
-| | | pushValue (GHC.Tuple.())
+| | | pushValue GHC.Tuple.()
 | | |   minReads=(Right 2)
 | | |   mayRaise=[ExceptionFailure]
 | | | lift2Value (\x_0 -> \x_1 -> x_0 x_1)
@@ -1955,11 +1955,11 @@ let <hidden>
 | | |   minReads=(Right 0)
 | | |   mayRaise=[ExceptionFailure]
 | | | lift2Value (\(Data.Text.Internal.Text _ i_0 _) (Data.Text.Internal.Text _
-| | |                                                               j_1
-| | |                                                               _) -> i_0 GHC.Classes.== j_1)
+| | |                                                                j_1
+| | |                                                                _) -> i_0 GHC.Classes.== j_1)
 | | |   minReads=(Right 0)
 | | |   mayRaise=[ExceptionFailure]
-| | | choicesBranch [(\x_0 -> x_0)]
+| | | choicesBranch [\x_0 -> x_0]
 | | |   minReads=(Right 0)
 | | |   mayRaise=[ExceptionFailure]
 | | | | <branch>
@@ -1973,16 +1973,13 @@ let <hidden>
 let <hidden>
   minReads=(Right 0)
   mayRaise=[]
-| pushValue (GHC.Tuple.())
+| pushValue (\x_0 -> \x_1 -> \x_2 -> x_0 x_2 x_1)
 |   minReads=(Right 0)
 |   mayRaise=[]
-| ret
+| pushValue (\x_0 -> \x_1 -> x_0)
 |   minReads=(Right 0)
 |   mayRaise=[]
-let <hidden>
-  minReads=(Right 0)
-  mayRaise=[]
-| pushValue (GHC.Tuple.())
+| lift2Value (\x_0 -> \x_1 -> x_0 x_1)
 |   minReads=(Right 0)
 |   mayRaise=[]
 | ret
@@ -1991,13 +1988,16 @@ let <hidden>
 let <hidden>
   minReads=(Right 0)
   mayRaise=[]
-| pushValue (\x_0 -> \x_1 -> \x_2 -> x_0 x_2 x_1)
+| pushValue GHC.Tuple.()
 |   minReads=(Right 0)
 |   mayRaise=[]
-| pushValue (\x_0 -> \x_1 -> x_0)
+| ret
 |   minReads=(Right 0)
 |   mayRaise=[]
-| lift2Value (\x_0 -> \x_1 -> x_0 x_1)
+let <hidden>
+  minReads=(Right 0)
+  mayRaise=[]
+| pushValue GHC.Tuple.()
 |   minReads=(Right 0)
 |   mayRaise=[]
 | ret
@@ -2033,7 +2033,7 @@ let <hidden>
 | pushValue ((\x_0 -> \x_1 -> \x_2 -> x_0 x_2 x_1) (\x_3 -> \x_4 -> x_3 x_4))
 |   minReads=(Right 0)
 |   mayRaise=[ExceptionFailure]
-| pushValue (GHC.Tuple.())
+| pushValue GHC.Tuple.()
 |   minReads=(Right 0)
 |   mayRaise=[ExceptionFailure]
 | lift2Value (\x_0 -> \x_1 -> x_0 x_1)
@@ -2048,7 +2048,7 @@ let <hidden>
 | lift2Value (\x_0 -> \x_1 -> x_0 x_1)
 |   minReads=(Right 0)
 |   mayRaise=[]
-| pushValue (GHC.Tuple.())
+| pushValue GHC.Tuple.()
 |   minReads=(Right 0)
 |   mayRaise=[]
 | lift2Value (\x_0 -> \x_1 -> x_0 x_1)
@@ -2072,7 +2072,7 @@ let <hidden>
 | lift2Value (\x_0 -> \x_1 -> x_0 x_1)
 |   minReads=(Right 1)
 |   mayRaise=[ExceptionFailure]
-| read (GHC.Unicode.isSpace)
+| read GHC.Unicode.isSpace
 |   minReads=(Right 1)
 |   mayRaise=[ExceptionFailure]
 | lift2Value (\x_0 -> \x_1 -> x_0 x_1)
@@ -2150,7 +2150,7 @@ let <hidden>
 | | | | | | | pushValue (\x_0 -> \x_1 -> x_0)
 | | | | | | |   minReads=(Right 1)
 | | | | | | |   mayRaise=[ExceptionFailure]
-| | | | | | | pushValue ('0')
+| | | | | | | pushValue '0'
 | | | | | | |   minReads=(Right 1)
 | | | | | | |   mayRaise=[ExceptionFailure]
 | | | | | | | lift2Value (\x_0 -> \x_1 -> x_0 x_1)
@@ -2173,18 +2173,18 @@ let <hidden>
 | | | | | | |   minReads=(Right 1)
 | | | | | | |   mayRaise=[ExceptionFailure]
 | | | | | | | lift2Value (\(Data.Text.Internal.Text _ i_0 _) (Data.Text.Internal.Text _
-| | | | | | |                                                               j_1
-| | | | | | |                                                               _) -> i_0 GHC.Classes.== j_1)
+| | | | | | |                                                                j_1
+| | | | | | |                                                                _) -> i_0 GHC.Classes.== j_1)
 | | | | | | |   minReads=(Right 1)
 | | | | | | |   mayRaise=[ExceptionFailure]
-| | | | | | | choicesBranch [(\x_0 -> x_0)]
+| | | | | | | choicesBranch [\x_0 -> x_0]
 | | | | | | |   minReads=(Right 1)
 | | | | | | |   mayRaise=[ExceptionFailure]
 | | | | | | | | <branch>
 | | | | | | | | | pushValue (\x_0 -> \x_1 -> x_0)
 | | | | | | | | |   minReads=(Right 1)
 | | | | | | | | |   mayRaise=[ExceptionFailure]
-| | | | | | | | | pushValue ('1')
+| | | | | | | | | pushValue '1'
 | | | | | | | | |   minReads=(Right 1)
 | | | | | | | | |   mayRaise=[ExceptionFailure]
 | | | | | | | | | lift2Value (\x_0 -> \x_1 -> x_0 x_1)
@@ -2208,11 +2208,11 @@ let <hidden>
 | | | | |   minReads=(Right 4)
 | | | | |   mayRaise=[ExceptionFailure]
 | | | | | lift2Value (\(Data.Text.Internal.Text _ i_0 _) (Data.Text.Internal.Text _
-| | | | |                                                               j_1
-| | | | |                                                               _) -> i_0 GHC.Classes.== j_1)
+| | | | |                                                                j_1
+| | | | |                                                                _) -> i_0 GHC.Classes.== j_1)
 | | | | |   minReads=(Right 4)
 | | | | |   mayRaise=[ExceptionFailure]
-| | | | | choicesBranch [(\x_0 -> x_0)]
+| | | | | choicesBranch [\x_0 -> x_0]
 | | | | |   minReads=(Right 4)
 | | | | |   mayRaise=[ExceptionFailure]
 | | | | | | <branch>
@@ -2231,7 +2231,7 @@ let <hidden>
 | | | | | | | pushValue (\x_0 -> \x_1 -> x_0)
 | | | | | | |   minReads=(Right 4)
 | | | | | | |   mayRaise=[ExceptionFailure]
-| | | | | | | pushValue ('\'')
+| | | | | | | pushValue '\''
 | | | | | | |   minReads=(Right 4)
 | | | | | | |   mayRaise=[ExceptionFailure]
 | | | | | | | lift2Value (\x_0 -> \x_1 -> x_0 x_1)
@@ -2261,7 +2261,7 @@ let <hidden>
 | | | | | | | | pushValue (\x_0 -> \x_1 -> x_0)
 | | | | | | | |   minReads=(Right 2)
 | | | | | | | |   mayRaise=[ExceptionFailure]
-| | | | | | | | pushValue ('\'')
+| | | | | | | | pushValue '\''
 | | | | | | | |   minReads=(Right 2)
 | | | | | | | |   mayRaise=[ExceptionFailure]
 | | | | | | | | lift2Value (\x_0 -> \x_1 -> x_0 x_1)
@@ -2301,7 +2301,7 @@ let <hidden>
 | | | | | | | | | lift2Value (\x_0 -> \x_1 -> x_0 x_1)
 | | | | | | | | |   minReads=(Right 1)
 | | | | | | | | |   mayRaise=[ExceptionFailure]
-| | | | | | | | | read (Parsers.Nandlang.nandStringLetter)
+| | | | | | | | | read Parsers.Nandlang.nandStringLetter
 | | | | | | | | |   minReads=(Right 1)
 | | | | | | | | |   mayRaise=[ExceptionFailure]
 | | | | | | | | | lift2Value (\x_0 -> \x_1 -> x_0 x_1)
@@ -2324,11 +2324,11 @@ let <hidden>
 | | | | | | | | |   minReads=(Right 2)
 | | | | | | | | |   mayRaise=[ExceptionFailure]
 | | | | | | | | | lift2Value (\(Data.Text.Internal.Text _ i_0 _) (Data.Text.Internal.Text _
-| | | | | | | | |                                                               j_1
-| | | | | | | | |                                                               _) -> i_0 GHC.Classes.== j_1)
+| | | | | | | | |                                                                j_1
+| | | | | | | | |                                                                _) -> i_0 GHC.Classes.== j_1)
 | | | | | | | | |   minReads=(Right 2)
 | | | | | | | | |   mayRaise=[ExceptionFailure]
-| | | | | | | | | choicesBranch [(\x_0 -> x_0)]
+| | | | | | | | | choicesBranch [\x_0 -> x_0]
 | | | | | | | | |   minReads=(Right 2)
 | | | | | | | | |   mayRaise=[ExceptionFailure]
 | | | | | | | | | | <branch>
@@ -2344,7 +2344,7 @@ let <hidden>
 | | | | | | | | | | | pushValue (\x_0 -> \x_1 -> x_0)
 | | | | | | | | | | |   minReads=(Right 2)
 | | | | | | | | | | |   mayRaise=[ExceptionFailure]
-| | | | | | | | | | | pushValue ('\\')
+| | | | | | | | | | | pushValue '\\'
 | | | | | | | | | | |   minReads=(Right 2)
 | | | | | | | | | | |   mayRaise=[ExceptionFailure]
 | | | | | | | | | | | lift2Value (\x_0 -> \x_1 -> x_0 x_1)
@@ -2399,11 +2399,11 @@ let <hidden>
 | | |   minReads=(Right 2)
 | | |   mayRaise=[ExceptionFailure]
 | | | lift2Value (\(Data.Text.Internal.Text _ i_0 _) (Data.Text.Internal.Text _
-| | |                                                               j_1
-| | |                                                               _) -> i_0 GHC.Classes.== j_1)
+| | |                                                                j_1
+| | |                                                                _) -> i_0 GHC.Classes.== j_1)
 | | |   minReads=(Right 2)
 | | |   mayRaise=[ExceptionFailure]
-| | | choicesBranch [(\x_0 -> x_0)]
+| | | choicesBranch [\x_0 -> x_0]
 | | |   minReads=(Right 2)
 | | |   mayRaise=[ExceptionFailure]
 | | | | <branch>
@@ -2438,7 +2438,7 @@ let <hidden>
 | | | | | | | pushValue (\x_0 -> \x_1 -> x_0)
 | | | | | | |   minReads=(Right 4)
 | | | | | | |   mayRaise=[ExceptionFailure]
-| | | | | | | pushValue (GHC.Tuple.())
+| | | | | | | pushValue GHC.Tuple.()
 | | | | | | |   minReads=(Right 4)
 | | | | | | |   mayRaise=[ExceptionFailure]
 | | | | | | | lift2Value (\x_0 -> \x_1 -> x_0 x_1)
@@ -2506,7 +2506,7 @@ let <hidden>
 | | | | | | | | | | | pushValue (\x_0 -> \x_1 -> x_0)
 | | | | | | | | | | |   minReads=(Right 2)
 | | | | | | | | | | |   mayRaise=[ExceptionFailure]
-| | | | | | | | | | | pushValue (GHC.Tuple.())
+| | | | | | | | | | | pushValue GHC.Tuple.()
 | | | | | | | | | | |   minReads=(Right 2)
 | | | | | | | | | | |   mayRaise=[ExceptionFailure]
 | | | | | | | | | | | lift2Value (\x_0 -> \x_1 -> x_0 x_1)
@@ -2577,11 +2577,11 @@ let <hidden>
 | | | | | | | | | | |   minReads=(Right 0)
 | | | | | | | | | | |   mayRaise=[ExceptionFailure]
 | | | | | | | | | | | lift2Value (\(Data.Text.Internal.Text _ i_0 _) (Data.Text.Internal.Text _
-| | | | | | | | | | |                                                               j_1
-| | | | | | | | | | |                                                               _) -> i_0 GHC.Classes.== j_1)
+| | | | | | | | | | |                                                                j_1
+| | | | | | | | | | |                                                                _) -> i_0 GHC.Classes.== j_1)
 | | | | | | | | | | |   minReads=(Right 0)
 | | | | | | | | | | |   mayRaise=[ExceptionFailure]
-| | | | | | | | | | | choicesBranch [(\x_0 -> x_0)]
+| | | | | | | | | | | choicesBranch [\x_0 -> x_0]
 | | | | | | | | | | |   minReads=(Right 0)
 | | | | | | | | | | |   mayRaise=[ExceptionFailure]
 | | | | | | | | | | | | <branch>
@@ -2600,11 +2600,11 @@ let <hidden>
 | | | | | | | | |   minReads=(Right 5)
 | | | | | | | | |   mayRaise=[ExceptionFailure]
 | | | | | | | | | lift2Value (\(Data.Text.Internal.Text _ i_0 _) (Data.Text.Internal.Text _
-| | | | | | | | |                                                               j_1
-| | | | | | | | |                                                               _) -> i_0 GHC.Classes.== j_1)
+| | | | | | | | |                                                                j_1
+| | | | | | | | |                                                                _) -> i_0 GHC.Classes.== j_1)
 | | | | | | | | |   minReads=(Right 5)
 | | | | | | | | |   mayRaise=[ExceptionFailure]
-| | | | | | | | | choicesBranch [(\x_0 -> x_0)]
+| | | | | | | | | choicesBranch [\x_0 -> x_0]
 | | | | | | | | |   minReads=(Right 5)
 | | | | | | | | |   mayRaise=[ExceptionFailure]
 | | | | | | | | | | <branch>
@@ -2623,11 +2623,11 @@ let <hidden>
 | | | | | | |   minReads=(Right 0)
 | | | | | | |   mayRaise=[ExceptionFailure]
 | | | | | | | lift2Value (\(Data.Text.Internal.Text _ i_0 _) (Data.Text.Internal.Text _
-| | | | | | |                                                               j_1
-| | | | | | |                                                               _) -> i_0 GHC.Classes.== j_1)
+| | | | | | |                                                                j_1
+| | | | | | |                                                                _) -> i_0 GHC.Classes.== j_1)
 | | | | | | |   minReads=(Right 0)
 | | | | | | |   mayRaise=[ExceptionFailure]
-| | | | | | | choicesBranch [(\x_0 -> x_0)]
+| | | | | | | choicesBranch [\x_0 -> x_0]
 | | | | | | |   minReads=(Right 0)
 | | | | | | |   mayRaise=[ExceptionFailure]
 | | | | | | | | <branch>
@@ -2654,7 +2654,7 @@ let <hidden>
 | pushValue (\x_0 -> \x_1 -> x_0)
 |   minReads=(Right 2)
 |   mayRaise=[ExceptionFailure]
-| pushValue ('(')
+| pushValue '('
 |   minReads=(Right 2)
 |   mayRaise=[ExceptionFailure]
 | lift2Value (\x_0 -> \x_1 -> x_0 x_1)
@@ -2687,7 +2687,7 @@ let <hidden>
 | pushValue (\x_0 -> \x_1 -> x_0)
 |   minReads=(Right 2)
 |   mayRaise=[ExceptionFailure]
-| pushValue (')')
+| pushValue ')'
 |   minReads=(Right 2)
 |   mayRaise=[ExceptionFailure]
 | lift2Value (\x_0 -> \x_1 -> x_0 x_1)
@@ -2720,7 +2720,7 @@ let <hidden>
 | pushValue (\x_0 -> \x_1 -> x_0)
 |   minReads=(Right 2)
 |   mayRaise=[ExceptionFailure]
-| pushValue (',')
+| pushValue ','
 |   minReads=(Right 2)
 |   mayRaise=[ExceptionFailure]
 | lift2Value (\x_0 -> \x_1 -> x_0 x_1)
@@ -2753,7 +2753,7 @@ let <hidden>
 | pushValue (\x_0 -> \x_1 -> x_0)
 |   minReads=(Right 2)
 |   mayRaise=[ExceptionFailure]
-| pushValue (';')
+| pushValue ';'
 |   minReads=(Right 2)
 |   mayRaise=[ExceptionFailure]
 | lift2Value (\x_0 -> \x_1 -> x_0 x_1)
@@ -2811,7 +2811,7 @@ let <hidden>
 | | | pushValue (\x_0 -> \x_1 -> x_0)
 | | |   minReads=(Right 5)
 | | |   mayRaise=[ExceptionFailure]
-| | | pushValue (GHC.Tuple.())
+| | | pushValue GHC.Tuple.()
 | | |   minReads=(Right 5)
 | | |   mayRaise=[ExceptionFailure]
 | | | lift2Value (\x_0 -> \x_1 -> x_0 x_1)
@@ -2834,11 +2834,11 @@ let <hidden>
 | | |   minReads=(Right 0)
 | | |   mayRaise=[ExceptionFailure]
 | | | lift2Value (\(Data.Text.Internal.Text _ i_0 _) (Data.Text.Internal.Text _
-| | |                                                               j_1
-| | |                                                               _) -> i_0 GHC.Classes.== j_1)
+| | |                                                                j_1
+| | |                                                                _) -> i_0 GHC.Classes.== j_1)
 | | |   minReads=(Right 0)
 | | |   mayRaise=[ExceptionFailure]
-| | | choicesBranch [(\x_0 -> x_0)]
+| | | choicesBranch [\x_0 -> x_0]
 | | |   minReads=(Right 0)
 | | |   mayRaise=[ExceptionFailure]
 | | | | <branch>
@@ -2934,7 +2934,7 @@ let <hidden>
 | | | lift2Value (\x_0 -> \x_1 -> x_0 x_1)
 | | |   minReads=(Right 2)
 | | |   mayRaise=[ExceptionFailure]
-| | | read (Parsers.Nandlang.nandIdentStart)
+| | | read Parsers.Nandlang.nandIdentStart
 | | |   minReads=(Right 2)
 | | |   mayRaise=[ExceptionFailure]
 | | | lift2Value (\x_0 -> \x_1 -> x_0 x_1)
@@ -3019,7 +3019,7 @@ let <hidden>
 | pushValue (\x_0 -> \x_1 -> x_0)
 |   minReads=(Right 4)
 |   mayRaise=[ExceptionFailure]
-| pushValue ('{')
+| pushValue '{'
 |   minReads=(Right 4)
 |   mayRaise=[ExceptionFailure]
 | lift2Value (\x_0 -> \x_1 -> x_0 x_1)
@@ -3088,7 +3088,7 @@ let <hidden>
 | pushValue (\x_0 -> \x_1 -> x_0)
 |   minReads=(Right 1)
 |   mayRaise=[ExceptionFailure]
-| pushValue ('}')
+| pushValue '}'
 |   minReads=(Right 1)
 |   mayRaise=[ExceptionFailure]
 | lift2Value (\x_0 -> \x_1 -> x_0 x_1)
@@ -3136,7 +3136,7 @@ let <hidden>
 | pushValue (\x_0 -> \x_1 -> x_0)
 |   minReads=(Right 5)
 |   mayRaise=[ExceptionFailure]
-| pushValue ('[')
+| pushValue '['
 |   minReads=(Right 5)
 |   mayRaise=[ExceptionFailure]
 | lift2Value (\x_0 -> \x_1 -> x_0 x_1)
@@ -3187,7 +3187,7 @@ let <hidden>
 | pushValue ((\x_0 -> \x_1 -> \x_2 -> x_0 x_2 x_1) (\x_3 -> \x_4 -> x_3 x_4))
 |   minReads=(Right 1)
 |   mayRaise=[ExceptionFailure]
-| pushValue (GHC.Tuple.())
+| pushValue GHC.Tuple.()
 |   minReads=(Right 1)
 |   mayRaise=[ExceptionFailure]
 | lift2Value (\x_0 -> \x_1 -> x_0 x_1)
@@ -3202,7 +3202,7 @@ let <hidden>
 | lift2Value (\x_0 -> \x_1 -> x_0 x_1)
 |   minReads=(Right 1)
 |   mayRaise=[ExceptionFailure]
-| pushValue (GHC.Tuple.())
+| pushValue GHC.Tuple.()
 |   minReads=(Right 1)
 |   mayRaise=[ExceptionFailure]
 | lift2Value (\x_0 -> \x_1 -> x_0 x_1)
@@ -3223,7 +3223,7 @@ let <hidden>
 | pushValue (\x_0 -> \x_1 -> x_0)
 |   minReads=(Right 1)
 |   mayRaise=[ExceptionFailure]
-| pushValue (']')
+| pushValue ']'
 |   minReads=(Right 1)
 |   mayRaise=[ExceptionFailure]
 | lift2Value (\x_0 -> \x_1 -> x_0 x_1)
@@ -3250,7 +3250,7 @@ let <hidden>
 | ret
 |   minReads=(Right 0)
 |   mayRaise=[]
-pushValue (GHC.Show.show)
+pushValue GHC.Show.show
   minReads=(Right 1)
   mayRaise=[ExceptionFailure]
 pushValue (\x_0 -> \x_1 -> x_0)
@@ -3352,7 +3352,7 @@ catch ExceptionFailure
 | | | | loadInput
 | | | |   minReads=(Right 0)
 | | | |   mayRaise=[]
-| | | | pushValue (GHC.Tuple.())
+| | | | pushValue GHC.Tuple.()
 | | | |   minReads=(Right 0)
 | | | |   mayRaise=[]
 | | | | commit ExceptionFailure
@@ -3366,11 +3366,11 @@ catch ExceptionFailure
 | |   minReads=(Left ExceptionFailure)
 | |   mayRaise=[ExceptionFailure]
 | | lift2Value (\(Data.Text.Internal.Text _ i_0 _) (Data.Text.Internal.Text _
-| |                                                               j_1
-| |                                                               _) -> i_0 GHC.Classes.== j_1)
+| |                                                                j_1
+| |                                                                _) -> i_0 GHC.Classes.== j_1)
 | |   minReads=(Left ExceptionFailure)
 | |   mayRaise=[ExceptionFailure]
-| | choicesBranch [(\x_0 -> x_0)]
+| | choicesBranch [\x_0 -> x_0]
 | |   minReads=(Left ExceptionFailure)
 | |   mayRaise=[ExceptionFailure]
 | | | <branch>
diff --git a/test/Golden/Machine/G15.expected.txt b/test/Golden/Machine/G15.expected.txt
index 63b02ac..23f9824 100644
--- a/test/Golden/Machine/G15.expected.txt
+++ b/test/Golden/Machine/G15.expected.txt
@@ -1,4 +1,4 @@
-pushValue (GHC.Show.show)
+pushValue GHC.Show.show
   minReads=(Right 2)
   mayRaise=[ExceptionFailure]
 pushValue (\x_0 -> \x_1 -> x_0)
@@ -13,7 +13,7 @@ join <hidden>
 | pushValue (\x_0 -> \x_1 -> x_0)
 |   minReads=(Right 1)
 |   mayRaise=[ExceptionFailure]
-| pushValue ('c')
+| pushValue 'c'
 |   minReads=(Right 1)
 |   mayRaise=[ExceptionFailure]
 | lift2Value (\x_0 -> \x_1 -> x_0 x_1)
@@ -41,7 +41,7 @@ catch ExceptionFailure
 | | pushValue (\x_0 -> \x_1 -> x_0)
 | |   minReads=(Right 1)
 | |   mayRaise=[ExceptionFailure]
-| | pushValue ('a')
+| | pushValue 'a'
 | |   minReads=(Right 1)
 | |   mayRaise=[ExceptionFailure]
 | | lift2Value (\x_0 -> \x_1 -> x_0 x_1)
@@ -64,18 +64,18 @@ catch ExceptionFailure
 | |   minReads=(Right 1)
 | |   mayRaise=[ExceptionFailure]
 | | lift2Value (\(Data.Text.Internal.Text _ i_0 _) (Data.Text.Internal.Text _
-| |                                                               j_1
-| |                                                               _) -> i_0 GHC.Classes.== j_1)
+| |                                                                j_1
+| |                                                                _) -> i_0 GHC.Classes.== j_1)
 | |   minReads=(Right 1)
 | |   mayRaise=[ExceptionFailure]
-| | choicesBranch [(\x_0 -> x_0)]
+| | choicesBranch [\x_0 -> x_0]
 | |   minReads=(Right 1)
 | |   mayRaise=[ExceptionFailure]
 | | | <branch>
 | | | | pushValue (\x_0 -> \x_1 -> x_0)
 | | | |   minReads=(Right 1)
 | | | |   mayRaise=[ExceptionFailure]
-| | | | pushValue ('b')
+| | | | pushValue 'b'
 | | | |   minReads=(Right 1)
 | | | |   mayRaise=[ExceptionFailure]
 | | | | lift2Value (\x_0 -> \x_1 -> x_0 x_1)
diff --git a/test/Golden/Machine/G16.expected.txt b/test/Golden/Machine/G16.expected.txt
index f944f4c..08d066a 100644
--- a/test/Golden/Machine/G16.expected.txt
+++ b/test/Golden/Machine/G16.expected.txt
@@ -1,4 +1,4 @@
-pushValue (GHC.Show.show)
+pushValue GHC.Show.show
   minReads=(Right 2)
   mayRaise=[ExceptionFailure]
 pushValue (\x_0 -> \x_1 -> x_0)
@@ -13,7 +13,7 @@ join <hidden>
 | pushValue (\x_0 -> \x_1 -> x_0)
 |   minReads=(Right 1)
 |   mayRaise=[ExceptionFailure]
-| pushValue ('d')
+| pushValue 'd'
 |   minReads=(Right 1)
 |   mayRaise=[ExceptionFailure]
 | lift2Value (\x_0 -> \x_1 -> x_0 x_1)
@@ -54,7 +54,7 @@ catch ExceptionFailure
 | | | | pushValue (\x_0 -> \x_1 -> x_0)
 | | | |   minReads=(Right 1)
 | | | |   mayRaise=[ExceptionFailure]
-| | | | pushValue ('a')
+| | | | pushValue 'a'
 | | | |   minReads=(Right 1)
 | | | |   mayRaise=[ExceptionFailure]
 | | | | lift2Value (\x_0 -> \x_1 -> x_0 x_1)
@@ -77,18 +77,18 @@ catch ExceptionFailure
 | | | |   minReads=(Right 1)
 | | | |   mayRaise=[ExceptionFailure]
 | | | | lift2Value (\(Data.Text.Internal.Text _ i_0 _) (Data.Text.Internal.Text _
-| | | |                                                               j_1
-| | | |                                                               _) -> i_0 GHC.Classes.== j_1)
+| | | |                                                                j_1
+| | | |                                                                _) -> i_0 GHC.Classes.== j_1)
 | | | |   minReads=(Right 1)
 | | | |   mayRaise=[ExceptionFailure]
-| | | | choicesBranch [(\x_0 -> x_0)]
+| | | | choicesBranch [\x_0 -> x_0]
 | | | |   minReads=(Right 1)
 | | | |   mayRaise=[ExceptionFailure]
 | | | | | <branch>
 | | | | | | pushValue (\x_0 -> \x_1 -> x_0)
 | | | | | |   minReads=(Right 1)
 | | | | | |   mayRaise=[ExceptionFailure]
-| | | | | | pushValue ('b')
+| | | | | | pushValue 'b'
 | | | | | |   minReads=(Right 1)
 | | | | | |   mayRaise=[ExceptionFailure]
 | | | | | | lift2Value (\x_0 -> \x_1 -> x_0 x_1)
@@ -112,18 +112,18 @@ catch ExceptionFailure
 | |   minReads=(Right 1)
 | |   mayRaise=[ExceptionFailure]
 | | lift2Value (\(Data.Text.Internal.Text _ i_0 _) (Data.Text.Internal.Text _
-| |                                                               j_1
-| |                                                               _) -> i_0 GHC.Classes.== j_1)
+| |                                                                j_1
+| |                                                                _) -> i_0 GHC.Classes.== j_1)
 | |   minReads=(Right 1)
 | |   mayRaise=[ExceptionFailure]
-| | choicesBranch [(\x_0 -> x_0)]
+| | choicesBranch [\x_0 -> x_0]
 | |   minReads=(Right 1)
 | |   mayRaise=[ExceptionFailure]
 | | | <branch>
 | | | | pushValue (\x_0 -> \x_1 -> x_0)
 | | | |   minReads=(Right 1)
 | | | |   mayRaise=[ExceptionFailure]
-| | | | pushValue ('c')
+| | | | pushValue 'c'
 | | | |   minReads=(Right 1)
 | | | |   mayRaise=[ExceptionFailure]
 | | | | lift2Value (\x_0 -> \x_1 -> x_0 x_1)
diff --git a/test/Golden/Machine/G2.expected.txt b/test/Golden/Machine/G2.expected.txt
index de5f10f..3ca87c7 100644
--- a/test/Golden/Machine/G2.expected.txt
+++ b/test/Golden/Machine/G2.expected.txt
@@ -1,17 +1,17 @@
-pushValue (GHC.Show.show)
+pushValue GHC.Show.show
   minReads=(Right 3)
   mayRaise=[ExceptionFailure]
 catch ExceptionFailure
   minReads=(Right 3)
   mayRaise=[ExceptionFailure]
 | <ok>
-| | pushValue ((GHC.Types.:))
+| | pushValue (GHC.Types.:)
 | |   minReads=(Right 3)
 | |   mayRaise=[ExceptionFailure]
 | | pushValue (\x_0 -> \x_1 -> x_0)
 | |   minReads=(Right 3)
 | |   mayRaise=[ExceptionFailure]
-| | pushValue ('a')
+| | pushValue 'a'
 | |   minReads=(Right 3)
 | |   mayRaise=[ExceptionFailure]
 | | lift2Value (\x_0 -> \x_1 -> x_0 x_1)
@@ -26,13 +26,13 @@ catch ExceptionFailure
 | | lift2Value (\x_0 -> \x_1 -> x_0 x_1)
 | |   minReads=(Right 2)
 | |   mayRaise=[ExceptionFailure]
-| | pushValue ((GHC.Types.:))
+| | pushValue (GHC.Types.:)
 | |   minReads=(Right 2)
 | |   mayRaise=[ExceptionFailure]
 | | pushValue (\x_0 -> \x_1 -> x_0)
 | |   minReads=(Right 2)
 | |   mayRaise=[ExceptionFailure]
-| | pushValue ('b')
+| | pushValue 'b'
 | |   minReads=(Right 2)
 | |   mayRaise=[ExceptionFailure]
 | | lift2Value (\x_0 -> \x_1 -> x_0 x_1)
@@ -47,13 +47,13 @@ catch ExceptionFailure
 | | lift2Value (\x_0 -> \x_1 -> x_0 x_1)
 | |   minReads=(Right 1)
 | |   mayRaise=[ExceptionFailure]
-| | pushValue ((GHC.Types.:))
+| | pushValue (GHC.Types.:)
 | |   minReads=(Right 1)
 | |   mayRaise=[ExceptionFailure]
 | | pushValue (\x_0 -> \x_1 -> x_0)
 | |   minReads=(Right 1)
 | |   mayRaise=[ExceptionFailure]
-| | pushValue ('c')
+| | pushValue 'c'
 | |   minReads=(Right 1)
 | |   mayRaise=[ExceptionFailure]
 | | lift2Value (\x_0 -> \x_1 -> x_0 x_1)
@@ -68,7 +68,7 @@ catch ExceptionFailure
 | | lift2Value (\x_0 -> \x_1 -> x_0 x_1)
 | |   minReads=(Right 0)
 | |   mayRaise=[]
-| | pushValue (GHC.Types.[])
+| | pushValue GHC.Types.[]
 | |   minReads=(Right 0)
 | |   mayRaise=[]
 | | lift2Value (\x_0 -> \x_1 -> x_0 x_1)
diff --git a/test/Golden/Machine/G3.expected.txt b/test/Golden/Machine/G3.expected.txt
index 5fc4562..65b0733 100644
--- a/test/Golden/Machine/G3.expected.txt
+++ b/test/Golden/Machine/G3.expected.txt
@@ -8,13 +8,13 @@ let <hidden>
 | | | pushValue (\x_0 -> \x_1 -> \x_2 -> x_0 (x_1 x_2))
 | | |   minReads=(Right 1)
 | | |   mayRaise=[ExceptionFailure]
-| | | pushValue ((GHC.Types.:))
+| | | pushValue (GHC.Types.:)
 | | |   minReads=(Right 1)
 | | |   mayRaise=[ExceptionFailure]
 | | | pushValue (\x_0 -> \x_1 -> x_0)
 | | |   minReads=(Right 1)
 | | |   mayRaise=[ExceptionFailure]
-| | | pushValue ('a')
+| | | pushValue 'a'
 | | |   minReads=(Right 1)
 | | |   mayRaise=[ExceptionFailure]
 | | | lift2Value (\x_0 -> \x_1 -> x_0 x_1)
@@ -49,11 +49,11 @@ let <hidden>
 | | |   minReads=(Right 0)
 | | |   mayRaise=[ExceptionFailure]
 | | | lift2Value (\(Data.Text.Internal.Text _ i_0 _) (Data.Text.Internal.Text _
-| | |                                                               j_1
-| | |                                                               _) -> i_0 GHC.Classes.== j_1)
+| | |                                                                j_1
+| | |                                                                _) -> i_0 GHC.Classes.== j_1)
 | | |   minReads=(Right 0)
 | | |   mayRaise=[ExceptionFailure]
-| | | choicesBranch [(\x_0 -> x_0)]
+| | | choicesBranch [\x_0 -> x_0]
 | | |   minReads=(Right 0)
 | | |   mayRaise=[ExceptionFailure]
 | | | | <branch>
@@ -67,13 +67,13 @@ let <hidden>
 | | | | | fail []
 | | | | |   minReads=(Left ExceptionFailure)
 | | | | |   mayRaise=[ExceptionFailure]
-pushValue (GHC.Show.show)
+pushValue GHC.Show.show
   minReads=(Right 0)
   mayRaise=[ExceptionFailure]
 call <hidden>
   minReads=(Right 0)
   mayRaise=[ExceptionFailure]
-pushValue (GHC.Types.[])
+pushValue GHC.Types.[]
   minReads=(Right 0)
   mayRaise=[]
 lift2Value (\x_0 -> \x_1 -> x_0 x_1)
diff --git a/test/Golden/Machine/G4.expected.txt b/test/Golden/Machine/G4.expected.txt
index 3eb1243..2500c38 100644
--- a/test/Golden/Machine/G4.expected.txt
+++ b/test/Golden/Machine/G4.expected.txt
@@ -8,7 +8,7 @@ let <hidden>
 | | | pushValue (\x_0 -> \x_1 -> \x_2 -> x_0 (x_1 x_2))
 | | |   minReads=(Right 4)
 | | |   mayRaise=[ExceptionFailure]
-| | | pushValue ((GHC.Types.:))
+| | | pushValue (GHC.Types.:)
 | | |   minReads=(Right 4)
 | | |   mayRaise=[ExceptionFailure]
 | | | call <hidden>
@@ -37,11 +37,11 @@ let <hidden>
 | | |   minReads=(Right 0)
 | | |   mayRaise=[ExceptionFailure]
 | | | lift2Value (\(Data.Text.Internal.Text _ i_0 _) (Data.Text.Internal.Text _
-| | |                                                               j_1
-| | |                                                               _) -> i_0 GHC.Classes.== j_1)
+| | |                                                                j_1
+| | |                                                                _) -> i_0 GHC.Classes.== j_1)
 | | |   minReads=(Right 0)
 | | |   mayRaise=[ExceptionFailure]
-| | | choicesBranch [(\x_0 -> x_0)]
+| | | choicesBranch [\x_0 -> x_0]
 | | |   minReads=(Right 0)
 | | |   mayRaise=[ExceptionFailure]
 | | | | <branch>
@@ -62,13 +62,13 @@ let <hidden>
 |   minReads=(Right 4)
 |   mayRaise=[ExceptionFailure]
 | | <ok>
-| | | pushValue ((GHC.Types.:))
+| | | pushValue (GHC.Types.:)
 | | |   minReads=(Right 4)
 | | |   mayRaise=[ExceptionFailure]
 | | | pushValue (\x_0 -> \x_1 -> x_0)
 | | |   minReads=(Right 4)
 | | |   mayRaise=[ExceptionFailure]
-| | | pushValue ('a')
+| | | pushValue 'a'
 | | |   minReads=(Right 4)
 | | |   mayRaise=[ExceptionFailure]
 | | | lift2Value (\x_0 -> \x_1 -> x_0 x_1)
@@ -83,13 +83,13 @@ let <hidden>
 | | | lift2Value (\x_0 -> \x_1 -> x_0 x_1)
 | | |   minReads=(Right 3)
 | | |   mayRaise=[ExceptionFailure]
-| | | pushValue ((GHC.Types.:))
+| | | pushValue (GHC.Types.:)
 | | |   minReads=(Right 3)
 | | |   mayRaise=[ExceptionFailure]
 | | | pushValue (\x_0 -> \x_1 -> x_0)
 | | |   minReads=(Right 3)
 | | |   mayRaise=[ExceptionFailure]
-| | | pushValue ('b')
+| | | pushValue 'b'
 | | |   minReads=(Right 3)
 | | |   mayRaise=[ExceptionFailure]
 | | | lift2Value (\x_0 -> \x_1 -> x_0 x_1)
@@ -104,13 +104,13 @@ let <hidden>
 | | | lift2Value (\x_0 -> \x_1 -> x_0 x_1)
 | | |   minReads=(Right 2)
 | | |   mayRaise=[ExceptionFailure]
-| | | pushValue ((GHC.Types.:))
+| | | pushValue (GHC.Types.:)
 | | |   minReads=(Right 2)
 | | |   mayRaise=[ExceptionFailure]
 | | | pushValue (\x_0 -> \x_1 -> x_0)
 | | |   minReads=(Right 2)
 | | |   mayRaise=[ExceptionFailure]
-| | | pushValue ('c')
+| | | pushValue 'c'
 | | |   minReads=(Right 2)
 | | |   mayRaise=[ExceptionFailure]
 | | | lift2Value (\x_0 -> \x_1 -> x_0 x_1)
@@ -125,13 +125,13 @@ let <hidden>
 | | | lift2Value (\x_0 -> \x_1 -> x_0 x_1)
 | | |   minReads=(Right 1)
 | | |   mayRaise=[ExceptionFailure]
-| | | pushValue ((GHC.Types.:))
+| | | pushValue (GHC.Types.:)
 | | |   minReads=(Right 1)
 | | |   mayRaise=[ExceptionFailure]
 | | | pushValue (\x_0 -> \x_1 -> x_0)
 | | |   minReads=(Right 1)
 | | |   mayRaise=[ExceptionFailure]
-| | | pushValue ('d')
+| | | pushValue 'd'
 | | |   minReads=(Right 1)
 | | |   mayRaise=[ExceptionFailure]
 | | | lift2Value (\x_0 -> \x_1 -> x_0 x_1)
@@ -146,7 +146,7 @@ let <hidden>
 | | | lift2Value (\x_0 -> \x_1 -> x_0 x_1)
 | | |   minReads=(Right 0)
 | | |   mayRaise=[]
-| | | pushValue (GHC.Types.[])
+| | | pushValue GHC.Types.[]
 | | |   minReads=(Right 0)
 | | |   mayRaise=[]
 | | | lift2Value (\x_0 -> \x_1 -> x_0 x_1)
@@ -174,10 +174,10 @@ let <hidden>
 | | | fail []
 | | |   minReads=(Left ExceptionFailure)
 | | |   mayRaise=[ExceptionFailure]
-pushValue (GHC.Show.show)
+pushValue GHC.Show.show
   minReads=(Right 4)
   mayRaise=[ExceptionFailure]
-pushValue ((GHC.Types.:))
+pushValue (GHC.Types.:)
   minReads=(Right 4)
   mayRaise=[ExceptionFailure]
 call <hidden>
@@ -189,7 +189,7 @@ lift2Value (\x_0 -> \x_1 -> x_0 x_1)
 call <hidden>
   minReads=(Right 0)
   mayRaise=[ExceptionFailure]
-pushValue (GHC.Types.[])
+pushValue GHC.Types.[]
   minReads=(Right 0)
   mayRaise=[]
 lift2Value (\x_0 -> \x_1 -> x_0 x_1)
diff --git a/test/Golden/Machine/G5.expected.txt b/test/Golden/Machine/G5.expected.txt
index 73fc407..7f3d1b6 100644
--- a/test/Golden/Machine/G5.expected.txt
+++ b/test/Golden/Machine/G5.expected.txt
@@ -8,7 +8,7 @@ let <hidden>
 | | | pushValue (\x_0 -> \x_1 -> \x_2 -> x_0 (x_1 x_2))
 | | |   minReads=(Right 4)
 | | |   mayRaise=[ExceptionFailure]
-| | | pushValue ((GHC.Types.:))
+| | | pushValue (GHC.Types.:)
 | | |   minReads=(Right 4)
 | | |   mayRaise=[ExceptionFailure]
 | | | call <hidden>
@@ -37,11 +37,11 @@ let <hidden>
 | | |   minReads=(Right 0)
 | | |   mayRaise=[ExceptionFailure]
 | | | lift2Value (\(Data.Text.Internal.Text _ i_0 _) (Data.Text.Internal.Text _
-| | |                                                               j_1
-| | |                                                               _) -> i_0 GHC.Classes.== j_1)
+| | |                                                                j_1
+| | |                                                                _) -> i_0 GHC.Classes.== j_1)
 | | |   minReads=(Right 0)
 | | |   mayRaise=[ExceptionFailure]
-| | | choicesBranch [(\x_0 -> x_0)]
+| | | choicesBranch [\x_0 -> x_0]
 | | |   minReads=(Right 0)
 | | |   mayRaise=[ExceptionFailure]
 | | | | <branch>
@@ -62,13 +62,13 @@ let <hidden>
 |   minReads=(Right 4)
 |   mayRaise=[ExceptionFailure]
 | | <ok>
-| | | pushValue ((GHC.Types.:))
+| | | pushValue (GHC.Types.:)
 | | |   minReads=(Right 4)
 | | |   mayRaise=[ExceptionFailure]
 | | | pushValue (\x_0 -> \x_1 -> x_0)
 | | |   minReads=(Right 4)
 | | |   mayRaise=[ExceptionFailure]
-| | | pushValue ('a')
+| | | pushValue 'a'
 | | |   minReads=(Right 4)
 | | |   mayRaise=[ExceptionFailure]
 | | | lift2Value (\x_0 -> \x_1 -> x_0 x_1)
@@ -83,13 +83,13 @@ let <hidden>
 | | | lift2Value (\x_0 -> \x_1 -> x_0 x_1)
 | | |   minReads=(Right 3)
 | | |   mayRaise=[ExceptionFailure]
-| | | pushValue ((GHC.Types.:))
+| | | pushValue (GHC.Types.:)
 | | |   minReads=(Right 3)
 | | |   mayRaise=[ExceptionFailure]
 | | | pushValue (\x_0 -> \x_1 -> x_0)
 | | |   minReads=(Right 3)
 | | |   mayRaise=[ExceptionFailure]
-| | | pushValue ('b')
+| | | pushValue 'b'
 | | |   minReads=(Right 3)
 | | |   mayRaise=[ExceptionFailure]
 | | | lift2Value (\x_0 -> \x_1 -> x_0 x_1)
@@ -104,13 +104,13 @@ let <hidden>
 | | | lift2Value (\x_0 -> \x_1 -> x_0 x_1)
 | | |   minReads=(Right 2)
 | | |   mayRaise=[ExceptionFailure]
-| | | pushValue ((GHC.Types.:))
+| | | pushValue (GHC.Types.:)
 | | |   minReads=(Right 2)
 | | |   mayRaise=[ExceptionFailure]
 | | | pushValue (\x_0 -> \x_1 -> x_0)
 | | |   minReads=(Right 2)
 | | |   mayRaise=[ExceptionFailure]
-| | | pushValue ('c')
+| | | pushValue 'c'
 | | |   minReads=(Right 2)
 | | |   mayRaise=[ExceptionFailure]
 | | | lift2Value (\x_0 -> \x_1 -> x_0 x_1)
@@ -125,13 +125,13 @@ let <hidden>
 | | | lift2Value (\x_0 -> \x_1 -> x_0 x_1)
 | | |   minReads=(Right 1)
 | | |   mayRaise=[ExceptionFailure]
-| | | pushValue ((GHC.Types.:))
+| | | pushValue (GHC.Types.:)
 | | |   minReads=(Right 1)
 | | |   mayRaise=[ExceptionFailure]
 | | | pushValue (\x_0 -> \x_1 -> x_0)
 | | |   minReads=(Right 1)
 | | |   mayRaise=[ExceptionFailure]
-| | | pushValue ('d')
+| | | pushValue 'd'
 | | |   minReads=(Right 1)
 | | |   mayRaise=[ExceptionFailure]
 | | | lift2Value (\x_0 -> \x_1 -> x_0 x_1)
@@ -146,7 +146,7 @@ let <hidden>
 | | | lift2Value (\x_0 -> \x_1 -> x_0 x_1)
 | | |   minReads=(Right 0)
 | | |   mayRaise=[]
-| | | pushValue (GHC.Types.[])
+| | | pushValue GHC.Types.[]
 | | |   minReads=(Right 0)
 | | |   mayRaise=[]
 | | | lift2Value (\x_0 -> \x_1 -> x_0 x_1)
@@ -174,13 +174,13 @@ let <hidden>
 | | | fail []
 | | |   minReads=(Left ExceptionFailure)
 | | |   mayRaise=[ExceptionFailure]
-pushValue (GHC.Show.show)
+pushValue GHC.Show.show
   minReads=(Right 4)
   mayRaise=[ExceptionFailure]
 pushValue (\x_0 -> \x_1 -> x_0)
   minReads=(Right 4)
   mayRaise=[ExceptionFailure]
-pushValue ((GHC.Types.:))
+pushValue (GHC.Types.:)
   minReads=(Right 4)
   mayRaise=[ExceptionFailure]
 call <hidden>
@@ -192,7 +192,7 @@ lift2Value (\x_0 -> \x_1 -> x_0 x_1)
 call <hidden>
   minReads=(Right 0)
   mayRaise=[ExceptionFailure]
-pushValue (GHC.Types.[])
+pushValue GHC.Types.[]
   minReads=(Right 0)
   mayRaise=[ExceptionFailure]
 lift2Value (\x_0 -> \x_1 -> x_0 x_1)
@@ -246,7 +246,7 @@ catch ExceptionFailure
 | | | | loadInput
 | | | |   minReads=(Right 0)
 | | | |   mayRaise=[]
-| | | | pushValue (GHC.Tuple.())
+| | | | pushValue GHC.Tuple.()
 | | | |   minReads=(Right 0)
 | | | |   mayRaise=[]
 | | | | commit ExceptionFailure
@@ -260,11 +260,11 @@ catch ExceptionFailure
 | |   minReads=(Left ExceptionFailure)
 | |   mayRaise=[ExceptionFailure]
 | | lift2Value (\(Data.Text.Internal.Text _ i_0 _) (Data.Text.Internal.Text _
-| |                                                               j_1
-| |                                                               _) -> i_0 GHC.Classes.== j_1)
+| |                                                                j_1
+| |                                                                _) -> i_0 GHC.Classes.== j_1)
 | |   minReads=(Left ExceptionFailure)
 | |   mayRaise=[ExceptionFailure]
-| | choicesBranch [(\x_0 -> x_0)]
+| | choicesBranch [\x_0 -> x_0]
 | |   minReads=(Left ExceptionFailure)
 | |   mayRaise=[ExceptionFailure]
 | | | <branch>
diff --git a/test/Golden/Machine/G6.expected.txt b/test/Golden/Machine/G6.expected.txt
index a10b033..73468ca 100644
--- a/test/Golden/Machine/G6.expected.txt
+++ b/test/Golden/Machine/G6.expected.txt
@@ -1,4 +1,4 @@
-pushValue (GHC.Show.show)
+pushValue GHC.Show.show
   minReads=(Right 2)
   mayRaise=[ExceptionFailure]
 join <hidden>
@@ -14,13 +14,13 @@ catch ExceptionFailure
   minReads=(Right 2)
   mayRaise=[ExceptionFailure]
 | <ok>
-| | pushValue ((GHC.Types.:))
+| | pushValue (GHC.Types.:)
 | |   minReads=(Right 2)
 | |   mayRaise=[ExceptionFailure]
 | | pushValue (\x_0 -> \x_1 -> x_0)
 | |   minReads=(Right 2)
 | |   mayRaise=[ExceptionFailure]
-| | pushValue ('a')
+| | pushValue 'a'
 | |   minReads=(Right 2)
 | |   mayRaise=[ExceptionFailure]
 | | lift2Value (\x_0 -> \x_1 -> x_0 x_1)
@@ -35,13 +35,13 @@ catch ExceptionFailure
 | | lift2Value (\x_0 -> \x_1 -> x_0 x_1)
 | |   minReads=(Right 1)
 | |   mayRaise=[ExceptionFailure]
-| | pushValue ((GHC.Types.:))
+| | pushValue (GHC.Types.:)
 | |   minReads=(Right 1)
 | |   mayRaise=[ExceptionFailure]
 | | pushValue (\x_0 -> \x_1 -> x_0)
 | |   minReads=(Right 1)
 | |   mayRaise=[ExceptionFailure]
-| | pushValue ('a')
+| | pushValue 'a'
 | |   minReads=(Right 1)
 | |   mayRaise=[ExceptionFailure]
 | | lift2Value (\x_0 -> \x_1 -> x_0 x_1)
@@ -56,7 +56,7 @@ catch ExceptionFailure
 | | lift2Value (\x_0 -> \x_1 -> x_0 x_1)
 | |   minReads=(Right 0)
 | |   mayRaise=[]
-| | pushValue (GHC.Types.[])
+| | pushValue GHC.Types.[]
 | |   minReads=(Right 0)
 | |   mayRaise=[]
 | | lift2Value (\x_0 -> \x_1 -> x_0 x_1)
@@ -76,21 +76,21 @@ catch ExceptionFailure
 | |   minReads=(Right 2)
 | |   mayRaise=[ExceptionFailure]
 | | lift2Value (\(Data.Text.Internal.Text _ i_0 _) (Data.Text.Internal.Text _
-| |                                                               j_1
-| |                                                               _) -> i_0 GHC.Classes.== j_1)
+| |                                                                j_1
+| |                                                                _) -> i_0 GHC.Classes.== j_1)
 | |   minReads=(Right 2)
 | |   mayRaise=[ExceptionFailure]
-| | choicesBranch [(\x_0 -> x_0)]
+| | choicesBranch [\x_0 -> x_0]
 | |   minReads=(Right 2)
 | |   mayRaise=[ExceptionFailure]
 | | | <branch>
-| | | | pushValue ((GHC.Types.:))
+| | | | pushValue (GHC.Types.:)
 | | | |   minReads=(Right 2)
 | | | |   mayRaise=[ExceptionFailure]
 | | | | pushValue (\x_0 -> \x_1 -> x_0)
 | | | |   minReads=(Right 2)
 | | | |   mayRaise=[ExceptionFailure]
-| | | | pushValue ('a')
+| | | | pushValue 'a'
 | | | |   minReads=(Right 2)
 | | | |   mayRaise=[ExceptionFailure]
 | | | | lift2Value (\x_0 -> \x_1 -> x_0 x_1)
@@ -105,13 +105,13 @@ catch ExceptionFailure
 | | | | lift2Value (\x_0 -> \x_1 -> x_0 x_1)
 | | | |   minReads=(Right 1)
 | | | |   mayRaise=[ExceptionFailure]
-| | | | pushValue ((GHC.Types.:))
+| | | | pushValue (GHC.Types.:)
 | | | |   minReads=(Right 1)
 | | | |   mayRaise=[ExceptionFailure]
 | | | | pushValue (\x_0 -> \x_1 -> x_0)
 | | | |   minReads=(Right 1)
 | | | |   mayRaise=[ExceptionFailure]
-| | | | pushValue ('b')
+| | | | pushValue 'b'
 | | | |   minReads=(Right 1)
 | | | |   mayRaise=[ExceptionFailure]
 | | | | lift2Value (\x_0 -> \x_1 -> x_0 x_1)
@@ -126,7 +126,7 @@ catch ExceptionFailure
 | | | | lift2Value (\x_0 -> \x_1 -> x_0 x_1)
 | | | |   minReads=(Right 0)
 | | | |   mayRaise=[]
-| | | | pushValue (GHC.Types.[])
+| | | | pushValue GHC.Types.[]
 | | | |   minReads=(Right 0)
 | | | |   mayRaise=[]
 | | | | lift2Value (\x_0 -> \x_1 -> x_0 x_1)
diff --git a/test/Golden/Machine/G7.expected.txt b/test/Golden/Machine/G7.expected.txt
index d347b00..d866ab8 100644
--- a/test/Golden/Machine/G7.expected.txt
+++ b/test/Golden/Machine/G7.expected.txt
@@ -1,4 +1,4 @@
-pushValue (GHC.Show.show)
+pushValue GHC.Show.show
   minReads=(Right 2)
   mayRaise=[ExceptionFailure]
 join <hidden>
@@ -18,13 +18,13 @@ catch ExceptionFailure
 | |   minReads=(Right 2)
 | |   mayRaise=[ExceptionFailure]
 | | | <ok>
-| | | | pushValue ((GHC.Types.:))
+| | | | pushValue (GHC.Types.:)
 | | | |   minReads=(Right 2)
 | | | |   mayRaise=[ExceptionFailure]
 | | | | pushValue (\x_0 -> \x_1 -> x_0)
 | | | |   minReads=(Right 2)
 | | | |   mayRaise=[ExceptionFailure]
-| | | | pushValue ('a')
+| | | | pushValue 'a'
 | | | |   minReads=(Right 2)
 | | | |   mayRaise=[ExceptionFailure]
 | | | | lift2Value (\x_0 -> \x_1 -> x_0 x_1)
@@ -39,13 +39,13 @@ catch ExceptionFailure
 | | | | lift2Value (\x_0 -> \x_1 -> x_0 x_1)
 | | | |   minReads=(Right 1)
 | | | |   mayRaise=[ExceptionFailure]
-| | | | pushValue ((GHC.Types.:))
+| | | | pushValue (GHC.Types.:)
 | | | |   minReads=(Right 1)
 | | | |   mayRaise=[ExceptionFailure]
 | | | | pushValue (\x_0 -> \x_1 -> x_0)
 | | | |   minReads=(Right 1)
 | | | |   mayRaise=[ExceptionFailure]
-| | | | pushValue ('a')
+| | | | pushValue 'a'
 | | | |   minReads=(Right 1)
 | | | |   mayRaise=[ExceptionFailure]
 | | | | lift2Value (\x_0 -> \x_1 -> x_0 x_1)
@@ -60,7 +60,7 @@ catch ExceptionFailure
 | | | | lift2Value (\x_0 -> \x_1 -> x_0 x_1)
 | | | |   minReads=(Right 0)
 | | | |   mayRaise=[]
-| | | | pushValue (GHC.Types.[])
+| | | | pushValue GHC.Types.[]
 | | | |   minReads=(Right 0)
 | | | |   mayRaise=[]
 | | | | lift2Value (\x_0 -> \x_1 -> x_0 x_1)
@@ -90,11 +90,11 @@ catch ExceptionFailure
 | |   minReads=(Right 2)
 | |   mayRaise=[ExceptionFailure]
 | | lift2Value (\(Data.Text.Internal.Text _ i_0 _) (Data.Text.Internal.Text _
-| |                                                               j_1
-| |                                                               _) -> i_0 GHC.Classes.== j_1)
+| |                                                                j_1
+| |                                                                _) -> i_0 GHC.Classes.== j_1)
 | |   minReads=(Right 2)
 | |   mayRaise=[ExceptionFailure]
-| | choicesBranch [(\x_0 -> x_0)]
+| | choicesBranch [\x_0 -> x_0]
 | |   minReads=(Right 2)
 | |   mayRaise=[ExceptionFailure]
 | | | <branch>
@@ -102,13 +102,13 @@ catch ExceptionFailure
 | | | |   minReads=(Right 2)
 | | | |   mayRaise=[ExceptionFailure]
 | | | | | <ok>
-| | | | | | pushValue ((GHC.Types.:))
+| | | | | | pushValue (GHC.Types.:)
 | | | | | |   minReads=(Right 2)
 | | | | | |   mayRaise=[ExceptionFailure]
 | | | | | | pushValue (\x_0 -> \x_1 -> x_0)
 | | | | | |   minReads=(Right 2)
 | | | | | |   mayRaise=[ExceptionFailure]
-| | | | | | pushValue ('a')
+| | | | | | pushValue 'a'
 | | | | | |   minReads=(Right 2)
 | | | | | |   mayRaise=[ExceptionFailure]
 | | | | | | lift2Value (\x_0 -> \x_1 -> x_0 x_1)
@@ -123,13 +123,13 @@ catch ExceptionFailure
 | | | | | | lift2Value (\x_0 -> \x_1 -> x_0 x_1)
 | | | | | |   minReads=(Right 1)
 | | | | | |   mayRaise=[ExceptionFailure]
-| | | | | | pushValue ((GHC.Types.:))
+| | | | | | pushValue (GHC.Types.:)
 | | | | | |   minReads=(Right 1)
 | | | | | |   mayRaise=[ExceptionFailure]
 | | | | | | pushValue (\x_0 -> \x_1 -> x_0)
 | | | | | |   minReads=(Right 1)
 | | | | | |   mayRaise=[ExceptionFailure]
-| | | | | | pushValue ('b')
+| | | | | | pushValue 'b'
 | | | | | |   minReads=(Right 1)
 | | | | | |   mayRaise=[ExceptionFailure]
 | | | | | | lift2Value (\x_0 -> \x_1 -> x_0 x_1)
@@ -144,7 +144,7 @@ catch ExceptionFailure
 | | | | | | lift2Value (\x_0 -> \x_1 -> x_0 x_1)
 | | | | | |   minReads=(Right 0)
 | | | | | |   mayRaise=[]
-| | | | | | pushValue (GHC.Types.[])
+| | | | | | pushValue GHC.Types.[]
 | | | | | |   minReads=(Right 0)
 | | | | | |   mayRaise=[]
 | | | | | | lift2Value (\x_0 -> \x_1 -> x_0 x_1)
diff --git a/test/Golden/Machine/G8.expected.txt b/test/Golden/Machine/G8.expected.txt
index 039f78c..4dd6bd1 100644
--- a/test/Golden/Machine/G8.expected.txt
+++ b/test/Golden/Machine/G8.expected.txt
@@ -8,13 +8,13 @@ let <hidden>
 | | | pushValue (\x_0 -> \x_1 -> \x_2 -> x_0 (x_1 x_2))
 | | |   minReads=(Right 1)
 | | |   mayRaise=[ExceptionFailure]
-| | | pushValue ((GHC.Types.:))
+| | | pushValue (GHC.Types.:)
 | | |   minReads=(Right 1)
 | | |   mayRaise=[ExceptionFailure]
 | | | pushValue (\x_0 -> \x_1 -> x_0)
 | | |   minReads=(Right 1)
 | | |   mayRaise=[ExceptionFailure]
-| | | pushValue ('r')
+| | | pushValue 'r'
 | | |   minReads=(Right 1)
 | | |   mayRaise=[ExceptionFailure]
 | | | lift2Value (\x_0 -> \x_1 -> x_0 x_1)
@@ -49,11 +49,11 @@ let <hidden>
 | | |   minReads=(Right 0)
 | | |   mayRaise=[ExceptionFailure]
 | | | lift2Value (\(Data.Text.Internal.Text _ i_0 _) (Data.Text.Internal.Text _
-| | |                                                               j_1
-| | |                                                               _) -> i_0 GHC.Classes.== j_1)
+| | |                                                                j_1
+| | |                                                                _) -> i_0 GHC.Classes.== j_1)
 | | |   minReads=(Right 0)
 | | |   mayRaise=[ExceptionFailure]
-| | | choicesBranch [(\x_0 -> x_0)]
+| | | choicesBranch [\x_0 -> x_0]
 | | |   minReads=(Right 0)
 | | |   mayRaise=[ExceptionFailure]
 | | | | <branch>
@@ -67,7 +67,7 @@ let <hidden>
 | | | | | fail []
 | | | | |   minReads=(Left ExceptionFailure)
 | | | | |   mayRaise=[ExceptionFailure]
-pushValue (GHC.Show.show)
+pushValue GHC.Show.show
   minReads=(Right 0)
   mayRaise=[ExceptionFailure]
 pushValue (\x_0 -> \x_1 -> x_0)
@@ -76,7 +76,7 @@ pushValue (\x_0 -> \x_1 -> x_0)
 call <hidden>
   minReads=(Right 0)
   mayRaise=[ExceptionFailure]
-pushValue (GHC.Types.[])
+pushValue GHC.Types.[]
   minReads=(Right 0)
   mayRaise=[ExceptionFailure]
 lift2Value (\x_0 -> \x_1 -> x_0 x_1)
@@ -127,7 +127,7 @@ catch ExceptionFailure
 | | | | loadInput
 | | | |   minReads=(Right 0)
 | | | |   mayRaise=[]
-| | | | pushValue (GHC.Tuple.())
+| | | | pushValue GHC.Tuple.()
 | | | |   minReads=(Right 0)
 | | | |   mayRaise=[]
 | | | | commit ExceptionFailure
@@ -141,11 +141,11 @@ catch ExceptionFailure
 | |   minReads=(Left ExceptionFailure)
 | |   mayRaise=[ExceptionFailure]
 | | lift2Value (\(Data.Text.Internal.Text _ i_0 _) (Data.Text.Internal.Text _
-| |                                                               j_1
-| |                                                               _) -> i_0 GHC.Classes.== j_1)
+| |                                                                j_1
+| |                                                                _) -> i_0 GHC.Classes.== j_1)
 | |   minReads=(Left ExceptionFailure)
 | |   mayRaise=[ExceptionFailure]
-| | choicesBranch [(\x_0 -> x_0)]
+| | choicesBranch [\x_0 -> x_0]
 | |   minReads=(Left ExceptionFailure)
 | |   mayRaise=[ExceptionFailure]
 | | | <branch>
diff --git a/test/Golden/Machine/G9.expected.txt b/test/Golden/Machine/G9.expected.txt
index 3fa7e32..5028768 100644
--- a/test/Golden/Machine/G9.expected.txt
+++ b/test/Golden/Machine/G9.expected.txt
@@ -1,4 +1,4 @@
-pushValue (GHC.Show.show)
+pushValue GHC.Show.show
   minReads=(Right 0)
   mayRaise=[ExceptionFailure]
 join <hidden>
@@ -40,7 +40,7 @@ catch ExceptionFailure
 | | | | loadInput
 | | | |   minReads=(Right 0)
 | | | |   mayRaise=[]
-| | | | pushValue (GHC.Tuple.())
+| | | | pushValue GHC.Tuple.()
 | | | |   minReads=(Right 0)
 | | | |   mayRaise=[]
 | | | | commit ExceptionFailure
@@ -54,11 +54,11 @@ catch ExceptionFailure
 | |   minReads=(Left ExceptionFailure)
 | |   mayRaise=[ExceptionFailure]
 | | lift2Value (\(Data.Text.Internal.Text _ i_0 _) (Data.Text.Internal.Text _
-| |                                                               j_1
-| |                                                               _) -> i_0 GHC.Classes.== j_1)
+| |                                                                j_1
+| |                                                                _) -> i_0 GHC.Classes.== j_1)
 | |   minReads=(Left ExceptionFailure)
 | |   mayRaise=[ExceptionFailure]
-| | choicesBranch [(\x_0 -> x_0)]
+| | choicesBranch [\x_0 -> x_0]
 | |   minReads=(Left ExceptionFailure)
 | |   mayRaise=[ExceptionFailure]
 | | | <branch>
-- 
2.47.2