diff options
author | Jose Pedro Magalhaes <jpm@cs.ox.ac.uk> | 2014-10-02 08:38:05 +0100 |
---|---|---|
committer | Jose Pedro Magalhaes <dreixel@gmail.com> | 2014-11-23 18:49:05 +0100 |
commit | 950b5f9dc6efbb508fbf74f8ec81431f02395820 (patch) | |
tree | 509014a227ca4c81de8f953dcd4b44e2de722f83 /testsuite/tests | |
parent | 96d29b5403bd8a6465a65a39da861f5b9610fc89 (diff) | |
download | haskell-wip/GenericsMetaData2.tar.gz |
Use TypeLits in the meta-data encoding of GHC.Genericswip/GenericsMetaData2
The following wiki page contains more information about this:
https://ghc.haskell.org/trac/ghc/wiki/Commentary/Compiler/GenericDeriving#Amoreconservativefirstapproachtothisproblem
Diffstat (limited to 'testsuite/tests')
-rw-r--r-- | testsuite/tests/generics/GShow/GShow.hs | 4 | ||||
-rw-r--r-- | testsuite/tests/generics/GenDerivOutput.stderr | 120 | ||||
-rw-r--r-- | testsuite/tests/generics/GenDerivOutput1_0.stderr | 48 | ||||
-rw-r--r-- | testsuite/tests/generics/GenDerivOutput1_1.stderr | 254 |
4 files changed, 189 insertions, 237 deletions
diff --git a/testsuite/tests/generics/GShow/GShow.hs b/testsuite/tests/generics/GShow/GShow.hs index 3c8f2591ef..4b293fa211 100644 --- a/testsuite/tests/generics/GShow/GShow.hs +++ b/testsuite/tests/generics/GShow/GShow.hs @@ -3,8 +3,8 @@ {-# LANGUAGE FlexibleInstances #-} {-# LANGUAGE FlexibleContexts #-} {-# LANGUAGE TypeOperators #-} -{-# LANGUAGE IncoherentInstances #-} -- :-/ {-# LANGUAGE DefaultSignatures #-} +{-# LANGUAGE PolyKinds #-} module GShow ( -- * Generic show class @@ -120,5 +120,5 @@ instance (GShow a) => GShow [a] where (intersperse (showChar ',') (map (gshowsPrec 0) l)) . showChar ']' -instance (GShow a) => GShow (Maybe a) +instance (GShow a) => GShow (Maybe a) instance (GShow a, GShow b) => GShow (a,b) diff --git a/testsuite/tests/generics/GenDerivOutput.stderr b/testsuite/tests/generics/GenDerivOutput.stderr index b47b3f3e42..0492bcbfa1 100644 --- a/testsuite/tests/generics/GenDerivOutput.stderr +++ b/testsuite/tests/generics/GenDerivOutput.stderr @@ -88,102 +88,98 @@ Derived instances: ((GHC.Base..) (GHC.Base.fmap GHC.Generics.unRec1) GHC.Generics.unComp1 g2) - instance GHC.Generics.Datatype GenDerivOutput.D1List where - GHC.Generics.datatypeName _ = "List" - GHC.Generics.moduleName _ = "GenDerivOutput" - instance GHC.Generics.Constructor GenDerivOutput.C1_0List where - GHC.Generics.conName _ = "Nil" - - instance GHC.Generics.Constructor GenDerivOutput.C1_1List where - GHC.Generics.conName _ = "Cons" - GHC.Generics.conIsRecord _ = GHC.Types.True - - instance GHC.Generics.Selector GenDerivOutput.S1_1_0List where - GHC.Generics.selName _ = "element" - - instance GHC.Generics.Selector GenDerivOutput.S1_1_1List where - GHC.Generics.selName _ = "rest" - - instance GHC.Generics.Datatype GenDerivOutput.D1Rose where - GHC.Generics.datatypeName _ = "Rose" - GHC.Generics.moduleName _ = "GenDerivOutput" - - instance GHC.Generics.Constructor GenDerivOutput.C1_0Rose where - GHC.Generics.conName _ = "Empty" - - instance GHC.Generics.Constructor GenDerivOutput.C1_1Rose where - GHC.Generics.conName _ = "Rose" - - -Generic representation: - - Generated datatypes for meta-information: - GenDerivOutput.D1List - GenDerivOutput.C1_0List - GenDerivOutput.C1_1List - GenDerivOutput.S1_1_0List - GenDerivOutput.S1_1_1List - GenDerivOutput.D1Rose - GenDerivOutput.C1_0Rose - GenDerivOutput.C1_1Rose - GenDerivOutput.S1_1_0Rose - GenDerivOutput.S1_1_1Rose - - Representation types: +GHC.Generics representation types: type GHC.Generics.Rep (GenDerivOutput.List a) = GHC.Generics.D1 - GenDerivOutput.D1List + ('GHC.Generics.MetaData + "List" "GenDerivOutput" 'GHC.Types.False) (GHC.Generics.C1 - GenDerivOutput.C1_0List GHC.Generics.U1 + ('GHC.Generics.MetaCons + "Nil" + 'GHC.Generics.PrefixI + 'GHC.Types.False) + GHC.Generics.U1 GHC.Generics.:+: GHC.Generics.C1 - GenDerivOutput.C1_1List + ('GHC.Generics.MetaCons + "Cons" + 'GHC.Generics.PrefixI + 'GHC.Types.True) (GHC.Generics.S1 - GenDerivOutput.S1_1_0List + ('GHC.Generics.MetaSel + "element") (GHC.Generics.Rec0 a) GHC.Generics.:*: GHC.Generics.S1 - GenDerivOutput.S1_1_1List + ('GHC.Generics.MetaSel + "rest") (GHC.Generics.Rec0 (GenDerivOutput.List a)))) type GHC.Generics.Rep1 GenDerivOutput.List = GHC.Generics.D1 - GenDerivOutput.D1List + ('GHC.Generics.MetaData + "List" "GenDerivOutput" 'GHC.Types.False) (GHC.Generics.C1 - GenDerivOutput.C1_0List GHC.Generics.U1 + ('GHC.Generics.MetaCons + "Nil" 'GHC.Generics.PrefixI 'GHC.Types.False) + GHC.Generics.U1 GHC.Generics.:+: GHC.Generics.C1 - GenDerivOutput.C1_1List + ('GHC.Generics.MetaCons + "Cons" + 'GHC.Generics.PrefixI + 'GHC.Types.True) (GHC.Generics.S1 - GenDerivOutput.S1_1_0List + ('GHC.Generics.MetaSel + "element") GHC.Generics.Par1 GHC.Generics.:*: GHC.Generics.S1 - GenDerivOutput.S1_1_1List + ('GHC.Generics.MetaSel + "rest") (GHC.Generics.Rec1 GenDerivOutput.List))) type GHC.Generics.Rep (GenDerivOutput.Rose a) = GHC.Generics.D1 - GenDerivOutput.D1Rose + ('GHC.Generics.MetaData + "Rose" "GenDerivOutput" 'GHC.Types.False) (GHC.Generics.C1 - GenDerivOutput.C1_0Rose GHC.Generics.U1 + ('GHC.Generics.MetaCons + "Empty" + 'GHC.Generics.PrefixI + 'GHC.Types.False) + GHC.Generics.U1 GHC.Generics.:+: GHC.Generics.C1 - GenDerivOutput.C1_1Rose + ('GHC.Generics.MetaCons + "Rose" + 'GHC.Generics.PrefixI + 'GHC.Types.False) (GHC.Generics.S1 - GHC.Generics.NoSelector + ('GHC.Generics.MetaSel + "") (GHC.Generics.Rec0 a) GHC.Generics.:*: GHC.Generics.S1 - GHC.Generics.NoSelector + ('GHC.Generics.MetaSel + "") (GHC.Generics.Rec0 (GenDerivOutput.List (GenDerivOutput.Rose a))))) type GHC.Generics.Rep1 GenDerivOutput.Rose = GHC.Generics.D1 - GenDerivOutput.D1Rose + ('GHC.Generics.MetaData + "Rose" "GenDerivOutput" 'GHC.Types.False) (GHC.Generics.C1 - GenDerivOutput.C1_0Rose GHC.Generics.U1 + ('GHC.Generics.MetaCons + "Empty" + 'GHC.Generics.PrefixI + 'GHC.Types.False) + GHC.Generics.U1 GHC.Generics.:+: GHC.Generics.C1 - GenDerivOutput.C1_1Rose + ('GHC.Generics.MetaCons + "Rose" + 'GHC.Generics.PrefixI + 'GHC.Types.False) (GHC.Generics.S1 - GHC.Generics.NoSelector + ('GHC.Generics.MetaSel "") GHC.Generics.Par1 GHC.Generics.:*: GHC.Generics.S1 - GHC.Generics.NoSelector + ('GHC.Generics.MetaSel + "") (GenDerivOutput.List GHC.Generics.:.: GHC.Generics.Rec1 GenDerivOutput.Rose))) diff --git a/testsuite/tests/generics/GenDerivOutput1_0.stderr b/testsuite/tests/generics/GenDerivOutput1_0.stderr index 222d2d3165..02a41c3b1e 100644 --- a/testsuite/tests/generics/GenDerivOutput1_0.stderr +++ b/testsuite/tests/generics/GenDerivOutput1_0.stderr @@ -21,45 +21,29 @@ Derived instances: = GenDerivOutput1_0.Cons (GHC.Generics.unPar1 g1) (GHC.Generics.unRec1 g2) - instance GHC.Generics.Datatype GenDerivOutput1_0.D1List where - GHC.Generics.datatypeName _ = "List" - GHC.Generics.moduleName _ = "GenDerivOutput1_0" - instance GHC.Generics.Constructor GenDerivOutput1_0.C1_0List where - GHC.Generics.conName _ = "Nil" - - instance GHC.Generics.Constructor GenDerivOutput1_0.C1_1List where - GHC.Generics.conName _ = "Cons" - GHC.Generics.conIsRecord _ = GHC.Types.True - - instance GHC.Generics.Selector GenDerivOutput1_0.S1_1_0List where - GHC.Generics.selName _ = "element" - - instance GHC.Generics.Selector GenDerivOutput1_0.S1_1_1List where - GHC.Generics.selName _ = "rest" - - -Generic representation: - - Generated datatypes for meta-information: - GenDerivOutput1_0.D1List - GenDerivOutput1_0.C1_0List - GenDerivOutput1_0.C1_1List - GenDerivOutput1_0.S1_1_0List - GenDerivOutput1_0.S1_1_1List - - Representation types: +GHC.Generics representation types: type GHC.Generics.Rep1 GenDerivOutput1_0.List = GHC.Generics.D1 - GenDerivOutput1_0.D1List + ('GHC.Generics.MetaData + "List" "GenDerivOutput1_0" 'GHC.Types.False) (GHC.Generics.C1 - GenDerivOutput1_0.C1_0List GHC.Generics.U1 + ('GHC.Generics.MetaCons + "Nil" + 'GHC.Generics.PrefixI + 'GHC.Types.False) + GHC.Generics.U1 GHC.Generics.:+: GHC.Generics.C1 - GenDerivOutput1_0.C1_1List + ('GHC.Generics.MetaCons + "Cons" + 'GHC.Generics.PrefixI + 'GHC.Types.True) (GHC.Generics.S1 - GenDerivOutput1_0.S1_1_0List + ('GHC.Generics.MetaSel + "element") GHC.Generics.Par1 GHC.Generics.:*: GHC.Generics.S1 - GenDerivOutput1_0.S1_1_1List + ('GHC.Generics.MetaSel + "rest") (GHC.Generics.Rec1 GenDerivOutput1_0.List))) diff --git a/testsuite/tests/generics/GenDerivOutput1_1.stderr b/testsuite/tests/generics/GenDerivOutput1_1.stderr index 6b9f546990..b4f73b82c0 100644 --- a/testsuite/tests/generics/GenDerivOutput1_1.stderr +++ b/testsuite/tests/generics/GenDerivOutput1_1.stderr @@ -153,198 +153,170 @@ Derived instances: (GHC.Generics.M1 g2))))) = CanDoRep1_1.D1c (GHC.Generics.unPar1 g1) (GHC.Generics.unRec1 g2) - instance GHC.Generics.Datatype CanDoRep1_1.D1Da where - GHC.Generics.datatypeName _ = "Da" - GHC.Generics.moduleName _ = "CanDoRep1_1" - instance GHC.Generics.Constructor CanDoRep1_1.C1_0Da where - GHC.Generics.conName _ = "D0" - - instance GHC.Generics.Constructor CanDoRep1_1.C1_1Da where - GHC.Generics.conName _ = "D1" - GHC.Generics.conIsRecord _ = GHC.Types.True - - instance GHC.Generics.Selector CanDoRep1_1.S1_1_0Da where - GHC.Generics.selName _ = "d11a" - - instance GHC.Generics.Selector CanDoRep1_1.S1_1_1Da where - GHC.Generics.selName _ = "d12a" - - instance GHC.Generics.Datatype CanDoRep1_1.D1Db where - GHC.Generics.datatypeName _ = "Db" - GHC.Generics.moduleName _ = "CanDoRep1_1" - - instance GHC.Generics.Constructor CanDoRep1_1.C1_0Db where - GHC.Generics.conName _ = "D0b" - - instance GHC.Generics.Constructor CanDoRep1_1.C1_1Db where - GHC.Generics.conName _ = "D1b" - GHC.Generics.conIsRecord _ = GHC.Types.True - - instance GHC.Generics.Selector CanDoRep1_1.S1_1_0Db where - GHC.Generics.selName _ = "d11b" - - instance GHC.Generics.Selector CanDoRep1_1.S1_1_1Db where - GHC.Generics.selName _ = "d12b" - - instance GHC.Generics.Datatype CanDoRep1_1.D1Dc where - GHC.Generics.datatypeName _ = "Dc" - GHC.Generics.moduleName _ = "CanDoRep1_1" - - instance GHC.Generics.Constructor CanDoRep1_1.C1_0Dc where - GHC.Generics.conName _ = "D0c" - - instance GHC.Generics.Constructor CanDoRep1_1.C1_1Dc where - GHC.Generics.conName _ = "D1c" - GHC.Generics.conIsRecord _ = GHC.Types.True - - instance GHC.Generics.Selector CanDoRep1_1.S1_1_0Dc where - GHC.Generics.selName _ = "d11c" - - instance GHC.Generics.Selector CanDoRep1_1.S1_1_1Dc where - GHC.Generics.selName _ = "d12c" - - instance GHC.Generics.Datatype CanDoRep1_1.D1Dd where - GHC.Generics.datatypeName _ = "Dd" - GHC.Generics.moduleName _ = "CanDoRep1_1" - - instance GHC.Generics.Constructor CanDoRep1_1.C1_0Dd where - GHC.Generics.conName _ = "D0d" - - instance GHC.Generics.Constructor CanDoRep1_1.C1_1Dd where - GHC.Generics.conName _ = "D1d" - GHC.Generics.conIsRecord _ = GHC.Types.True - - instance GHC.Generics.Selector CanDoRep1_1.S1_1_0Dd where - GHC.Generics.selName _ = "d11d" - - instance GHC.Generics.Selector CanDoRep1_1.S1_1_1Dd where - GHC.Generics.selName _ = "d12d" - - -Generic representation: - - Generated datatypes for meta-information: - CanDoRep1_1.D1Da - CanDoRep1_1.C1_0Da - CanDoRep1_1.C1_1Da - CanDoRep1_1.S1_1_0Da - CanDoRep1_1.S1_1_1Da - CanDoRep1_1.D1Db - CanDoRep1_1.C1_0Db - CanDoRep1_1.C1_1Db - CanDoRep1_1.S1_1_0Db - CanDoRep1_1.S1_1_1Db - CanDoRep1_1.D1Dc - CanDoRep1_1.C1_0Dc - CanDoRep1_1.C1_1Dc - CanDoRep1_1.S1_1_0Dc - CanDoRep1_1.S1_1_1Dc - CanDoRep1_1.D1Dd - CanDoRep1_1.C1_0Dd - CanDoRep1_1.C1_1Dd - CanDoRep1_1.S1_1_0Dd - CanDoRep1_1.S1_1_1Dd - - Representation types: +GHC.Generics representation types: type GHC.Generics.Rep1 CanDoRep1_1.Dd = GHC.Generics.D1 - CanDoRep1_1.D1Dd - (GHC.Generics.C1 CanDoRep1_1.C1_0Dd GHC.Generics.U1 - GHC.Generics.:+: GHC.Generics.C1 - CanDoRep1_1.C1_1Dd + ('GHC.Generics.MetaData + "Dd" "CanDoRep1_1" 'GHC.Types.False) + (GHC.Generics.C1 + ('GHC.Generics.MetaCons + "D0d" 'GHC.Generics.PrefixI 'GHC.Types.False) + GHC.Generics.U1 + GHC.Generics.:+: GHC.Generics.C1 + ('GHC.Generics.MetaCons + "D1d" + 'GHC.Generics.PrefixI + 'GHC.Types.True) (GHC.Generics.S1 - CanDoRep1_1.S1_1_0Dd + ('GHC.Generics.MetaSel "d11d") GHC.Generics.Par1 GHC.Generics.:*: GHC.Generics.S1 - CanDoRep1_1.S1_1_1Dd + ('GHC.Generics.MetaSel + "d12d") (GHC.Generics.Rec1 CanDoRep1_1.Dd))) type GHC.Generics.Rep (CanDoRep1_1.Dd a) = GHC.Generics.D1 - CanDoRep1_1.D1Dd - (GHC.Generics.C1 CanDoRep1_1.C1_0Dd GHC.Generics.U1 - GHC.Generics.:+: GHC.Generics.C1 - CanDoRep1_1.C1_1Dd + ('GHC.Generics.MetaData + "Dd" "CanDoRep1_1" 'GHC.Types.False) + (GHC.Generics.C1 + ('GHC.Generics.MetaCons + "D0d" 'GHC.Generics.PrefixI 'GHC.Types.False) + GHC.Generics.U1 + GHC.Generics.:+: GHC.Generics.C1 + ('GHC.Generics.MetaCons + "D1d" + 'GHC.Generics.PrefixI + 'GHC.Types.True) (GHC.Generics.S1 - CanDoRep1_1.S1_1_0Dd + ('GHC.Generics.MetaSel "d11d") (GHC.Generics.Rec0 a) GHC.Generics.:*: GHC.Generics.S1 - CanDoRep1_1.S1_1_1Dd + ('GHC.Generics.MetaSel + "d12d") (GHC.Generics.Rec0 (CanDoRep1_1.Dd a)))) type GHC.Generics.Rep (CanDoRep1_1.Dc a) = GHC.Generics.D1 - CanDoRep1_1.D1Dc - (GHC.Generics.C1 CanDoRep1_1.C1_0Dc GHC.Generics.U1 - GHC.Generics.:+: GHC.Generics.C1 - CanDoRep1_1.C1_1Dc + ('GHC.Generics.MetaData + "Dc" "CanDoRep1_1" 'GHC.Types.False) + (GHC.Generics.C1 + ('GHC.Generics.MetaCons + "D0c" 'GHC.Generics.PrefixI 'GHC.Types.False) + GHC.Generics.U1 + GHC.Generics.:+: GHC.Generics.C1 + ('GHC.Generics.MetaCons + "D1c" + 'GHC.Generics.PrefixI + 'GHC.Types.True) (GHC.Generics.S1 - CanDoRep1_1.S1_1_0Dc + ('GHC.Generics.MetaSel "d11c") (GHC.Generics.Rec0 a) GHC.Generics.:*: GHC.Generics.S1 - CanDoRep1_1.S1_1_1Dc + ('GHC.Generics.MetaSel + "d12c") (GHC.Generics.Rec0 (CanDoRep1_1.Dc a)))) type GHC.Generics.Rep1 CanDoRep1_1.Db = GHC.Generics.D1 - CanDoRep1_1.D1Db - (GHC.Generics.C1 CanDoRep1_1.C1_0Db GHC.Generics.U1 - GHC.Generics.:+: GHC.Generics.C1 - CanDoRep1_1.C1_1Db + ('GHC.Generics.MetaData + "Db" "CanDoRep1_1" 'GHC.Types.False) + (GHC.Generics.C1 + ('GHC.Generics.MetaCons + "D0b" 'GHC.Generics.PrefixI 'GHC.Types.False) + GHC.Generics.U1 + GHC.Generics.:+: GHC.Generics.C1 + ('GHC.Generics.MetaCons + "D1b" + 'GHC.Generics.PrefixI + 'GHC.Types.True) (GHC.Generics.S1 - CanDoRep1_1.S1_1_0Db + ('GHC.Generics.MetaSel "d11b") GHC.Generics.Par1 GHC.Generics.:*: GHC.Generics.S1 - CanDoRep1_1.S1_1_1Db + ('GHC.Generics.MetaSel + "d12b") (GHC.Generics.Rec1 CanDoRep1_1.Db))) type GHC.Generics.Rep (CanDoRep1_1.Da a) = GHC.Generics.D1 - CanDoRep1_1.D1Da - (GHC.Generics.C1 CanDoRep1_1.C1_0Da GHC.Generics.U1 - GHC.Generics.:+: GHC.Generics.C1 - CanDoRep1_1.C1_1Da + ('GHC.Generics.MetaData + "Da" "CanDoRep1_1" 'GHC.Types.False) + (GHC.Generics.C1 + ('GHC.Generics.MetaCons + "D0" 'GHC.Generics.PrefixI 'GHC.Types.False) + GHC.Generics.U1 + GHC.Generics.:+: GHC.Generics.C1 + ('GHC.Generics.MetaCons + "D1" + 'GHC.Generics.PrefixI + 'GHC.Types.True) (GHC.Generics.S1 - CanDoRep1_1.S1_1_0Da + ('GHC.Generics.MetaSel "d11a") (GHC.Generics.Rec0 a) GHC.Generics.:*: GHC.Generics.S1 - CanDoRep1_1.S1_1_1Da + ('GHC.Generics.MetaSel + "d12a") (GHC.Generics.Rec0 (CanDoRep1_1.Da a)))) type GHC.Generics.Rep1 CanDoRep1_1.Da = GHC.Generics.D1 - CanDoRep1_1.D1Da - (GHC.Generics.C1 CanDoRep1_1.C1_0Da GHC.Generics.U1 - GHC.Generics.:+: GHC.Generics.C1 - CanDoRep1_1.C1_1Da + ('GHC.Generics.MetaData + "Da" "CanDoRep1_1" 'GHC.Types.False) + (GHC.Generics.C1 + ('GHC.Generics.MetaCons + "D0" 'GHC.Generics.PrefixI 'GHC.Types.False) + GHC.Generics.U1 + GHC.Generics.:+: GHC.Generics.C1 + ('GHC.Generics.MetaCons + "D1" + 'GHC.Generics.PrefixI + 'GHC.Types.True) (GHC.Generics.S1 - CanDoRep1_1.S1_1_0Da + ('GHC.Generics.MetaSel "d11a") GHC.Generics.Par1 GHC.Generics.:*: GHC.Generics.S1 - CanDoRep1_1.S1_1_1Da + ('GHC.Generics.MetaSel + "d12a") (GHC.Generics.Rec1 CanDoRep1_1.Da))) type GHC.Generics.Rep (CanDoRep1_1.Db a) = GHC.Generics.D1 - CanDoRep1_1.D1Db - (GHC.Generics.C1 CanDoRep1_1.C1_0Db GHC.Generics.U1 - GHC.Generics.:+: GHC.Generics.C1 - CanDoRep1_1.C1_1Db + ('GHC.Generics.MetaData + "Db" "CanDoRep1_1" 'GHC.Types.False) + (GHC.Generics.C1 + ('GHC.Generics.MetaCons + "D0b" 'GHC.Generics.PrefixI 'GHC.Types.False) + GHC.Generics.U1 + GHC.Generics.:+: GHC.Generics.C1 + ('GHC.Generics.MetaCons + "D1b" + 'GHC.Generics.PrefixI + 'GHC.Types.True) (GHC.Generics.S1 - CanDoRep1_1.S1_1_0Db + ('GHC.Generics.MetaSel "d11b") (GHC.Generics.Rec0 a) GHC.Generics.:*: GHC.Generics.S1 - CanDoRep1_1.S1_1_1Db + ('GHC.Generics.MetaSel + "d12b") (GHC.Generics.Rec0 (CanDoRep1_1.Db a)))) type GHC.Generics.Rep1 CanDoRep1_1.Dc = GHC.Generics.D1 - CanDoRep1_1.D1Dc - (GHC.Generics.C1 CanDoRep1_1.C1_0Dc GHC.Generics.U1 - GHC.Generics.:+: GHC.Generics.C1 - CanDoRep1_1.C1_1Dc + ('GHC.Generics.MetaData + "Dc" "CanDoRep1_1" 'GHC.Types.False) + (GHC.Generics.C1 + ('GHC.Generics.MetaCons + "D0c" 'GHC.Generics.PrefixI 'GHC.Types.False) + GHC.Generics.U1 + GHC.Generics.:+: GHC.Generics.C1 + ('GHC.Generics.MetaCons + "D1c" + 'GHC.Generics.PrefixI + 'GHC.Types.True) (GHC.Generics.S1 - CanDoRep1_1.S1_1_0Dc + ('GHC.Generics.MetaSel "d11c") GHC.Generics.Par1 GHC.Generics.:*: GHC.Generics.S1 - CanDoRep1_1.S1_1_1Dc + ('GHC.Generics.MetaSel + "d12c") (GHC.Generics.Rec1 CanDoRep1_1.Dc))) |