1ParseOk
2  ( Module
3      SrcSpanInfo
4        { srcInfoSpan =
5            SrcSpan "tests/examples/ConstraintKinds2.hs" 1 1 7 1
6        , srcInfoPoints =
7            [ SrcSpan "tests/examples/ConstraintKinds2.hs" 1 1 1 1
8            , SrcSpan "tests/examples/ConstraintKinds2.hs" 2 1 2 1
9            , SrcSpan "tests/examples/ConstraintKinds2.hs" 3 1 3 1
10            , SrcSpan "tests/examples/ConstraintKinds2.hs" 5 1 5 1
11            , SrcSpan "tests/examples/ConstraintKinds2.hs" 5 1 5 1
12            , SrcSpan "tests/examples/ConstraintKinds2.hs" 5 1 5 1
13            , SrcSpan "tests/examples/ConstraintKinds2.hs" 7 1 7 1
14            , SrcSpan "tests/examples/ConstraintKinds2.hs" 7 1 7 1
15            ]
16        }
17      Nothing
18      [ LanguagePragma
19          SrcSpanInfo
20            { srcInfoSpan =
21                SrcSpan "tests/examples/ConstraintKinds2.hs" 1 1 1 33
22            , srcInfoPoints =
23                [ SrcSpan "tests/examples/ConstraintKinds2.hs" 1 1 1 13
24                , SrcSpan "tests/examples/ConstraintKinds2.hs" 1 30 1 33
25                ]
26            }
27          [ Ident
28              SrcSpanInfo
29                { srcInfoSpan =
30                    SrcSpan "tests/examples/ConstraintKinds2.hs" 1 14 1 29
31                , srcInfoPoints = []
32                }
33              "ConstraintKinds"
34          ]
35      , LanguagePragma
36          SrcSpanInfo
37            { srcInfoSpan =
38                SrcSpan "tests/examples/ConstraintKinds2.hs" 2 1 2 23
39            , srcInfoPoints =
40                [ SrcSpan "tests/examples/ConstraintKinds2.hs" 2 1 2 13
41                , SrcSpan "tests/examples/ConstraintKinds2.hs" 2 20 2 23
42                ]
43            }
44          [ Ident
45              SrcSpanInfo
46                { srcInfoSpan =
47                    SrcSpan "tests/examples/ConstraintKinds2.hs" 2 14 2 19
48                , srcInfoPoints = []
49                }
50              "GADTs"
51          ]
52      , LanguagePragma
53          SrcSpanInfo
54            { srcInfoSpan =
55                SrcSpan "tests/examples/ConstraintKinds2.hs" 3 1 3 28
56            , srcInfoPoints =
57                [ SrcSpan "tests/examples/ConstraintKinds2.hs" 3 1 3 13
58                , SrcSpan "tests/examples/ConstraintKinds2.hs" 3 25 3 28
59                ]
60            }
61          [ Ident
62              SrcSpanInfo
63                { srcInfoSpan =
64                    SrcSpan "tests/examples/ConstraintKinds2.hs" 3 14 3 24
65                , srcInfoPoints = []
66                }
67              "RankNTypes"
68          ]
69      ]
70      []
71      [ GDataDecl
72          SrcSpanInfo
73            { srcInfoSpan =
74                SrcSpan "tests/examples/ConstraintKinds2.hs" 5 1 7 0
75            , srcInfoPoints =
76                [ SrcSpan "tests/examples/ConstraintKinds2.hs" 5 13 5 18
77                , SrcSpan "tests/examples/ConstraintKinds2.hs" 6 5 6 5
78                , SrcSpan "tests/examples/ConstraintKinds2.hs" 7 1 7 0
79                ]
80            }
81          (DataType
82             SrcSpanInfo
83               { srcInfoSpan =
84                   SrcSpan "tests/examples/ConstraintKinds2.hs" 5 1 5 5
85               , srcInfoPoints = []
86               })
87          Nothing
88          (DHApp
89             SrcSpanInfo
90               { srcInfoSpan =
91                   SrcSpan "tests/examples/ConstraintKinds2.hs" 5 6 5 12
92               , srcInfoPoints = []
93               }
94             (DHead
95                SrcSpanInfo
96                  { srcInfoSpan =
97                      SrcSpan "tests/examples/ConstraintKinds2.hs" 5 6 5 10
98                  , srcInfoPoints = []
99                  }
100                (Ident
101                   SrcSpanInfo
102                     { srcInfoSpan =
103                         SrcSpan "tests/examples/ConstraintKinds2.hs" 5 6 5 10
104                     , srcInfoPoints = []
105                     }
106                   "Dict"))
107             (UnkindedVar
108                SrcSpanInfo
109                  { srcInfoSpan =
110                      SrcSpan "tests/examples/ConstraintKinds2.hs" 5 11 5 12
111                  , srcInfoPoints = []
112                  }
113                (Ident
114                   SrcSpanInfo
115                     { srcInfoSpan =
116                         SrcSpan "tests/examples/ConstraintKinds2.hs" 5 11 5 12
117                     , srcInfoPoints = []
118                     }
119                   "p")))
120          Nothing
121          [ GadtDecl
122              SrcSpanInfo
123                { srcInfoSpan =
124                    SrcSpan "tests/examples/ConstraintKinds2.hs" 6 5 6 24
125                , srcInfoPoints =
126                    [ SrcSpan "tests/examples/ConstraintKinds2.hs" 6 10 6 12 ]
127                }
128              (Ident
129                 SrcSpanInfo
130                   { srcInfoSpan =
131                       SrcSpan "tests/examples/ConstraintKinds2.hs" 6 5 6 9
132                   , srcInfoPoints = []
133                   }
134                 "Dict")
135              Nothing
136              Nothing
137              Nothing
138              (TyForall
139                 SrcSpanInfo
140                   { srcInfoSpan =
141                       SrcSpan "tests/examples/ConstraintKinds2.hs" 6 13 6 24
142                   , srcInfoPoints = []
143                   }
144                 Nothing
145                 (Just
146                    (CxSingle
147                       SrcSpanInfo
148                         { srcInfoSpan =
149                             SrcSpan "tests/examples/ConstraintKinds2.hs" 6 13 6 17
150                         , srcInfoPoints =
151                             [ SrcSpan "tests/examples/ConstraintKinds2.hs" 6 15 6 17 ]
152                         }
153                       (TypeA
154                          SrcSpanInfo
155                            { srcInfoSpan =
156                                SrcSpan "tests/examples/ConstraintKinds2.hs" 6 13 6 17
157                            , srcInfoPoints =
158                                [ SrcSpan "tests/examples/ConstraintKinds2.hs" 6 15 6 17 ]
159                            }
160                          (TyVar
161                             SrcSpanInfo
162                               { srcInfoSpan =
163                                   SrcSpan "tests/examples/ConstraintKinds2.hs" 6 13 6 17
164                               , srcInfoPoints =
165                                   [ SrcSpan "tests/examples/ConstraintKinds2.hs" 6 15 6 17 ]
166                               }
167                             (Ident
168                                SrcSpanInfo
169                                  { srcInfoSpan =
170                                      SrcSpan "tests/examples/ConstraintKinds2.hs" 6 13 6 14
171                                  , srcInfoPoints = []
172                                  }
173                                "p")))))
174                 (TyApp
175                    SrcSpanInfo
176                      { srcInfoSpan =
177                          SrcSpan "tests/examples/ConstraintKinds2.hs" 6 18 6 24
178                      , srcInfoPoints = []
179                      }
180                    (TyCon
181                       SrcSpanInfo
182                         { srcInfoSpan =
183                             SrcSpan "tests/examples/ConstraintKinds2.hs" 6 18 6 22
184                         , srcInfoPoints = []
185                         }
186                       (UnQual
187                          SrcSpanInfo
188                            { srcInfoSpan =
189                                SrcSpan "tests/examples/ConstraintKinds2.hs" 6 18 6 22
190                            , srcInfoPoints = []
191                            }
192                          (Ident
193                             SrcSpanInfo
194                               { srcInfoSpan =
195                                   SrcSpan "tests/examples/ConstraintKinds2.hs" 6 18 6 22
196                               , srcInfoPoints = []
197                               }
198                             "Dict")))
199                    (TyVar
200                       SrcSpanInfo
201                         { srcInfoSpan =
202                             SrcSpan "tests/examples/ConstraintKinds2.hs" 6 23 6 24
203                         , srcInfoPoints = []
204                         }
205                       (Ident
206                          SrcSpanInfo
207                            { srcInfoSpan =
208                                SrcSpan "tests/examples/ConstraintKinds2.hs" 6 23 6 24
209                            , srcInfoPoints = []
210                            }
211                          "p"))))
212          ]
213          []
214      ]
215  , []
216  )
217