packages feed

singletons-base 3.5 → 3.5.1

raw patch · 70 files changed

+184/−214 lines, 70 filesdep ~basedep ~singletons-thdep ~template-haskell

Dependency ranges changed: base, singletons-th, template-haskell, th-desugar

Files

CHANGES.md view
@@ -1,6 +1,10 @@ Changelog for the `singletons-base` project =========================================== +3.5.1 [2026.01.10]+------------------+* Require building with GHC 9.14.+ 3.5 [2024.12.11] ---------------- * Require building with GHC 9.12.
README.md view
@@ -18,7 +18,7 @@  `singletons-base` uses code that relies on bleeding-edge GHC language extensions. As such, `singletons-base` only supports the latest major version-of GHC (currently GHC 9.12). For more information,+of GHC (currently GHC 9.14). For more information, consult the `singletons` [`README`](https://github.com/goldfirere/singletons/blob/master/README.md). 
singletons-base.cabal view
@@ -1,6 +1,6 @@ cabal-version:  3.8 name:           singletons-base-version:        3.5+version:        3.5.1 synopsis:       A promoted and singled version of the base library homepage:       http://www.github.com/goldfirere/singletons category:       Dependent Types@@ -8,7 +8,7 @@ maintainer:     Ryan Scott <ryan.gl.scott@gmail.com> bug-reports:    https://github.com/goldfirere/singletons/issues stability:      experimental-tested-with:    GHC == 9.12.1+tested-with:    GHC == 9.14.1 extra-doc-files:    CHANGES.md extra-source-files: README.md                     tests/README.md@@ -40,7 +40,7 @@     .     @singletons-base@ uses code that relies on bleeding-edge GHC language     extensions. As such, @singletons-base@ only supports the latest major version-    of GHC (currently GHC 9.12). For more information,+    of GHC (currently GHC 9.14). For more information,     consult the @singletons@     @<https://github.com/goldfirere/singletons/blob/master/README.md README>@.     .@@ -67,14 +67,13 @@  library   hs-source-dirs:     src-  build-depends:      base             >= 4.21 && < 4.22,+  build-depends:      base             >= 4.22 && < 4.23,                       pretty,                       singletons       == 3.0.*,-                      singletons-th    >= 3.5 && < 3.6,-                      template-haskell >= 2.23 && < 2.24,-                      text >= 1.2,-                      th-desugar       >= 1.18 && < 1.19-  default-language:   GHC2021+                      singletons-th    >= 3.5.1 && < 3.6,+                      template-haskell >= 2.24 && < 2.25,+                      text >= 1.2+  default-language:   GHC2024   other-extensions:   TemplateHaskell   exposed-modules:    Data.Singletons.Base.CustomStar                       Data.Singletons.Base.Enum@@ -146,11 +145,11 @@   type:               exitcode-stdio-1.0   hs-source-dirs:     tests   ghc-options:        -Wall -Wcompat -threaded -with-rtsopts=-maxN16-  default-language:   GHC2021+  default-language:   GHC2024   main-is:            SingletonsBaseTestSuite.hs   other-modules:      SingletonsBaseTestSuiteUtils -  build-depends:      base >= 4.21 && < 4.22,+  build-depends:      base >= 4.22 && < 4.23,                       bytestring >= 0.10.9,                       deepseq >= 1.4.4,                       filepath >= 1.3,
src/Control/Applicative/Singletons.hs view
@@ -1,4 +1,3 @@-{-# LANGUAGE DataKinds #-} {-# LANGUAGE TemplateHaskell #-} {-# LANGUAGE TypeAbstractions #-} {-# LANGUAGE TypeFamilies #-}
src/Control/Monad/Fail/Singletons.hs view
@@ -1,4 +1,3 @@-{-# LANGUAGE DataKinds #-} {-# LANGUAGE TemplateHaskell #-} {-# LANGUAGE TypeAbstractions #-} {-# LANGUAGE TypeFamilies #-}
src/Control/Monad/Singletons.hs view
@@ -1,4 +1,3 @@-{-# LANGUAGE DataKinds #-} {-# LANGUAGE TemplateHaskell #-} {-# LANGUAGE TypeAbstractions #-} {-# LANGUAGE TypeFamilies #-}
src/Control/Monad/Singletons/Internal.hs view
@@ -1,4 +1,3 @@-{-# LANGUAGE DataKinds #-} {-# LANGUAGE DefaultSignatures #-} {-# LANGUAGE NoNamedWildCards #-} {-# LANGUAGE TemplateHaskell #-}
src/Control/Monad/Zip/Singletons.hs view
@@ -1,4 +1,3 @@-{-# LANGUAGE DataKinds #-} {-# LANGUAGE DefaultSignatures #-} {-# LANGUAGE TemplateHaskell #-} {-# LANGUAGE TypeAbstractions #-}
src/Data/Bool/Singletons.hs view
@@ -1,4 +1,3 @@-{-# LANGUAGE DataKinds #-} {-# LANGUAGE NoNamedWildCards #-} {-# LANGUAGE TemplateHaskell #-} {-# LANGUAGE TypeAbstractions #-}
src/Data/Either/Singletons.hs view
@@ -1,4 +1,3 @@-{-# LANGUAGE DataKinds #-} {-# LANGUAGE TemplateHaskell #-} {-# LANGUAGE TypeAbstractions #-} {-# LANGUAGE TypeFamilies #-}
src/Data/Eq/Singletons.hs view
@@ -1,4 +1,3 @@-{-# LANGUAGE DataKinds #-} {-# LANGUAGE DefaultSignatures #-} {-# LANGUAGE TemplateHaskell #-} {-# LANGUAGE TypeAbstractions #-}
src/Data/Foldable/Singletons.hs view
@@ -1,4 +1,3 @@-{-# LANGUAGE DataKinds #-} {-# LANGUAGE DefaultSignatures #-} {-# LANGUAGE NoNamedWildCards #-} {-# LANGUAGE TemplateHaskell #-}
src/Data/Function/Singletons.hs view
@@ -1,4 +1,3 @@-{-# LANGUAGE DataKinds #-} {-# LANGUAGE TemplateHaskell #-} {-# LANGUAGE TypeAbstractions #-} {-# LANGUAGE TypeFamilies #-}
src/Data/Functor/Compose/Singletons.hs view
@@ -1,4 +1,3 @@-{-# LANGUAGE DataKinds #-} {-# LANGUAGE TemplateHaskell #-} {-# LANGUAGE TypeAbstractions #-} {-# LANGUAGE TypeFamilies #-}
src/Data/Functor/Const/Singletons.hs view
@@ -1,4 +1,3 @@-{-# LANGUAGE DataKinds #-} {-# LANGUAGE NoNamedWildCards #-} {-# LANGUAGE TemplateHaskell #-} {-# LANGUAGE TypeAbstractions #-}
src/Data/Functor/Identity/Singletons.hs view
@@ -1,4 +1,3 @@-{-# LANGUAGE DataKinds #-} {-# LANGUAGE NoNamedWildCards #-} {-# LANGUAGE TemplateHaskell #-} {-# LANGUAGE TypeAbstractions #-}
src/Data/Functor/Product/Singletons.hs view
@@ -1,4 +1,3 @@-{-# LANGUAGE DataKinds #-} {-# LANGUAGE TemplateHaskell #-} {-# LANGUAGE TypeAbstractions #-} {-# LANGUAGE TypeFamilies #-}
src/Data/Functor/Singletons.hs view
@@ -1,4 +1,3 @@-{-# LANGUAGE DataKinds #-} {-# LANGUAGE NoNamedWildCards #-} {-# LANGUAGE TemplateHaskell #-} {-# LANGUAGE TypeAbstractions #-}
src/Data/Functor/Sum/Singletons.hs view
@@ -1,4 +1,3 @@-{-# LANGUAGE DataKinds #-} {-# LANGUAGE TemplateHaskell #-} {-# LANGUAGE TypeAbstractions #-} {-# LANGUAGE TypeFamilies #-}
src/Data/List/NonEmpty/Singletons.hs view
@@ -1,4 +1,3 @@-{-# LANGUAGE DataKinds #-} {-# LANGUAGE TemplateHaskell #-} {-# LANGUAGE TypeAbstractions #-} {-# LANGUAGE TypeFamilies #-}
src/Data/List/Singletons.hs view
@@ -1,5 +1,3 @@-{-# LANGUAGE ExplicitNamespaces #-}- ----------------------------------------------------------------------------- -- | -- Module      :  Data.List.Singletons
src/Data/List/Singletons/Internal.hs view
@@ -1,4 +1,3 @@-{-# LANGUAGE DataKinds #-} {-# LANGUAGE NoNamedWildCards #-} {-# LANGUAGE TemplateHaskell #-} {-# LANGUAGE TypeAbstractions #-}
src/Data/List/Singletons/Internal/Disambiguation.hs view
@@ -1,4 +1,3 @@-{-# LANGUAGE DataKinds #-} {-# LANGUAGE TemplateHaskell #-} {-# LANGUAGE TypeAbstractions #-} {-# LANGUAGE TypeFamilies #-}
src/Data/Maybe/Singletons.hs view
@@ -1,4 +1,3 @@-{-# LANGUAGE DataKinds #-} {-# LANGUAGE TemplateHaskell #-} {-# LANGUAGE TypeAbstractions #-} {-# LANGUAGE TypeFamilies #-}
src/Data/Monoid/Singletons.hs view
@@ -1,4 +1,3 @@-{-# LANGUAGE DataKinds #-} {-# LANGUAGE DefaultSignatures #-} {-# LANGUAGE NoNamedWildCards #-} {-# LANGUAGE TemplateHaskell #-}
src/Data/Ord/Singletons.hs view
@@ -1,4 +1,3 @@-{-# LANGUAGE DataKinds #-} {-# LANGUAGE DefaultSignatures #-} {-# LANGUAGE TemplateHaskell #-} {-# LANGUAGE TypeAbstractions #-}
src/Data/Ord/Singletons/Disambiguation.hs view
@@ -1,4 +1,3 @@-{-# LANGUAGE DataKinds #-} {-# LANGUAGE TemplateHaskell #-} {-# LANGUAGE TypeAbstractions #-} {-# LANGUAGE TypeFamilies #-}
src/Data/Proxy/Singletons.hs view
@@ -1,4 +1,3 @@-{-# LANGUAGE DataKinds #-} {-# LANGUAGE TemplateHaskell #-} {-# LANGUAGE TypeAbstractions #-} {-# LANGUAGE TypeFamilies #-}
src/Data/Semigroup/Singletons.hs view
@@ -1,4 +1,3 @@-{-# LANGUAGE DataKinds #-} {-# LANGUAGE NoNamedWildCards #-} {-# LANGUAGE TemplateHaskell #-} {-# LANGUAGE TypeAbstractions #-}
src/Data/Semigroup/Singletons/Internal/Classes.hs view
@@ -1,4 +1,3 @@-{-# LANGUAGE DataKinds #-} {-# LANGUAGE DefaultSignatures #-} {-# LANGUAGE TemplateHaskell #-} {-# LANGUAGE TypeAbstractions #-}
src/Data/Semigroup/Singletons/Internal/Disambiguation.hs view
@@ -1,4 +1,3 @@-{-# LANGUAGE DataKinds #-} {-# LANGUAGE TemplateHaskell #-} {-# LANGUAGE TypeAbstractions #-} {-# LANGUAGE TypeFamilies #-}
src/Data/Semigroup/Singletons/Internal/Wrappers.hs view
@@ -1,4 +1,3 @@-{-# LANGUAGE DataKinds #-} {-# LANGUAGE NoNamedWildCards #-} {-# LANGUAGE TemplateHaskell #-} {-# LANGUAGE TypeAbstractions #-}
src/Data/Singletons/Base/Enum.hs view
@@ -1,4 +1,3 @@-{-# LANGUAGE DataKinds #-} {-# LANGUAGE DefaultSignatures #-} {-# LANGUAGE TemplateHaskell #-} {-# LANGUAGE TypeAbstractions #-}
src/Data/Singletons/Base/Instances.hs view
@@ -1,4 +1,3 @@-{-# LANGUAGE DataKinds #-} {-# LANGUAGE TemplateHaskell #-} {-# LANGUAGE TypeAbstractions #-} {-# LANGUAGE TypeFamilies #-}
src/Data/Singletons/Base/PolyError.hs view
@@ -1,4 +1,3 @@-{-# LANGUAGE DataKinds #-} {-# LANGUAGE TemplateHaskell #-} {-# LANGUAGE TypeAbstractions #-} {-# LANGUAGE TypeFamilies #-}
src/Data/Singletons/Base/SomeSing.hs view
@@ -1,5 +1,3 @@-{-# LANGUAGE DataKinds #-}-{-# LANGUAGE GADTs #-} {-# OPTIONS_GHC -Wno-orphans #-}  -----------------------------------------------------------------------------
src/Data/Singletons/Base/TH.hs view
@@ -1,5 +1,3 @@-{-# LANGUAGE ExplicitNamespaces #-}- ----------------------------------------------------------------------------- -- | -- Module      :  Data.Singletons.Base.TH
src/Data/Singletons/Base/TypeError.hs view
@@ -1,4 +1,3 @@-{-# LANGUAGE DataKinds #-} {-# LANGUAGE TemplateHaskell #-} {-# LANGUAGE TypeAbstractions #-} {-# LANGUAGE TypeFamilies #-}
src/Data/String/Singletons.hs view
@@ -1,4 +1,3 @@-{-# LANGUAGE DataKinds #-} {-# LANGUAGE TemplateHaskell #-} {-# LANGUAGE TypeAbstractions #-} {-# LANGUAGE TypeFamilies #-}
src/Data/Traversable/Singletons.hs view
@@ -1,4 +1,3 @@-{-# LANGUAGE DataKinds #-} {-# LANGUAGE DefaultSignatures #-} {-# LANGUAGE NoNamedWildCards #-} {-# LANGUAGE TemplateHaskell #-}
src/Data/Tuple/Singletons.hs view
@@ -1,4 +1,3 @@-{-# LANGUAGE DataKinds #-} {-# LANGUAGE TemplateHaskell #-} {-# LANGUAGE TypeAbstractions #-} {-# LANGUAGE TypeFamilies #-}
src/Data/Void/Singletons.hs view
@@ -1,4 +1,3 @@-{-# LANGUAGE DataKinds #-} {-# LANGUAGE TemplateHaskell #-} {-# LANGUAGE TypeAbstractions #-} {-# LANGUAGE TypeFamilies #-}
src/GHC/Base/Singletons.hs view
@@ -1,4 +1,3 @@-{-# LANGUAGE DataKinds #-} {-# LANGUAGE TemplateHaskell #-} {-# LANGUAGE TypeAbstractions #-} {-# LANGUAGE TypeFamilies #-}
src/GHC/Num/Singletons.hs view
@@ -1,4 +1,3 @@-{-# LANGUAGE DataKinds #-} {-# LANGUAGE DefaultSignatures #-} {-# LANGUAGE NoStarIsType #-} {-# LANGUAGE TemplateHaskell #-}
src/GHC/TypeLits/Singletons.hs view
@@ -1,4 +1,3 @@-{-# LANGUAGE DataKinds #-} {-# LANGUAGE PatternSynonyms #-} {-# LANGUAGE TemplateHaskell #-} {-# LANGUAGE TypeFamilies #-}@@ -22,9 +21,9 @@ module GHC.TypeLits.Singletons (   Natural, Symbol, Char,   Sing,-  SNat, pattern SNat,-  SSymbol, pattern SSymbol, pattern SSym,-  SChar, pattern SChar,+  SNat, data SNat,+  SSymbol, data SSymbol, data SSym,+  SChar, data SChar,   withKnownNat, withKnownSymbol, withKnownChar,   Error, sError,   ErrorWithoutStackTrace, sErrorWithoutStackTrace,
src/GHC/TypeLits/Singletons/Internal.hs view
@@ -1,4 +1,3 @@-{-# LANGUAGE DataKinds #-} {-# LANGUAGE PatternSynonyms #-} {-# LANGUAGE TemplateHaskell #-} {-# LANGUAGE TypeAbstractions #-}@@ -25,9 +24,9 @@   Sing,    Natural, TL.Symbol, Char,-  TN.SNat, pattern TN.SNat,-  TL.SSymbol, pattern TL.SSymbol, pattern SSym,-  TL.SChar, pattern TL.SChar,+  TN.SNat, data TN.SNat,+  TL.SSymbol, data TL.SSymbol, data SSym,+  TL.SChar, data TL.SChar,   TN.withKnownNat, TL.withKnownSymbol, TL.withKnownChar,   Error, sError,   ErrorWithoutStackTrace, sErrorWithoutStackTrace,
src/Prelude/Singletons.hs view
@@ -1,4 +1,3 @@-{-# LANGUAGE ExplicitNamespaces #-} {-# LANGUAGE NoStarIsType #-}  -----------------------------------------------------------------------------
src/Text/Show/Singletons.hs view
@@ -1,4 +1,3 @@-{-# LANGUAGE DataKinds #-} {-# LANGUAGE DefaultSignatures #-} {-# LANGUAGE TemplateHaskell #-} {-# LANGUAGE TypeAbstractions #-}
tests/SingletonsBaseTestSuiteUtils.hs view
@@ -1,5 +1,4 @@ {-# LANGUAGE DeriveAnyClass #-}-{-# LANGUAGE DerivingStrategies #-} {-# LANGUAGE OverloadedStrings #-}  module SingletonsBaseTestSuiteUtils (@@ -47,14 +46,11 @@   , "-fprint-explicit-kinds"   , "-O0"   , "-i" ++ goldenPath-  , "-XGHC2021"+  , "-XGHC2024"   , "-XTemplateHaskell"-  , "-XDataKinds"   , "-XTypeFamilies"-  , "-XGADTs"   , "-XUndecidableInstances"   , "-XIncoherentInstances"-  , "-XLambdaCase"   , "-XUnboxedTuples"   , "-XDefaultSignatures"   , "-XCPP"
tests/compile-and-dump/GradingClient/Database.golden view
@@ -501,18 +501,18 @@       TFHelper_0123456789876543210 (VEC a_0123456789876543210 a_0123456789876543210) (VEC b_0123456789876543210 b_0123456789876543210) = Apply (Apply (&&@#@$) (Apply (Apply (==@#@$) a_0123456789876543210) b_0123456789876543210)) (Apply (Apply (==@#@$) a_0123456789876543210) b_0123456789876543210)     instance PEq U where       type (==) a a = TFHelper_0123456789876543210 a a-    type ShowsPrec_0123456789876543210 :: GHC.Num.Natural.Natural+    type ShowsPrec_0123456789876543210 :: GHC.Internal.Bignum.Natural.Natural                                           -> U -> Symbol -> Symbol-    type family ShowsPrec_0123456789876543210 (a :: GHC.Num.Natural.Natural) (a :: U) (a :: Symbol) :: Symbol where+    type family ShowsPrec_0123456789876543210 (a :: GHC.Internal.Bignum.Natural.Natural) (a :: U) (a :: Symbol) :: Symbol where       ShowsPrec_0123456789876543210 _ BOOL a_0123456789876543210 = Apply (Apply ShowStringSym0 "BOOL") a_0123456789876543210       ShowsPrec_0123456789876543210 _ STRING a_0123456789876543210 = Apply (Apply ShowStringSym0 "STRING") a_0123456789876543210       ShowsPrec_0123456789876543210 _ NAT a_0123456789876543210 = Apply (Apply ShowStringSym0 "NAT") a_0123456789876543210       ShowsPrec_0123456789876543210 p_0123456789876543210 (VEC arg_0123456789876543210 arg_0123456789876543210) a_0123456789876543210 = Apply (Apply (Apply ShowParenSym0 (Apply (Apply (>@#@$) p_0123456789876543210) (FromInteger 10))) (Apply (Apply (.@#@$) (Apply ShowStringSym0 "VEC ")) (Apply (Apply (.@#@$) (Apply (Apply ShowsPrecSym0 (FromInteger 11)) arg_0123456789876543210)) (Apply (Apply (.@#@$) ShowSpaceSym0) (Apply (Apply ShowsPrecSym0 (FromInteger 11)) arg_0123456789876543210))))) a_0123456789876543210     instance PShow U where       type ShowsPrec a a a = ShowsPrec_0123456789876543210 a a a-    type ShowsPrec_0123456789876543210 :: GHC.Num.Natural.Natural+    type ShowsPrec_0123456789876543210 :: GHC.Internal.Bignum.Natural.Natural                                           -> AChar -> Symbol -> Symbol-    type family ShowsPrec_0123456789876543210 (a :: GHC.Num.Natural.Natural) (a :: AChar) (a :: Symbol) :: Symbol where+    type family ShowsPrec_0123456789876543210 (a :: GHC.Internal.Bignum.Natural.Natural) (a :: AChar) (a :: Symbol) :: Symbol where       ShowsPrec_0123456789876543210 _ CA a_0123456789876543210 = Apply (Apply ShowStringSym0 "CA") a_0123456789876543210       ShowsPrec_0123456789876543210 _ CB a_0123456789876543210 = Apply (Apply ShowStringSym0 "CB") a_0123456789876543210       ShowsPrec_0123456789876543210 _ CC a_0123456789876543210 = Apply (Apply ShowStringSym0 "CC") a_0123456789876543210
tests/compile-and-dump/Singletons/Classes.golden view
@@ -16,20 +16,20 @@           data Foo = A | B           data Foo2 = F | G           +          instance Eq Foo2 where+            F == F = True+            G == G = True+            F == G = False+            G == F = False+          instance MyOrd Foo where+            mycompare = fooCompare           instance MyOrd () where             mycompare _ = const EQ           instance MyOrd Nat where             Zero `mycompare` Zero = EQ             Zero `mycompare` (Succ _) = LT             (Succ _) `mycompare` Zero = GT-            (Succ n) `mycompare` (Succ m) = m `mycompare` n-          instance MyOrd Foo where-            mycompare = fooCompare-          instance Eq Foo2 where-            F == F = True-            G == G = True-            F == G = False-            G == F = False |]+            (Succ n) `mycompare` (Succ m) = m `mycompare` n |]   ======>     const :: a -> b -> a     const x _ = x
tests/compile-and-dump/Singletons/DataValues.golden view
@@ -52,10 +52,10 @@     type family Pr where       Pr = Apply (Apply PairSym0 (Apply SuccSym0 ZeroSym0)) (Apply (Apply (:@#@$) ZeroSym0) NilSym0)     type ShowsPrec_0123456789876543210 :: forall a-                                                 b. GHC.Num.Natural.Natural+                                                 b. GHC.Internal.Bignum.Natural.Natural                                                     -> Pair a b -> Symbol -> Symbol-    type family ShowsPrec_0123456789876543210 @a @b (a :: GHC.Num.Natural.Natural) (a :: Pair a b) (a :: Symbol) :: Symbol where-      ShowsPrec_0123456789876543210 @a @b (p_0123456789876543210 :: GHC.Num.Natural.Natural) (Pair arg_0123456789876543210 arg_0123456789876543210 :: Pair a b) (a_0123456789876543210 :: Symbol) = Apply (Apply (Apply ShowParenSym0 (Apply (Apply (>@#@$) p_0123456789876543210) (FromInteger 10))) (Apply (Apply (.@#@$) (Apply ShowStringSym0 "Pair ")) (Apply (Apply (.@#@$) (Apply (Apply ShowsPrecSym0 (FromInteger 11)) arg_0123456789876543210)) (Apply (Apply (.@#@$) ShowSpaceSym0) (Apply (Apply ShowsPrecSym0 (FromInteger 11)) arg_0123456789876543210))))) a_0123456789876543210+    type family ShowsPrec_0123456789876543210 @a @b (a :: GHC.Internal.Bignum.Natural.Natural) (a :: Pair a b) (a :: Symbol) :: Symbol where+      ShowsPrec_0123456789876543210 @a @b (p_0123456789876543210 :: GHC.Internal.Bignum.Natural.Natural) (Pair arg_0123456789876543210 arg_0123456789876543210 :: Pair a b) (a_0123456789876543210 :: Symbol) = Apply (Apply (Apply ShowParenSym0 (Apply (Apply (>@#@$) p_0123456789876543210) (FromInteger 10))) (Apply (Apply (.@#@$) (Apply ShowStringSym0 "Pair ")) (Apply (Apply (.@#@$) (Apply (Apply ShowsPrecSym0 (FromInteger 11)) arg_0123456789876543210)) (Apply (Apply (.@#@$) ShowSpaceSym0) (Apply (Apply ShowsPrecSym0 (FromInteger 11)) arg_0123456789876543210))))) a_0123456789876543210     instance PShow (Pair a b) where       type ShowsPrec a a a = ShowsPrec_0123456789876543210 a a a     sAList :: Sing @_ AList
tests/compile-and-dump/Singletons/EmptyShowDeriving.golden view
@@ -6,8 +6,8 @@   ======>     data Foo     deriving instance Show Foo-    type family LamCases_0123456789876543210 (v_01234567898765432100123456789876543210 :: Foo) (a_01234567898765432100123456789876543210 :: GHC.Types.Symbol) a_0123456789876543210 where-    data LamCases_0123456789876543210Sym0 (v_01234567898765432100123456789876543210 :: Foo) (a_01234567898765432100123456789876543210 :: GHC.Types.Symbol) a_01234567898765432100123456789876543210+    type family LamCases_0123456789876543210 (v_01234567898765432100123456789876543210 :: Foo) (a_01234567898765432100123456789876543210 :: GHC.Internal.Types.Symbol) a_0123456789876543210 where+    data LamCases_0123456789876543210Sym0 (v_01234567898765432100123456789876543210 :: Foo) (a_01234567898765432100123456789876543210 :: GHC.Internal.Types.Symbol) a_01234567898765432100123456789876543210       where         LamCases_0123456789876543210Sym0KindInference :: SameKind (Apply (LamCases_0123456789876543210Sym0 v_01234567898765432100123456789876543210 a_01234567898765432100123456789876543210) arg) (LamCases_0123456789876543210Sym1 v_01234567898765432100123456789876543210 a_01234567898765432100123456789876543210 arg) =>                                                          LamCases_0123456789876543210Sym0 v_01234567898765432100123456789876543210 a_01234567898765432100123456789876543210 a_01234567898765432100123456789876543210@@ -15,11 +15,13 @@     instance SuppressUnusedWarnings (LamCases_0123456789876543210Sym0 v_01234567898765432100123456789876543210 a_01234567898765432100123456789876543210) where       suppressUnusedWarnings         = snd ((,) LamCases_0123456789876543210Sym0KindInference ())-    type family LamCases_0123456789876543210Sym1 (v_01234567898765432100123456789876543210 :: Foo) (a_01234567898765432100123456789876543210 :: GHC.Types.Symbol) a_01234567898765432100123456789876543210 where+    type family LamCases_0123456789876543210Sym1 (v_01234567898765432100123456789876543210 :: Foo) (a_01234567898765432100123456789876543210 :: GHC.Internal.Types.Symbol) a_01234567898765432100123456789876543210 where       LamCases_0123456789876543210Sym1 v_01234567898765432100123456789876543210 a_01234567898765432100123456789876543210 a_01234567898765432100123456789876543210 = LamCases_0123456789876543210 v_01234567898765432100123456789876543210 a_01234567898765432100123456789876543210 a_01234567898765432100123456789876543210-    type ShowsPrec_0123456789876543210 :: GHC.Num.Natural.Natural-                                          -> Foo -> GHC.Types.Symbol -> GHC.Types.Symbol-    type family ShowsPrec_0123456789876543210 (a :: GHC.Num.Natural.Natural) (a :: Foo) (a :: GHC.Types.Symbol) :: GHC.Types.Symbol where+    type ShowsPrec_0123456789876543210 :: GHC.Internal.Bignum.Natural.Natural+                                          -> Foo+                                             -> GHC.Internal.Types.Symbol+                                                -> GHC.Internal.Types.Symbol+    type family ShowsPrec_0123456789876543210 (a :: GHC.Internal.Bignum.Natural.Natural) (a :: Foo) (a :: GHC.Internal.Types.Symbol) :: GHC.Internal.Types.Symbol where       ShowsPrec_0123456789876543210 _ v_0123456789876543210 a_0123456789876543210 = Apply (Apply (LamCases_0123456789876543210Sym0 v_0123456789876543210 a_0123456789876543210) v_0123456789876543210) a_0123456789876543210     instance PShow Foo where       type ShowsPrec a a a = ShowsPrec_0123456789876543210 a a a
tests/compile-and-dump/Singletons/EnumDeriving.golden view
@@ -24,10 +24,10 @@     type Q2Sym0 :: Quux     type family Q2Sym0 :: Quux where       Q2Sym0 = Q2-    type family LamCases_0123456789876543210 (n0123456789876543210 :: GHC.Num.Natural.Natural) a_0123456789876543210 where+    type family LamCases_0123456789876543210 (n0123456789876543210 :: GHC.Internal.Bignum.Natural.Natural) a_0123456789876543210 where       LamCases_0123456789876543210 n 'True = BumSym0       LamCases_0123456789876543210 n 'False = Apply ErrorSym0 "toEnum: bad argument"-    data LamCases_0123456789876543210Sym0 (n0123456789876543210 :: GHC.Num.Natural.Natural) a_01234567898765432100123456789876543210+    data LamCases_0123456789876543210Sym0 (n0123456789876543210 :: GHC.Internal.Bignum.Natural.Natural) a_01234567898765432100123456789876543210       where         LamCases_0123456789876543210Sym0KindInference :: SameKind (Apply (LamCases_0123456789876543210Sym0 n0123456789876543210) arg) (LamCases_0123456789876543210Sym1 n0123456789876543210 arg) =>                                                          LamCases_0123456789876543210Sym0 n0123456789876543210 a_01234567898765432100123456789876543210@@ -35,12 +35,12 @@     instance SuppressUnusedWarnings (LamCases_0123456789876543210Sym0 n0123456789876543210) where       suppressUnusedWarnings         = snd ((,) LamCases_0123456789876543210Sym0KindInference ())-    type family LamCases_0123456789876543210Sym1 (n0123456789876543210 :: GHC.Num.Natural.Natural) a_01234567898765432100123456789876543210 where+    type family LamCases_0123456789876543210Sym1 (n0123456789876543210 :: GHC.Internal.Bignum.Natural.Natural) a_01234567898765432100123456789876543210 where       LamCases_0123456789876543210Sym1 n0123456789876543210 a_01234567898765432100123456789876543210 = LamCases_0123456789876543210 n0123456789876543210 a_01234567898765432100123456789876543210-    type family LamCases_0123456789876543210 (n0123456789876543210 :: GHC.Num.Natural.Natural) a_0123456789876543210 where+    type family LamCases_0123456789876543210 (n0123456789876543210 :: GHC.Internal.Bignum.Natural.Natural) a_0123456789876543210 where       LamCases_0123456789876543210 n 'True = BazSym0       LamCases_0123456789876543210 n 'False = Apply (LamCases_0123456789876543210Sym0 n) (Apply (Apply (==@#@$) n) (FromInteger 2))-    data LamCases_0123456789876543210Sym0 (n0123456789876543210 :: GHC.Num.Natural.Natural) a_01234567898765432100123456789876543210+    data LamCases_0123456789876543210Sym0 (n0123456789876543210 :: GHC.Internal.Bignum.Natural.Natural) a_01234567898765432100123456789876543210       where         LamCases_0123456789876543210Sym0KindInference :: SameKind (Apply (LamCases_0123456789876543210Sym0 n0123456789876543210) arg) (LamCases_0123456789876543210Sym1 n0123456789876543210 arg) =>                                                          LamCases_0123456789876543210Sym0 n0123456789876543210 a_01234567898765432100123456789876543210@@ -48,12 +48,12 @@     instance SuppressUnusedWarnings (LamCases_0123456789876543210Sym0 n0123456789876543210) where       suppressUnusedWarnings         = snd ((,) LamCases_0123456789876543210Sym0KindInference ())-    type family LamCases_0123456789876543210Sym1 (n0123456789876543210 :: GHC.Num.Natural.Natural) a_01234567898765432100123456789876543210 where+    type family LamCases_0123456789876543210Sym1 (n0123456789876543210 :: GHC.Internal.Bignum.Natural.Natural) a_01234567898765432100123456789876543210 where       LamCases_0123456789876543210Sym1 n0123456789876543210 a_01234567898765432100123456789876543210 = LamCases_0123456789876543210 n0123456789876543210 a_01234567898765432100123456789876543210-    type family LamCases_0123456789876543210 (n0123456789876543210 :: GHC.Num.Natural.Natural) a_0123456789876543210 where+    type family LamCases_0123456789876543210 (n0123456789876543210 :: GHC.Internal.Bignum.Natural.Natural) a_0123456789876543210 where       LamCases_0123456789876543210 n 'True = BarSym0       LamCases_0123456789876543210 n 'False = Apply (LamCases_0123456789876543210Sym0 n) (Apply (Apply (==@#@$) n) (FromInteger 1))-    data LamCases_0123456789876543210Sym0 (n0123456789876543210 :: GHC.Num.Natural.Natural) a_01234567898765432100123456789876543210+    data LamCases_0123456789876543210Sym0 (n0123456789876543210 :: GHC.Internal.Bignum.Natural.Natural) a_01234567898765432100123456789876543210       where         LamCases_0123456789876543210Sym0KindInference :: SameKind (Apply (LamCases_0123456789876543210Sym0 n0123456789876543210) arg) (LamCases_0123456789876543210Sym1 n0123456789876543210 arg) =>                                                          LamCases_0123456789876543210Sym0 n0123456789876543210 a_01234567898765432100123456789876543210@@ -61,13 +61,15 @@     instance SuppressUnusedWarnings (LamCases_0123456789876543210Sym0 n0123456789876543210) where       suppressUnusedWarnings         = snd ((,) LamCases_0123456789876543210Sym0KindInference ())-    type family LamCases_0123456789876543210Sym1 (n0123456789876543210 :: GHC.Num.Natural.Natural) a_01234567898765432100123456789876543210 where+    type family LamCases_0123456789876543210Sym1 (n0123456789876543210 :: GHC.Internal.Bignum.Natural.Natural) a_01234567898765432100123456789876543210 where       LamCases_0123456789876543210Sym1 n0123456789876543210 a_01234567898765432100123456789876543210 = LamCases_0123456789876543210 n0123456789876543210 a_01234567898765432100123456789876543210-    type ToEnum_0123456789876543210 :: GHC.Num.Natural.Natural -> Foo-    type family ToEnum_0123456789876543210 (a :: GHC.Num.Natural.Natural) :: Foo where+    type ToEnum_0123456789876543210 :: GHC.Internal.Bignum.Natural.Natural+                                       -> Foo+    type family ToEnum_0123456789876543210 (a :: GHC.Internal.Bignum.Natural.Natural) :: Foo where       ToEnum_0123456789876543210 n = Apply (LamCases_0123456789876543210Sym0 n) (Apply (Apply (==@#@$) n) (FromInteger 0))-    type FromEnum_0123456789876543210 :: Foo -> GHC.Num.Natural.Natural-    type family FromEnum_0123456789876543210 (a :: Foo) :: GHC.Num.Natural.Natural where+    type FromEnum_0123456789876543210 :: Foo+                                         -> GHC.Internal.Bignum.Natural.Natural+    type family FromEnum_0123456789876543210 (a :: Foo) :: GHC.Internal.Bignum.Natural.Natural where       FromEnum_0123456789876543210 Bar = FromInteger 0       FromEnum_0123456789876543210 Baz = FromInteger 1       FromEnum_0123456789876543210 Bum = FromInteger 2@@ -147,10 +149,10 @@ Singletons/EnumDeriving.hs:0:0:: Splicing declarations     singEnumInstance ''Quux   ======>-    type family LamCases_0123456789876543210 (n0123456789876543210 :: GHC.Num.Natural.Natural) a_0123456789876543210 where+    type family LamCases_0123456789876543210 (n0123456789876543210 :: GHC.Internal.Bignum.Natural.Natural) a_0123456789876543210 where       LamCases_0123456789876543210 n 'True = Q2Sym0       LamCases_0123456789876543210 n 'False = Apply ErrorSym0 "toEnum: bad argument"-    data LamCases_0123456789876543210Sym0 (n0123456789876543210 :: GHC.Num.Natural.Natural) a_01234567898765432100123456789876543210+    data LamCases_0123456789876543210Sym0 (n0123456789876543210 :: GHC.Internal.Bignum.Natural.Natural) a_01234567898765432100123456789876543210       where         LamCases_0123456789876543210Sym0KindInference :: SameKind (Apply (LamCases_0123456789876543210Sym0 n0123456789876543210) arg) (LamCases_0123456789876543210Sym1 n0123456789876543210 arg) =>                                                          LamCases_0123456789876543210Sym0 n0123456789876543210 a_01234567898765432100123456789876543210@@ -158,12 +160,12 @@     instance SuppressUnusedWarnings (LamCases_0123456789876543210Sym0 n0123456789876543210) where       suppressUnusedWarnings         = snd ((,) LamCases_0123456789876543210Sym0KindInference ())-    type family LamCases_0123456789876543210Sym1 (n0123456789876543210 :: GHC.Num.Natural.Natural) a_01234567898765432100123456789876543210 where+    type family LamCases_0123456789876543210Sym1 (n0123456789876543210 :: GHC.Internal.Bignum.Natural.Natural) a_01234567898765432100123456789876543210 where       LamCases_0123456789876543210Sym1 n0123456789876543210 a_01234567898765432100123456789876543210 = LamCases_0123456789876543210 n0123456789876543210 a_01234567898765432100123456789876543210-    type family LamCases_0123456789876543210 (n0123456789876543210 :: GHC.Num.Natural.Natural) a_0123456789876543210 where+    type family LamCases_0123456789876543210 (n0123456789876543210 :: GHC.Internal.Bignum.Natural.Natural) a_0123456789876543210 where       LamCases_0123456789876543210 n 'True = Q1Sym0       LamCases_0123456789876543210 n 'False = Apply (LamCases_0123456789876543210Sym0 n) (Apply (Apply (==@#@$) n) (FromInteger 1))-    data LamCases_0123456789876543210Sym0 (n0123456789876543210 :: GHC.Num.Natural.Natural) a_01234567898765432100123456789876543210+    data LamCases_0123456789876543210Sym0 (n0123456789876543210 :: GHC.Internal.Bignum.Natural.Natural) a_01234567898765432100123456789876543210       where         LamCases_0123456789876543210Sym0KindInference :: SameKind (Apply (LamCases_0123456789876543210Sym0 n0123456789876543210) arg) (LamCases_0123456789876543210Sym1 n0123456789876543210 arg) =>                                                          LamCases_0123456789876543210Sym0 n0123456789876543210 a_01234567898765432100123456789876543210@@ -171,14 +173,15 @@     instance SuppressUnusedWarnings (LamCases_0123456789876543210Sym0 n0123456789876543210) where       suppressUnusedWarnings         = snd ((,) LamCases_0123456789876543210Sym0KindInference ())-    type family LamCases_0123456789876543210Sym1 (n0123456789876543210 :: GHC.Num.Natural.Natural) a_01234567898765432100123456789876543210 where+    type family LamCases_0123456789876543210Sym1 (n0123456789876543210 :: GHC.Internal.Bignum.Natural.Natural) a_01234567898765432100123456789876543210 where       LamCases_0123456789876543210Sym1 n0123456789876543210 a_01234567898765432100123456789876543210 = LamCases_0123456789876543210 n0123456789876543210 a_01234567898765432100123456789876543210-    type ToEnum_0123456789876543210 :: GHC.Num.Natural.Natural -> Quux-    type family ToEnum_0123456789876543210 (a :: GHC.Num.Natural.Natural) :: Quux where+    type ToEnum_0123456789876543210 :: GHC.Internal.Bignum.Natural.Natural+                                       -> Quux+    type family ToEnum_0123456789876543210 (a :: GHC.Internal.Bignum.Natural.Natural) :: Quux where       ToEnum_0123456789876543210 n = Apply (LamCases_0123456789876543210Sym0 n) (Apply (Apply (==@#@$) n) (FromInteger 0))     type FromEnum_0123456789876543210 :: Quux-                                         -> GHC.Num.Natural.Natural-    type family FromEnum_0123456789876543210 (a :: Quux) :: GHC.Num.Natural.Natural where+                                         -> GHC.Internal.Bignum.Natural.Natural+    type family FromEnum_0123456789876543210 (a :: Quux) :: GHC.Internal.Bignum.Natural.Natural where       FromEnum_0123456789876543210 'Q1 = FromInteger 0       FromEnum_0123456789876543210 'Q2 = FromInteger 1     instance PEnum Quux where
tests/compile-and-dump/Singletons/Maybe.golden view
@@ -30,12 +30,13 @@       TFHelper_0123456789876543210 @a (Just a_0123456789876543210 :: Maybe a) (Just b_0123456789876543210 :: Maybe a) = Apply (Apply (==@#@$) a_0123456789876543210) b_0123456789876543210     instance PEq (Maybe a) where       type (==) a a = TFHelper_0123456789876543210 a a-    type ShowsPrec_0123456789876543210 :: forall a. GHC.Num.Natural.Natural+    type ShowsPrec_0123456789876543210 :: forall a. GHC.Internal.Bignum.Natural.Natural                                                     -> Maybe a-                                                       -> GHC.Types.Symbol -> GHC.Types.Symbol-    type family ShowsPrec_0123456789876543210 @a (a :: GHC.Num.Natural.Natural) (a :: Maybe a) (a :: GHC.Types.Symbol) :: GHC.Types.Symbol where-      ShowsPrec_0123456789876543210 @a (_ :: GHC.Num.Natural.Natural) (Nothing :: Maybe a) (a_0123456789876543210 :: GHC.Types.Symbol) = Apply (Apply ShowStringSym0 "Nothing") a_0123456789876543210-      ShowsPrec_0123456789876543210 @a (p_0123456789876543210 :: GHC.Num.Natural.Natural) (Just arg_0123456789876543210 :: Maybe a) (a_0123456789876543210 :: GHC.Types.Symbol) = Apply (Apply (Apply ShowParenSym0 (Apply (Apply (>@#@$) p_0123456789876543210) (FromInteger 10))) (Apply (Apply (.@#@$) (Apply ShowStringSym0 "Just ")) (Apply (Apply ShowsPrecSym0 (FromInteger 11)) arg_0123456789876543210))) a_0123456789876543210+                                                       -> GHC.Internal.Types.Symbol+                                                          -> GHC.Internal.Types.Symbol+    type family ShowsPrec_0123456789876543210 @a (a :: GHC.Internal.Bignum.Natural.Natural) (a :: Maybe a) (a :: GHC.Internal.Types.Symbol) :: GHC.Internal.Types.Symbol where+      ShowsPrec_0123456789876543210 @a (_ :: GHC.Internal.Bignum.Natural.Natural) (Nothing :: Maybe a) (a_0123456789876543210 :: GHC.Internal.Types.Symbol) = Apply (Apply ShowStringSym0 "Nothing") a_0123456789876543210+      ShowsPrec_0123456789876543210 @a (p_0123456789876543210 :: GHC.Internal.Bignum.Natural.Natural) (Just arg_0123456789876543210 :: Maybe a) (a_0123456789876543210 :: GHC.Internal.Types.Symbol) = Apply (Apply (Apply ShowParenSym0 (Apply (Apply (>@#@$) p_0123456789876543210) (FromInteger 10))) (Apply (Apply (.@#@$) (Apply ShowStringSym0 "Just ")) (Apply (Apply ShowsPrecSym0 (FromInteger 11)) arg_0123456789876543210))) a_0123456789876543210     instance PShow (Maybe a) where       type ShowsPrec a a a = ShowsPrec_0123456789876543210 a a a     data SMaybe :: forall a. Maybe a -> Type
tests/compile-and-dump/Singletons/Nat.golden view
@@ -84,9 +84,11 @@       TFHelper_0123456789876543210 (Succ a_0123456789876543210) (Succ b_0123456789876543210) = Apply (Apply (==@#@$) a_0123456789876543210) b_0123456789876543210     instance PEq Nat where       type (==) a a = TFHelper_0123456789876543210 a a-    type ShowsPrec_0123456789876543210 :: GHC.Num.Natural.Natural-                                          -> Nat -> GHC.Types.Symbol -> GHC.Types.Symbol-    type family ShowsPrec_0123456789876543210 (a :: GHC.Num.Natural.Natural) (a :: Nat) (a :: GHC.Types.Symbol) :: GHC.Types.Symbol where+    type ShowsPrec_0123456789876543210 :: GHC.Internal.Bignum.Natural.Natural+                                          -> Nat+                                             -> GHC.Internal.Types.Symbol+                                                -> GHC.Internal.Types.Symbol+    type family ShowsPrec_0123456789876543210 (a :: GHC.Internal.Bignum.Natural.Natural) (a :: Nat) (a :: GHC.Internal.Types.Symbol) :: GHC.Internal.Types.Symbol where       ShowsPrec_0123456789876543210 _ Zero a_0123456789876543210 = Apply (Apply ShowStringSym0 "Zero") a_0123456789876543210       ShowsPrec_0123456789876543210 p_0123456789876543210 (Succ arg_0123456789876543210) a_0123456789876543210 = Apply (Apply (Apply ShowParenSym0 (Apply (Apply (>@#@$) p_0123456789876543210) (FromInteger 10))) (Apply (Apply (.@#@$) (Apply ShowStringSym0 "Succ ")) (Apply (Apply ShowsPrecSym0 (FromInteger 11)) arg_0123456789876543210))) a_0123456789876543210     instance PShow Nat where
tests/compile-and-dump/Singletons/PatternMatching.golden view
@@ -52,10 +52,10 @@     type family Pr where       Pr = Apply (Apply PairSym0 (Apply SuccSym0 ZeroSym0)) (Apply (Apply (:@#@$) ZeroSym0) NilSym0)     type ShowsPrec_0123456789876543210 :: forall a-                                                 b. GHC.Num.Natural.Natural+                                                 b. GHC.Internal.Bignum.Natural.Natural                                                     -> Pair a b -> Symbol -> Symbol-    type family ShowsPrec_0123456789876543210 @a @b (a :: GHC.Num.Natural.Natural) (a :: Pair a b) (a :: Symbol) :: Symbol where-      ShowsPrec_0123456789876543210 @a @b (p_0123456789876543210 :: GHC.Num.Natural.Natural) (Pair arg_0123456789876543210 arg_0123456789876543210 :: Pair a b) (a_0123456789876543210 :: Symbol) = Apply (Apply (Apply ShowParenSym0 (Apply (Apply (>@#@$) p_0123456789876543210) (FromInteger 10))) (Apply (Apply (.@#@$) (Apply ShowStringSym0 "Pair ")) (Apply (Apply (.@#@$) (Apply (Apply ShowsPrecSym0 (FromInteger 11)) arg_0123456789876543210)) (Apply (Apply (.@#@$) ShowSpaceSym0) (Apply (Apply ShowsPrecSym0 (FromInteger 11)) arg_0123456789876543210))))) a_0123456789876543210+    type family ShowsPrec_0123456789876543210 @a @b (a :: GHC.Internal.Bignum.Natural.Natural) (a :: Pair a b) (a :: Symbol) :: Symbol where+      ShowsPrec_0123456789876543210 @a @b (p_0123456789876543210 :: GHC.Internal.Bignum.Natural.Natural) (Pair arg_0123456789876543210 arg_0123456789876543210 :: Pair a b) (a_0123456789876543210 :: Symbol) = Apply (Apply (Apply ShowParenSym0 (Apply (Apply (>@#@$) p_0123456789876543210) (FromInteger 10))) (Apply (Apply (.@#@$) (Apply ShowStringSym0 "Pair ")) (Apply (Apply (.@#@$) (Apply (Apply ShowsPrecSym0 (FromInteger 11)) arg_0123456789876543210)) (Apply (Apply (.@#@$) ShowSpaceSym0) (Apply (Apply ShowsPrecSym0 (FromInteger 11)) arg_0123456789876543210))))) a_0123456789876543210     instance PShow (Pair a b) where       type ShowsPrec a a a = ShowsPrec_0123456789876543210 a a a     sAList :: Sing @_ AList
tests/compile-and-dump/Singletons/ShowDeriving.golden view
@@ -159,24 +159,24 @@     type GetFoo3a :: Foo3 -> Bool     type family GetFoo3a (a :: Foo3) :: Bool where       GetFoo3a (MkFoo3 field _) = field-    type ShowsPrec_0123456789876543210 :: GHC.Num.Natural.Natural+    type ShowsPrec_0123456789876543210 :: GHC.Internal.Bignum.Natural.Natural                                           -> Foo1 -> Symbol -> Symbol-    type family ShowsPrec_0123456789876543210 (a :: GHC.Num.Natural.Natural) (a :: Foo1) (a :: Symbol) :: Symbol where+    type family ShowsPrec_0123456789876543210 (a :: GHC.Internal.Bignum.Natural.Natural) (a :: Foo1) (a :: Symbol) :: Symbol where       ShowsPrec_0123456789876543210 _ MkFoo1 a_0123456789876543210 = Apply (Apply ShowStringSym0 "MkFoo1") a_0123456789876543210     instance PShow Foo1 where       type ShowsPrec a a a = ShowsPrec_0123456789876543210 a a a-    type ShowsPrec_0123456789876543210 :: forall a. GHC.Num.Natural.Natural+    type ShowsPrec_0123456789876543210 :: forall a. GHC.Internal.Bignum.Natural.Natural                                                     -> Foo2 a -> Symbol -> Symbol-    type family ShowsPrec_0123456789876543210 @a (a :: GHC.Num.Natural.Natural) (a :: Foo2 a) (a :: Symbol) :: Symbol where-      ShowsPrec_0123456789876543210 @a (p_0123456789876543210 :: GHC.Num.Natural.Natural) (MkFoo2a arg_0123456789876543210 arg_0123456789876543210 :: Foo2 a) (a_0123456789876543210 :: Symbol) = Apply (Apply (Apply ShowParenSym0 (Apply (Apply (>@#@$) p_0123456789876543210) (FromInteger 10))) (Apply (Apply (.@#@$) (Apply ShowStringSym0 "MkFoo2a ")) (Apply (Apply (.@#@$) (Apply (Apply ShowsPrecSym0 (FromInteger 11)) arg_0123456789876543210)) (Apply (Apply (.@#@$) ShowSpaceSym0) (Apply (Apply ShowsPrecSym0 (FromInteger 11)) arg_0123456789876543210))))) a_0123456789876543210-      ShowsPrec_0123456789876543210 @a (p_0123456789876543210 :: GHC.Num.Natural.Natural) (MkFoo2b argL_0123456789876543210 argR_0123456789876543210 :: Foo2 a) (a_0123456789876543210 :: Symbol) = Apply (Apply (Apply ShowParenSym0 (Apply (Apply (>@#@$) p_0123456789876543210) (FromInteger 5))) (Apply (Apply (.@#@$) (Apply (Apply ShowsPrecSym0 (FromInteger 6)) argL_0123456789876543210)) (Apply (Apply (.@#@$) (Apply ShowStringSym0 " `MkFoo2b` ")) (Apply (Apply ShowsPrecSym0 (FromInteger 6)) argR_0123456789876543210)))) a_0123456789876543210-      ShowsPrec_0123456789876543210 @a (p_0123456789876543210 :: GHC.Num.Natural.Natural) ((:*:) arg_0123456789876543210 arg_0123456789876543210 :: Foo2 a) (a_0123456789876543210 :: Symbol) = Apply (Apply (Apply ShowParenSym0 (Apply (Apply (>@#@$) p_0123456789876543210) (FromInteger 10))) (Apply (Apply (.@#@$) (Apply ShowStringSym0 "(:*:) ")) (Apply (Apply (.@#@$) (Apply (Apply ShowsPrecSym0 (FromInteger 11)) arg_0123456789876543210)) (Apply (Apply (.@#@$) ShowSpaceSym0) (Apply (Apply ShowsPrecSym0 (FromInteger 11)) arg_0123456789876543210))))) a_0123456789876543210-      ShowsPrec_0123456789876543210 @a (p_0123456789876543210 :: GHC.Num.Natural.Natural) ((:&:) argL_0123456789876543210 argR_0123456789876543210 :: Foo2 a) (a_0123456789876543210 :: Symbol) = Apply (Apply (Apply ShowParenSym0 (Apply (Apply (>@#@$) p_0123456789876543210) (FromInteger 5))) (Apply (Apply (.@#@$) (Apply (Apply ShowsPrecSym0 (FromInteger 6)) argL_0123456789876543210)) (Apply (Apply (.@#@$) (Apply ShowStringSym0 " :&: ")) (Apply (Apply ShowsPrecSym0 (FromInteger 6)) argR_0123456789876543210)))) a_0123456789876543210+    type family ShowsPrec_0123456789876543210 @a (a :: GHC.Internal.Bignum.Natural.Natural) (a :: Foo2 a) (a :: Symbol) :: Symbol where+      ShowsPrec_0123456789876543210 @a (p_0123456789876543210 :: GHC.Internal.Bignum.Natural.Natural) (MkFoo2a arg_0123456789876543210 arg_0123456789876543210 :: Foo2 a) (a_0123456789876543210 :: Symbol) = Apply (Apply (Apply ShowParenSym0 (Apply (Apply (>@#@$) p_0123456789876543210) (FromInteger 10))) (Apply (Apply (.@#@$) (Apply ShowStringSym0 "MkFoo2a ")) (Apply (Apply (.@#@$) (Apply (Apply ShowsPrecSym0 (FromInteger 11)) arg_0123456789876543210)) (Apply (Apply (.@#@$) ShowSpaceSym0) (Apply (Apply ShowsPrecSym0 (FromInteger 11)) arg_0123456789876543210))))) a_0123456789876543210+      ShowsPrec_0123456789876543210 @a (p_0123456789876543210 :: GHC.Internal.Bignum.Natural.Natural) (MkFoo2b argL_0123456789876543210 argR_0123456789876543210 :: Foo2 a) (a_0123456789876543210 :: Symbol) = Apply (Apply (Apply ShowParenSym0 (Apply (Apply (>@#@$) p_0123456789876543210) (FromInteger 5))) (Apply (Apply (.@#@$) (Apply (Apply ShowsPrecSym0 (FromInteger 6)) argL_0123456789876543210)) (Apply (Apply (.@#@$) (Apply ShowStringSym0 " `MkFoo2b` ")) (Apply (Apply ShowsPrecSym0 (FromInteger 6)) argR_0123456789876543210)))) a_0123456789876543210+      ShowsPrec_0123456789876543210 @a (p_0123456789876543210 :: GHC.Internal.Bignum.Natural.Natural) ((:*:) arg_0123456789876543210 arg_0123456789876543210 :: Foo2 a) (a_0123456789876543210 :: Symbol) = Apply (Apply (Apply ShowParenSym0 (Apply (Apply (>@#@$) p_0123456789876543210) (FromInteger 10))) (Apply (Apply (.@#@$) (Apply ShowStringSym0 "(:*:) ")) (Apply (Apply (.@#@$) (Apply (Apply ShowsPrecSym0 (FromInteger 11)) arg_0123456789876543210)) (Apply (Apply (.@#@$) ShowSpaceSym0) (Apply (Apply ShowsPrecSym0 (FromInteger 11)) arg_0123456789876543210))))) a_0123456789876543210+      ShowsPrec_0123456789876543210 @a (p_0123456789876543210 :: GHC.Internal.Bignum.Natural.Natural) ((:&:) argL_0123456789876543210 argR_0123456789876543210 :: Foo2 a) (a_0123456789876543210 :: Symbol) = Apply (Apply (Apply ShowParenSym0 (Apply (Apply (>@#@$) p_0123456789876543210) (FromInteger 5))) (Apply (Apply (.@#@$) (Apply (Apply ShowsPrecSym0 (FromInteger 6)) argL_0123456789876543210)) (Apply (Apply (.@#@$) (Apply ShowStringSym0 " :&: ")) (Apply (Apply ShowsPrecSym0 (FromInteger 6)) argR_0123456789876543210)))) a_0123456789876543210     instance PShow (Foo2 a) where       type ShowsPrec a a a = ShowsPrec_0123456789876543210 a a a-    type ShowsPrec_0123456789876543210 :: GHC.Num.Natural.Natural+    type ShowsPrec_0123456789876543210 :: GHC.Internal.Bignum.Natural.Natural                                           -> Foo3 -> Symbol -> Symbol-    type family ShowsPrec_0123456789876543210 (a :: GHC.Num.Natural.Natural) (a :: Foo3) (a :: Symbol) :: Symbol where+    type family ShowsPrec_0123456789876543210 (a :: GHC.Internal.Bignum.Natural.Natural) (a :: Foo3) (a :: Symbol) :: Symbol where       ShowsPrec_0123456789876543210 p_0123456789876543210 (MkFoo3 arg_0123456789876543210 arg_0123456789876543210) a_0123456789876543210 = Apply (Apply (Apply ShowParenSym0 (Apply (Apply (>@#@$) p_0123456789876543210) (FromInteger 10))) (Apply (Apply (.@#@$) (Apply ShowStringSym0 "MkFoo3 ")) (Apply (Apply (.@#@$) (Apply ShowCharSym0 '{')) (Apply (Apply (.@#@$) (Apply ShowStringSym0 "getFoo3a = ")) (Apply (Apply (.@#@$) (Apply (Apply ShowsPrecSym0 (FromInteger 0)) arg_0123456789876543210)) (Apply (Apply (.@#@$) ShowCommaSpaceSym0) (Apply (Apply (.@#@$) (Apply ShowStringSym0 "(***) = ")) (Apply (Apply (.@#@$) (Apply (Apply ShowsPrecSym0 (FromInteger 0)) arg_0123456789876543210)) (Apply ShowCharSym0 '}'))))))))) a_0123456789876543210     instance PShow Foo3 where       type ShowsPrec a a a = ShowsPrec_0123456789876543210 a a a
tests/compile-and-dump/Singletons/StandaloneDeriving.golden view
@@ -65,10 +65,10 @@       Compare_0123456789876543210 @a ((:*:) a_0123456789876543210 a_0123456789876543210 :: T a ()) ((:*:) b_0123456789876543210 b_0123456789876543210 :: T a ()) = Apply (Apply (Apply FoldlSym0 (<>@#@$)) EQSym0) (Apply (Apply (:@#@$) (Apply (Apply CompareSym0 a_0123456789876543210) b_0123456789876543210)) (Apply (Apply (:@#@$) (Apply (Apply CompareSym0 a_0123456789876543210) b_0123456789876543210)) NilSym0))     instance POrd (T a ()) where       type Compare a a = Compare_0123456789876543210 a a-    type ShowsPrec_0123456789876543210 :: forall a. GHC.Num.Natural.Natural+    type ShowsPrec_0123456789876543210 :: forall a. GHC.Internal.Bignum.Natural.Natural                                                     -> T a () -> Symbol -> Symbol-    type family ShowsPrec_0123456789876543210 @a (a :: GHC.Num.Natural.Natural) (a :: T a ()) (a :: Symbol) :: Symbol where-      ShowsPrec_0123456789876543210 @a (p_0123456789876543210 :: GHC.Num.Natural.Natural) ((:*:) argL_0123456789876543210 argR_0123456789876543210 :: T a ()) (a_0123456789876543210 :: Symbol) = Apply (Apply (Apply ShowParenSym0 (Apply (Apply (>@#@$) p_0123456789876543210) (FromInteger 6))) (Apply (Apply (.@#@$) (Apply (Apply ShowsPrecSym0 (FromInteger 7)) argL_0123456789876543210)) (Apply (Apply (.@#@$) (Apply ShowStringSym0 " :*: ")) (Apply (Apply ShowsPrecSym0 (FromInteger 7)) argR_0123456789876543210)))) a_0123456789876543210+    type family ShowsPrec_0123456789876543210 @a (a :: GHC.Internal.Bignum.Natural.Natural) (a :: T a ()) (a :: Symbol) :: Symbol where+      ShowsPrec_0123456789876543210 @a (p_0123456789876543210 :: GHC.Internal.Bignum.Natural.Natural) ((:*:) argL_0123456789876543210 argR_0123456789876543210 :: T a ()) (a_0123456789876543210 :: Symbol) = Apply (Apply (Apply ShowParenSym0 (Apply (Apply (>@#@$) p_0123456789876543210) (FromInteger 6))) (Apply (Apply (.@#@$) (Apply (Apply ShowsPrecSym0 (FromInteger 7)) argL_0123456789876543210)) (Apply (Apply (.@#@$) (Apply ShowStringSym0 " :*: ")) (Apply (Apply ShowsPrecSym0 (FromInteger 7)) argR_0123456789876543210)))) a_0123456789876543210     instance PShow (T a ()) where       type ShowsPrec a a a = ShowsPrec_0123456789876543210 a a a     type TFHelper_0123456789876543210 :: S -> S -> Bool@@ -87,9 +87,9 @@       Compare_0123456789876543210 S2 S1 = GTSym0     instance POrd S where       type Compare a a = Compare_0123456789876543210 a a-    type ShowsPrec_0123456789876543210 :: GHC.Num.Natural.Natural+    type ShowsPrec_0123456789876543210 :: GHC.Internal.Bignum.Natural.Natural                                           -> S -> Symbol -> Symbol-    type family ShowsPrec_0123456789876543210 (a :: GHC.Num.Natural.Natural) (a :: S) (a :: Symbol) :: Symbol where+    type family ShowsPrec_0123456789876543210 (a :: GHC.Internal.Bignum.Natural.Natural) (a :: S) (a :: Symbol) :: Symbol where       ShowsPrec_0123456789876543210 _ S1 a_0123456789876543210 = Apply (Apply ShowStringSym0 "S1") a_0123456789876543210       ShowsPrec_0123456789876543210 _ S2 a_0123456789876543210 = Apply (Apply ShowStringSym0 "S2") a_0123456789876543210     instance PShow S where@@ -103,10 +103,10 @@     instance PBounded S where       type MinBound = MinBound_0123456789876543210       type MaxBound = MaxBound_0123456789876543210-    type family LamCases_0123456789876543210 (n0123456789876543210 :: GHC.Num.Natural.Natural) a_0123456789876543210 where+    type family LamCases_0123456789876543210 (n0123456789876543210 :: GHC.Internal.Bignum.Natural.Natural) a_0123456789876543210 where       LamCases_0123456789876543210 n 'True = S2Sym0       LamCases_0123456789876543210 n 'False = Apply ErrorSym0 "toEnum: bad argument"-    data LamCases_0123456789876543210Sym0 (n0123456789876543210 :: GHC.Num.Natural.Natural) a_01234567898765432100123456789876543210+    data LamCases_0123456789876543210Sym0 (n0123456789876543210 :: GHC.Internal.Bignum.Natural.Natural) a_01234567898765432100123456789876543210       where         LamCases_0123456789876543210Sym0KindInference :: SameKind (Apply (LamCases_0123456789876543210Sym0 n0123456789876543210) arg) (LamCases_0123456789876543210Sym1 n0123456789876543210 arg) =>                                                          LamCases_0123456789876543210Sym0 n0123456789876543210 a_01234567898765432100123456789876543210@@ -114,12 +114,12 @@     instance SuppressUnusedWarnings (LamCases_0123456789876543210Sym0 n0123456789876543210) where       suppressUnusedWarnings         = snd ((,) LamCases_0123456789876543210Sym0KindInference ())-    type family LamCases_0123456789876543210Sym1 (n0123456789876543210 :: GHC.Num.Natural.Natural) a_01234567898765432100123456789876543210 where+    type family LamCases_0123456789876543210Sym1 (n0123456789876543210 :: GHC.Internal.Bignum.Natural.Natural) a_01234567898765432100123456789876543210 where       LamCases_0123456789876543210Sym1 n0123456789876543210 a_01234567898765432100123456789876543210 = LamCases_0123456789876543210 n0123456789876543210 a_01234567898765432100123456789876543210-    type family LamCases_0123456789876543210 (n0123456789876543210 :: GHC.Num.Natural.Natural) a_0123456789876543210 where+    type family LamCases_0123456789876543210 (n0123456789876543210 :: GHC.Internal.Bignum.Natural.Natural) a_0123456789876543210 where       LamCases_0123456789876543210 n 'True = S1Sym0       LamCases_0123456789876543210 n 'False = Apply (LamCases_0123456789876543210Sym0 n) (Apply (Apply (==@#@$) n) (FromInteger 1))-    data LamCases_0123456789876543210Sym0 (n0123456789876543210 :: GHC.Num.Natural.Natural) a_01234567898765432100123456789876543210+    data LamCases_0123456789876543210Sym0 (n0123456789876543210 :: GHC.Internal.Bignum.Natural.Natural) a_01234567898765432100123456789876543210       where         LamCases_0123456789876543210Sym0KindInference :: SameKind (Apply (LamCases_0123456789876543210Sym0 n0123456789876543210) arg) (LamCases_0123456789876543210Sym1 n0123456789876543210 arg) =>                                                          LamCases_0123456789876543210Sym0 n0123456789876543210 a_01234567898765432100123456789876543210@@ -127,13 +127,15 @@     instance SuppressUnusedWarnings (LamCases_0123456789876543210Sym0 n0123456789876543210) where       suppressUnusedWarnings         = snd ((,) LamCases_0123456789876543210Sym0KindInference ())-    type family LamCases_0123456789876543210Sym1 (n0123456789876543210 :: GHC.Num.Natural.Natural) a_01234567898765432100123456789876543210 where+    type family LamCases_0123456789876543210Sym1 (n0123456789876543210 :: GHC.Internal.Bignum.Natural.Natural) a_01234567898765432100123456789876543210 where       LamCases_0123456789876543210Sym1 n0123456789876543210 a_01234567898765432100123456789876543210 = LamCases_0123456789876543210 n0123456789876543210 a_01234567898765432100123456789876543210-    type ToEnum_0123456789876543210 :: GHC.Num.Natural.Natural -> S-    type family ToEnum_0123456789876543210 (a :: GHC.Num.Natural.Natural) :: S where+    type ToEnum_0123456789876543210 :: GHC.Internal.Bignum.Natural.Natural+                                       -> S+    type family ToEnum_0123456789876543210 (a :: GHC.Internal.Bignum.Natural.Natural) :: S where       ToEnum_0123456789876543210 n = Apply (LamCases_0123456789876543210Sym0 n) (Apply (Apply (==@#@$) n) (FromInteger 0))-    type FromEnum_0123456789876543210 :: S -> GHC.Num.Natural.Natural-    type family FromEnum_0123456789876543210 (a :: S) :: GHC.Num.Natural.Natural where+    type FromEnum_0123456789876543210 :: S+                                         -> GHC.Internal.Bignum.Natural.Natural+    type family FromEnum_0123456789876543210 (a :: S) :: GHC.Internal.Bignum.Natural.Natural where       FromEnum_0123456789876543210 S1 = FromInteger 0       FromEnum_0123456789876543210 S2 = FromInteger 1     instance PEnum S where
tests/compile-and-dump/Singletons/Star.golden view
@@ -106,9 +106,9 @@       Compare_0123456789876543210 (Vec _ _) (Maybe _) = GTSym0     instance POrd Type where       type Compare a a = Compare_0123456789876543210 a a-    type ShowsPrec_0123456789876543210 :: GHC.Num.Natural.Natural+    type ShowsPrec_0123456789876543210 :: GHC.Internal.Bignum.Natural.Natural                                           -> Type -> Symbol -> Symbol-    type family ShowsPrec_0123456789876543210 (a :: GHC.Num.Natural.Natural) (a :: Type) (a :: Symbol) :: Symbol where+    type family ShowsPrec_0123456789876543210 (a :: GHC.Internal.Bignum.Natural.Natural) (a :: Type) (a :: Symbol) :: Symbol where       ShowsPrec_0123456789876543210 _ Nat a_0123456789876543210 = Apply (Apply ShowStringSym0 "Nat") a_0123456789876543210       ShowsPrec_0123456789876543210 _ Int a_0123456789876543210 = Apply (Apply ShowStringSym0 "Int") a_0123456789876543210       ShowsPrec_0123456789876543210 _ String a_0123456789876543210 = Apply (Apply ShowStringSym0 "String") a_0123456789876543210
tests/compile-and-dump/Singletons/T136.golden view
@@ -39,10 +39,10 @@       Pred_0123456789876543210 '[] = Apply ErrorSym0 "pred 0"       Pred_0123456789876543210 ('(:) 'False as) = Apply (Apply (:@#@$) TrueSym0) (Apply PredSym0 as)       Pred_0123456789876543210 ('(:) 'True as) = Apply (Apply (:@#@$) FalseSym0) as-    type family LamCases_0123456789876543210 i0123456789876543210 (arg_01234567898765432100123456789876543210 :: GHC.Num.Natural.Natural) a_0123456789876543210 where+    type family LamCases_0123456789876543210 i0123456789876543210 (arg_01234567898765432100123456789876543210 :: GHC.Internal.Bignum.Natural.Natural) a_0123456789876543210 where       LamCases_0123456789876543210 i arg_0123456789876543210 'True = NilSym0       LamCases_0123456789876543210 i arg_0123456789876543210 'False = Apply SuccSym0 (Apply ToEnumSym0 (Apply PredSym0 i))-    data LamCases_0123456789876543210Sym0 i0123456789876543210 (arg_01234567898765432100123456789876543210 :: GHC.Num.Natural.Natural) a_01234567898765432100123456789876543210+    data LamCases_0123456789876543210Sym0 i0123456789876543210 (arg_01234567898765432100123456789876543210 :: GHC.Internal.Bignum.Natural.Natural) a_01234567898765432100123456789876543210       where         LamCases_0123456789876543210Sym0KindInference :: SameKind (Apply (LamCases_0123456789876543210Sym0 i0123456789876543210 arg_01234567898765432100123456789876543210) arg) (LamCases_0123456789876543210Sym1 i0123456789876543210 arg_01234567898765432100123456789876543210 arg) =>                                                          LamCases_0123456789876543210Sym0 i0123456789876543210 arg_01234567898765432100123456789876543210 a_01234567898765432100123456789876543210@@ -50,12 +50,12 @@     instance SuppressUnusedWarnings (LamCases_0123456789876543210Sym0 i0123456789876543210 arg_01234567898765432100123456789876543210) where       suppressUnusedWarnings         = snd ((,) LamCases_0123456789876543210Sym0KindInference ())-    type family LamCases_0123456789876543210Sym1 i0123456789876543210 (arg_01234567898765432100123456789876543210 :: GHC.Num.Natural.Natural) a_01234567898765432100123456789876543210 where+    type family LamCases_0123456789876543210Sym1 i0123456789876543210 (arg_01234567898765432100123456789876543210 :: GHC.Internal.Bignum.Natural.Natural) a_01234567898765432100123456789876543210 where       LamCases_0123456789876543210Sym1 i0123456789876543210 arg_01234567898765432100123456789876543210 a_01234567898765432100123456789876543210 = LamCases_0123456789876543210 i0123456789876543210 arg_01234567898765432100123456789876543210 a_01234567898765432100123456789876543210-    type family LamCases_0123456789876543210 i0123456789876543210 (arg_01234567898765432100123456789876543210 :: GHC.Num.Natural.Natural) a_0123456789876543210 where+    type family LamCases_0123456789876543210 i0123456789876543210 (arg_01234567898765432100123456789876543210 :: GHC.Internal.Bignum.Natural.Natural) a_0123456789876543210 where       LamCases_0123456789876543210 i arg_0123456789876543210 'True = Apply ErrorSym0 "negative toEnum"       LamCases_0123456789876543210 i arg_0123456789876543210 'False = Apply (LamCases_0123456789876543210Sym0 i arg_0123456789876543210) (Apply (Apply (==@#@$) i) (FromInteger 0))-    data LamCases_0123456789876543210Sym0 i0123456789876543210 (arg_01234567898765432100123456789876543210 :: GHC.Num.Natural.Natural) a_01234567898765432100123456789876543210+    data LamCases_0123456789876543210Sym0 i0123456789876543210 (arg_01234567898765432100123456789876543210 :: GHC.Internal.Bignum.Natural.Natural) a_01234567898765432100123456789876543210       where         LamCases_0123456789876543210Sym0KindInference :: SameKind (Apply (LamCases_0123456789876543210Sym0 i0123456789876543210 arg_01234567898765432100123456789876543210) arg) (LamCases_0123456789876543210Sym1 i0123456789876543210 arg_01234567898765432100123456789876543210 arg) =>                                                          LamCases_0123456789876543210Sym0 i0123456789876543210 arg_01234567898765432100123456789876543210 a_01234567898765432100123456789876543210@@ -63,11 +63,11 @@     instance SuppressUnusedWarnings (LamCases_0123456789876543210Sym0 i0123456789876543210 arg_01234567898765432100123456789876543210) where       suppressUnusedWarnings         = snd ((,) LamCases_0123456789876543210Sym0KindInference ())-    type family LamCases_0123456789876543210Sym1 i0123456789876543210 (arg_01234567898765432100123456789876543210 :: GHC.Num.Natural.Natural) a_01234567898765432100123456789876543210 where+    type family LamCases_0123456789876543210Sym1 i0123456789876543210 (arg_01234567898765432100123456789876543210 :: GHC.Internal.Bignum.Natural.Natural) a_01234567898765432100123456789876543210 where       LamCases_0123456789876543210Sym1 i0123456789876543210 arg_01234567898765432100123456789876543210 a_01234567898765432100123456789876543210 = LamCases_0123456789876543210 i0123456789876543210 arg_01234567898765432100123456789876543210 a_01234567898765432100123456789876543210-    type family LamCases_0123456789876543210 (arg_01234567898765432100123456789876543210 :: GHC.Num.Natural.Natural) a_0123456789876543210 where+    type family LamCases_0123456789876543210 (arg_01234567898765432100123456789876543210 :: GHC.Internal.Bignum.Natural.Natural) a_0123456789876543210 where       LamCases_0123456789876543210 arg_0123456789876543210 i = Apply (LamCases_0123456789876543210Sym0 i arg_0123456789876543210) (Apply (Apply (<@#@$) i) (FromInteger 0))-    data LamCases_0123456789876543210Sym0 (arg_01234567898765432100123456789876543210 :: GHC.Num.Natural.Natural) a_01234567898765432100123456789876543210+    data LamCases_0123456789876543210Sym0 (arg_01234567898765432100123456789876543210 :: GHC.Internal.Bignum.Natural.Natural) a_01234567898765432100123456789876543210       where         LamCases_0123456789876543210Sym0KindInference :: SameKind (Apply (LamCases_0123456789876543210Sym0 arg_01234567898765432100123456789876543210) arg) (LamCases_0123456789876543210Sym1 arg_01234567898765432100123456789876543210 arg) =>                                                          LamCases_0123456789876543210Sym0 arg_01234567898765432100123456789876543210 a_01234567898765432100123456789876543210@@ -75,15 +75,15 @@     instance SuppressUnusedWarnings (LamCases_0123456789876543210Sym0 arg_01234567898765432100123456789876543210) where       suppressUnusedWarnings         = snd ((,) LamCases_0123456789876543210Sym0KindInference ())-    type family LamCases_0123456789876543210Sym1 (arg_01234567898765432100123456789876543210 :: GHC.Num.Natural.Natural) a_01234567898765432100123456789876543210 where+    type family LamCases_0123456789876543210Sym1 (arg_01234567898765432100123456789876543210 :: GHC.Internal.Bignum.Natural.Natural) a_01234567898765432100123456789876543210 where       LamCases_0123456789876543210Sym1 arg_01234567898765432100123456789876543210 a_01234567898765432100123456789876543210 = LamCases_0123456789876543210 arg_01234567898765432100123456789876543210 a_01234567898765432100123456789876543210-    type ToEnum_0123456789876543210 :: GHC.Num.Natural.Natural+    type ToEnum_0123456789876543210 :: GHC.Internal.Bignum.Natural.Natural                                        -> [Bool]-    type family ToEnum_0123456789876543210 (a :: GHC.Num.Natural.Natural) :: [Bool] where+    type family ToEnum_0123456789876543210 (a :: GHC.Internal.Bignum.Natural.Natural) :: [Bool] where       ToEnum_0123456789876543210 arg_0123456789876543210 = Apply (LamCases_0123456789876543210Sym0 arg_0123456789876543210) arg_0123456789876543210     type FromEnum_0123456789876543210 :: [Bool]-                                         -> GHC.Num.Natural.Natural-    type family FromEnum_0123456789876543210 (a :: [Bool]) :: GHC.Num.Natural.Natural where+                                         -> GHC.Internal.Bignum.Natural.Natural+    type family FromEnum_0123456789876543210 (a :: [Bool]) :: GHC.Internal.Bignum.Natural.Natural where       FromEnum_0123456789876543210 '[] = FromInteger 0       FromEnum_0123456789876543210 ('(:) 'False as) = Apply (Apply (*@#@$) (FromInteger 2)) (Apply FromEnumSym0 as)       FromEnum_0123456789876543210 ('(:) 'True as) = Apply (Apply (+@#@$) (FromInteger 1)) (Apply (Apply (*@#@$) (FromInteger 2)) (Apply FromEnumSym0 as))
tests/compile-and-dump/Singletons/T190.golden view
@@ -20,10 +20,10 @@       Compare_0123456789876543210 T T = Apply (Apply (Apply FoldlSym0 (<>@#@$)) EQSym0) NilSym0     instance POrd T where       type Compare a a = Compare_0123456789876543210 a a-    type family LamCases_0123456789876543210 (n0123456789876543210 :: GHC.Num.Natural.Natural) a_0123456789876543210 where+    type family LamCases_0123456789876543210 (n0123456789876543210 :: GHC.Internal.Bignum.Natural.Natural) a_0123456789876543210 where       LamCases_0123456789876543210 n 'True = TSym0       LamCases_0123456789876543210 n 'False = Apply ErrorSym0 "toEnum: bad argument"-    data LamCases_0123456789876543210Sym0 (n0123456789876543210 :: GHC.Num.Natural.Natural) a_01234567898765432100123456789876543210+    data LamCases_0123456789876543210Sym0 (n0123456789876543210 :: GHC.Internal.Bignum.Natural.Natural) a_01234567898765432100123456789876543210       where         LamCases_0123456789876543210Sym0KindInference :: SameKind (Apply (LamCases_0123456789876543210Sym0 n0123456789876543210) arg) (LamCases_0123456789876543210Sym1 n0123456789876543210 arg) =>                                                          LamCases_0123456789876543210Sym0 n0123456789876543210 a_01234567898765432100123456789876543210@@ -31,13 +31,15 @@     instance SuppressUnusedWarnings (LamCases_0123456789876543210Sym0 n0123456789876543210) where       suppressUnusedWarnings         = snd ((,) LamCases_0123456789876543210Sym0KindInference ())-    type family LamCases_0123456789876543210Sym1 (n0123456789876543210 :: GHC.Num.Natural.Natural) a_01234567898765432100123456789876543210 where+    type family LamCases_0123456789876543210Sym1 (n0123456789876543210 :: GHC.Internal.Bignum.Natural.Natural) a_01234567898765432100123456789876543210 where       LamCases_0123456789876543210Sym1 n0123456789876543210 a_01234567898765432100123456789876543210 = LamCases_0123456789876543210 n0123456789876543210 a_01234567898765432100123456789876543210-    type ToEnum_0123456789876543210 :: GHC.Num.Natural.Natural -> T-    type family ToEnum_0123456789876543210 (a :: GHC.Num.Natural.Natural) :: T where+    type ToEnum_0123456789876543210 :: GHC.Internal.Bignum.Natural.Natural+                                       -> T+    type family ToEnum_0123456789876543210 (a :: GHC.Internal.Bignum.Natural.Natural) :: T where       ToEnum_0123456789876543210 n = Apply (LamCases_0123456789876543210Sym0 n) (Apply (Apply (==@#@$) n) (FromInteger 0))-    type FromEnum_0123456789876543210 :: T -> GHC.Num.Natural.Natural-    type family FromEnum_0123456789876543210 (a :: T) :: GHC.Num.Natural.Natural where+    type FromEnum_0123456789876543210 :: T+                                         -> GHC.Internal.Bignum.Natural.Natural+    type family FromEnum_0123456789876543210 (a :: T) :: GHC.Internal.Bignum.Natural.Natural where       FromEnum_0123456789876543210 T = FromInteger 0     instance PEnum T where       type ToEnum a = ToEnum_0123456789876543210 a@@ -51,9 +53,11 @@     instance PBounded T where       type MinBound = MinBound_0123456789876543210       type MaxBound = MaxBound_0123456789876543210-    type ShowsPrec_0123456789876543210 :: GHC.Num.Natural.Natural-                                          -> T -> GHC.Types.Symbol -> GHC.Types.Symbol-    type family ShowsPrec_0123456789876543210 (a :: GHC.Num.Natural.Natural) (a :: T) (a :: GHC.Types.Symbol) :: GHC.Types.Symbol where+    type ShowsPrec_0123456789876543210 :: GHC.Internal.Bignum.Natural.Natural+                                          -> T+                                             -> GHC.Internal.Types.Symbol+                                                -> GHC.Internal.Types.Symbol+    type family ShowsPrec_0123456789876543210 (a :: GHC.Internal.Bignum.Natural.Natural) (a :: T) (a :: GHC.Internal.Types.Symbol) :: GHC.Internal.Types.Symbol where       ShowsPrec_0123456789876543210 _ T a_0123456789876543210 = Apply (Apply ShowStringSym0 "T") a_0123456789876543210     instance PShow T where       type ShowsPrec a a a = ShowsPrec_0123456789876543210 a a a
tests/compile-and-dump/Singletons/T204.golden view
@@ -53,7 +53,7 @@     type (:%%@#@$$$) :: forall a. a -> a -> Ratio2 a     type family (:%%@#@$$$) @a (a0123456789876543210 :: a) (a0123456789876543210 :: a) :: Ratio2 a where       (:%%@#@$$$) a0123456789876543210 a0123456789876543210 = (:%%) a0123456789876543210 a0123456789876543210-    data SRatio1 :: forall a. Ratio1 a -> GHC.Types.Type+    data SRatio1 :: forall a. Ratio1 a -> GHC.Internal.Types.Type       where         (:^%) :: forall a (n :: a) (n :: a).                  (Sing n) -> (Sing n) -> SRatio1 ((:%) n n :: Ratio1 a)@@ -64,7 +64,7 @@       toSing ((:%) (b :: Demote a) (b :: Demote a))         = (\cases (SomeSing c) (SomeSing c) -> SomeSing ((:^%) c c))             (toSing b :: SomeSing a) (toSing b :: SomeSing a)-    data SRatio2 :: forall a. Ratio2 a -> GHC.Types.Type+    data SRatio2 :: forall a. Ratio2 a -> GHC.Internal.Types.Type       where         (:^%%) :: forall a (n :: a) (n :: a).                   (Sing n) -> (Sing n) -> SRatio2 ((:%%) n n :: Ratio2 a)
tests/compile-and-dump/Singletons/T209.hs view
@@ -1,5 +1,4 @@ {-# LANGUAGE DeriveAnyClass #-}-{-# LANGUAGE DerivingStrategies #-}  module T209 where 
tests/compile-and-dump/Singletons/T313.golden view
@@ -8,9 +8,9 @@             type PFoo4 a             type PFoo4 a = Maybe a           -          type instance PFoo2 a = Maybe a           instance PC a where-            type PFoo4 a = Maybe a |]+            type PFoo4 a = Maybe a+          type instance PFoo2 a = Maybe a |]   ======>     type PFoo1 a = Maybe a     type family PFoo2 a@@ -70,9 +70,9 @@             type SFoo4 a             type SFoo4 a = Maybe a           -          type instance SFoo2 a = Maybe a           instance SC a where-            type SFoo4 a = Maybe a |]+            type SFoo4 a = Maybe a+          type instance SFoo2 a = Maybe a |]   ======>     type SFoo1 a = Maybe a     type family SFoo2 a
tests/compile-and-dump/Singletons/T358.golden view
@@ -5,13 +5,13 @@           class C2 a where             method2a, method2b :: forall b. b -> a           -          instance C1 [] where-            method1 :: [a]-            method1 = []           instance C2 [a] where             method2a _ = []             method2b :: forall b. b -> [a]-            method2b _ = [] |]+            method2b _ = []+          instance C1 [] where+            method1 :: [a]+            method1 = [] |]   ======>     class C1 (f :: k -> Type) where       method1 :: f a
tests/compile-and-dump/Singletons/T371.golden view
@@ -41,18 +41,22 @@     type Y2Sym1 :: forall (a :: Type). X a -> Y a     type family Y2Sym1 @(a :: Type) (a0123456789876543210 :: X a) :: Y a where       Y2Sym1 a0123456789876543210 = Y2 a0123456789876543210-    type ShowsPrec_0123456789876543210 :: forall a. GHC.Num.Natural.Natural-                                                    -> X a -> GHC.Types.Symbol -> GHC.Types.Symbol-    type family ShowsPrec_0123456789876543210 @a (a :: GHC.Num.Natural.Natural) (a :: X a) (a :: GHC.Types.Symbol) :: GHC.Types.Symbol where-      ShowsPrec_0123456789876543210 @a (_ :: GHC.Num.Natural.Natural) (X1 :: X a) (a_0123456789876543210 :: GHC.Types.Symbol) = Apply (Apply ShowStringSym0 "X1") a_0123456789876543210-      ShowsPrec_0123456789876543210 @a (p_0123456789876543210 :: GHC.Num.Natural.Natural) (X2 arg_0123456789876543210 :: X a) (a_0123456789876543210 :: GHC.Types.Symbol) = Apply (Apply (Apply ShowParenSym0 (Apply (Apply (>@#@$) p_0123456789876543210) (FromInteger 10))) (Apply (Apply (.@#@$) (Apply ShowStringSym0 "X2 ")) (Apply (Apply ShowsPrecSym0 (FromInteger 11)) arg_0123456789876543210))) a_0123456789876543210+    type ShowsPrec_0123456789876543210 :: forall a. GHC.Internal.Bignum.Natural.Natural+                                                    -> X a+                                                       -> GHC.Internal.Types.Symbol+                                                          -> GHC.Internal.Types.Symbol+    type family ShowsPrec_0123456789876543210 @a (a :: GHC.Internal.Bignum.Natural.Natural) (a :: X a) (a :: GHC.Internal.Types.Symbol) :: GHC.Internal.Types.Symbol where+      ShowsPrec_0123456789876543210 @a (_ :: GHC.Internal.Bignum.Natural.Natural) (X1 :: X a) (a_0123456789876543210 :: GHC.Internal.Types.Symbol) = Apply (Apply ShowStringSym0 "X1") a_0123456789876543210+      ShowsPrec_0123456789876543210 @a (p_0123456789876543210 :: GHC.Internal.Bignum.Natural.Natural) (X2 arg_0123456789876543210 :: X a) (a_0123456789876543210 :: GHC.Internal.Types.Symbol) = Apply (Apply (Apply ShowParenSym0 (Apply (Apply (>@#@$) p_0123456789876543210) (FromInteger 10))) (Apply (Apply (.@#@$) (Apply ShowStringSym0 "X2 ")) (Apply (Apply ShowsPrecSym0 (FromInteger 11)) arg_0123456789876543210))) a_0123456789876543210     instance PShow (X a) where       type ShowsPrec a a a = ShowsPrec_0123456789876543210 a a a-    type ShowsPrec_0123456789876543210 :: forall a. GHC.Num.Natural.Natural-                                                    -> Y a -> GHC.Types.Symbol -> GHC.Types.Symbol-    type family ShowsPrec_0123456789876543210 @a (a :: GHC.Num.Natural.Natural) (a :: Y a) (a :: GHC.Types.Symbol) :: GHC.Types.Symbol where-      ShowsPrec_0123456789876543210 @a (_ :: GHC.Num.Natural.Natural) (Y1 :: Y a) (a_0123456789876543210 :: GHC.Types.Symbol) = Apply (Apply ShowStringSym0 "Y1") a_0123456789876543210-      ShowsPrec_0123456789876543210 @a (p_0123456789876543210 :: GHC.Num.Natural.Natural) (Y2 arg_0123456789876543210 :: Y a) (a_0123456789876543210 :: GHC.Types.Symbol) = Apply (Apply (Apply ShowParenSym0 (Apply (Apply (>@#@$) p_0123456789876543210) (FromInteger 10))) (Apply (Apply (.@#@$) (Apply ShowStringSym0 "Y2 ")) (Apply (Apply ShowsPrecSym0 (FromInteger 11)) arg_0123456789876543210))) a_0123456789876543210+    type ShowsPrec_0123456789876543210 :: forall a. GHC.Internal.Bignum.Natural.Natural+                                                    -> Y a+                                                       -> GHC.Internal.Types.Symbol+                                                          -> GHC.Internal.Types.Symbol+    type family ShowsPrec_0123456789876543210 @a (a :: GHC.Internal.Bignum.Natural.Natural) (a :: Y a) (a :: GHC.Internal.Types.Symbol) :: GHC.Internal.Types.Symbol where+      ShowsPrec_0123456789876543210 @a (_ :: GHC.Internal.Bignum.Natural.Natural) (Y1 :: Y a) (a_0123456789876543210 :: GHC.Internal.Types.Symbol) = Apply (Apply ShowStringSym0 "Y1") a_0123456789876543210+      ShowsPrec_0123456789876543210 @a (p_0123456789876543210 :: GHC.Internal.Bignum.Natural.Natural) (Y2 arg_0123456789876543210 :: Y a) (a_0123456789876543210 :: GHC.Internal.Types.Symbol) = Apply (Apply (Apply ShowParenSym0 (Apply (Apply (>@#@$) p_0123456789876543210) (FromInteger 10))) (Apply (Apply (.@#@$) (Apply ShowStringSym0 "Y2 ")) (Apply (Apply ShowsPrecSym0 (FromInteger 11)) arg_0123456789876543210))) a_0123456789876543210     instance PShow (Y a) where       type ShowsPrec a a a = ShowsPrec_0123456789876543210 a a a     data SX :: forall (a :: Type). X a -> Type
tests/compile-and-dump/Singletons/T555.golden view
@@ -31,9 +31,9 @@       Compare_0123456789876543210 Quaternion Location = GTSym0     instance POrd MyPropKind where       type Compare a a = Compare_0123456789876543210 a a-    type ShowsPrec_0123456789876543210 :: GHC.Num.Natural.Natural+    type ShowsPrec_0123456789876543210 :: GHC.Internal.Bignum.Natural.Natural                                           -> MyPropKind -> Symbol -> Symbol-    type family ShowsPrec_0123456789876543210 (a :: GHC.Num.Natural.Natural) (a :: MyPropKind) (a :: Symbol) :: Symbol where+    type family ShowsPrec_0123456789876543210 (a :: GHC.Internal.Bignum.Natural.Natural) (a :: MyPropKind) (a :: Symbol) :: Symbol where       ShowsPrec_0123456789876543210 _ Location a_0123456789876543210 = Apply (Apply ShowStringSym0 "Location") a_0123456789876543210       ShowsPrec_0123456789876543210 _ Quaternion a_0123456789876543210 = Apply (Apply ShowStringSym0 "Quaternion") a_0123456789876543210     instance PShow MyPropKind where
tests/compile-and-dump/Singletons/T581.golden view
@@ -10,19 +10,19 @@             m3 :: forall b. a -> b -> (a, b)             m3 x y = (x, y) :: (a, b)           -          instance C1 [a] where-            m1 :: forall b. [a] -> Maybe ([a], b)-            m1 _ = Nothing :: Maybe ([a], b)+          instance C3 [a] where+            m3 x y = (fmap (\ xx -> (xx :: a)) x, y)+          instance C3 (Maybe a) where+            m3 :: Maybe a -> b -> (Maybe a, b)+            m3 x y = (fmap (\ xx -> (xx :: a)) x, y)           instance C2 (Maybe a) where             m2 _ = Nothing :: Maybe (Maybe a)           instance C2 [a] where             m2 :: b -> Maybe [a]             m2 _ = Nothing :: Maybe [a]-          instance C3 [a] where-            m3 x y = (fmap (\ xx -> (xx :: a)) x, y)-          instance C3 (Maybe a) where-            m3 :: Maybe a -> b -> (Maybe a, b)-            m3 x y = (fmap (\ xx -> (xx :: a)) x, y) |]+          instance C1 [a] where+            m1 :: forall b. [a] -> Maybe ([a], b)+            m1 _ = Nothing :: Maybe ([a], b) |]   ======>     class C1 a where       m1 :: forall b. a -> Maybe (a, b)
tests/compile-and-dump/Singletons/T89.golden view
@@ -10,10 +10,10 @@     type FooSym0 :: Foo     type family FooSym0 :: Foo where       FooSym0 = Foo-    type family LamCases_0123456789876543210 (n0123456789876543210 :: GHC.Num.Natural.Natural) a_0123456789876543210 where+    type family LamCases_0123456789876543210 (n0123456789876543210 :: GHC.Internal.Bignum.Natural.Natural) a_0123456789876543210 where       LamCases_0123456789876543210 n 'True = FooSym0       LamCases_0123456789876543210 n 'False = Apply ErrorSym0 (FromString "toEnum: bad argument")-    data LamCases_0123456789876543210Sym0 (n0123456789876543210 :: GHC.Num.Natural.Natural) a_01234567898765432100123456789876543210+    data LamCases_0123456789876543210Sym0 (n0123456789876543210 :: GHC.Internal.Bignum.Natural.Natural) a_01234567898765432100123456789876543210       where         LamCases_0123456789876543210Sym0KindInference :: SameKind (Apply (LamCases_0123456789876543210Sym0 n0123456789876543210) arg) (LamCases_0123456789876543210Sym1 n0123456789876543210 arg) =>                                                          LamCases_0123456789876543210Sym0 n0123456789876543210 a_01234567898765432100123456789876543210@@ -21,13 +21,15 @@     instance SuppressUnusedWarnings (LamCases_0123456789876543210Sym0 n0123456789876543210) where       suppressUnusedWarnings         = snd ((,) LamCases_0123456789876543210Sym0KindInference ())-    type family LamCases_0123456789876543210Sym1 (n0123456789876543210 :: GHC.Num.Natural.Natural) a_01234567898765432100123456789876543210 where+    type family LamCases_0123456789876543210Sym1 (n0123456789876543210 :: GHC.Internal.Bignum.Natural.Natural) a_01234567898765432100123456789876543210 where       LamCases_0123456789876543210Sym1 n0123456789876543210 a_01234567898765432100123456789876543210 = LamCases_0123456789876543210 n0123456789876543210 a_01234567898765432100123456789876543210-    type ToEnum_0123456789876543210 :: GHC.Num.Natural.Natural -> Foo-    type family ToEnum_0123456789876543210 (a :: GHC.Num.Natural.Natural) :: Foo where+    type ToEnum_0123456789876543210 :: GHC.Internal.Bignum.Natural.Natural+                                       -> Foo+    type family ToEnum_0123456789876543210 (a :: GHC.Internal.Bignum.Natural.Natural) :: Foo where       ToEnum_0123456789876543210 n = Apply (LamCases_0123456789876543210Sym0 n) (Apply (Apply (==@#@$) n) (FromInteger 0))-    type FromEnum_0123456789876543210 :: Foo -> GHC.Num.Natural.Natural-    type family FromEnum_0123456789876543210 (a :: Foo) :: GHC.Num.Natural.Natural where+    type FromEnum_0123456789876543210 :: Foo+                                         -> GHC.Internal.Bignum.Natural.Natural+    type family FromEnum_0123456789876543210 (a :: Foo) :: GHC.Internal.Bignum.Natural.Natural where       FromEnum_0123456789876543210 Foo = FromInteger 0     instance PEnum Foo where       type ToEnum a = ToEnum_0123456789876543210 a