.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
ghci> p core
let {
  A :: Language.Haskell.TH.Syntax.Name
  []
  A =
    Language.Haskell.TH.Syntax.mkName
      (GHC.Types.:
         @ GHC.Types.Char
         (GHC.Types.C# 'A')
         (GHC.Types.[] @ GHC.Types.Char)) } in
let {
  B :: Language.Haskell.TH.Syntax.Name
  []
  B =
    Language.Haskell.TH.Syntax.mkName
      (GHC.Types.:
         @ GHC.Types.Char
         (GHC.Types.C# 'B')
         (GHC.Types.[] @ GHC.Types.Char)) } in
let {
  A :: Language.Haskell.TH.Syntax.Name
  []
  A =
    Language.Haskell.TH.Syntax.mkName
      (GHC.Types.:
         @ GHC.Types.Char
         (GHC.Types.C# 'A')
         (GHC.Types.[] @ GHC.Types.Char)) } in
Language.Haskell.TH.Syntax.sequenceQ
  @ Language.Haskell.TH.Syntax.Dec
  (GHC.Types.:
     @ Language.Haskell.TH.Lib.DecQ
     (Language.Haskell.TH.Lib.dataD
        (Language.Haskell.TH.Lib.cxt
           (GHC.Types.[] @ Language.Haskell.TH.Lib.TypeQ))
        A
        (GHC.Types.[] @ Language.Haskell.TH.Syntax.Name)
        (GHC.Types.:
           @ Language.Haskell.TH.Lib.ConQ
           (Language.Haskell.TH.Lib.normalC
              A (GHC.Types.[] @ Language.Haskell.TH.Lib.StrictTypeQ))
           (GHC.Types.:
              @ Language.Haskell.TH.Lib.ConQ
              (Language.Haskell.TH.Lib.normalC
                 B (GHC.Types.[] @ Language.Haskell.TH.Lib.StrictTypeQ))
              (GHC.Types.[] @ Language.Haskell.TH.Lib.ConQ)))
        (GHC.Types.:
           @ Language.Haskell.TH.Syntax.Name
           (Language.Haskell.TH.Syntax.mkNameG_tc
              (GHC.Base.unpackCString# "base")
              (GHC.Base.unpackCString# "GHC.Show")
              (GHC.Base.unpackCString# "Show"))
           (GHC.Types.[] @ Language.Haskell.TH.Syntax.Name)))
     (GHC.Types.[] @ Language.Haskell.TH.Lib.DecQ))
ghci>