1ParseOk
2  ( Module
3      SrcSpanInfo
4        { srcInfoSpan = SrcSpan "tests/examples/PolyKinds.hs" 1 1 9 1
5        , srcInfoPoints =
6            [ SrcSpan "tests/examples/PolyKinds.hs" 1 1 1 1
7            , SrcSpan "tests/examples/PolyKinds.hs" 2 1 2 1
8            , SrcSpan "tests/examples/PolyKinds.hs" 2 1 2 1
9            , SrcSpan "tests/examples/PolyKinds.hs" 2 1 2 1
10            , SrcSpan "tests/examples/PolyKinds.hs" 4 1 4 1
11            , SrcSpan "tests/examples/PolyKinds.hs" 7 1 7 1
12            , SrcSpan "tests/examples/PolyKinds.hs" 8 1 8 1
13            , SrcSpan "tests/examples/PolyKinds.hs" 9 1 9 1
14            , SrcSpan "tests/examples/PolyKinds.hs" 9 1 9 1
15            ]
16        }
17      Nothing
18      [ LanguagePragma
19          SrcSpanInfo
20            { srcInfoSpan = SrcSpan "tests/examples/PolyKinds.hs" 1 1 1 27
21            , srcInfoPoints =
22                [ SrcSpan "tests/examples/PolyKinds.hs" 1 1 1 13
23                , SrcSpan "tests/examples/PolyKinds.hs" 1 24 1 27
24                ]
25            }
26          [ Ident
27              SrcSpanInfo
28                { srcInfoSpan = SrcSpan "tests/examples/PolyKinds.hs" 1 14 1 23
29                , srcInfoPoints = []
30                }
31              "PolyKinds"
32          ]
33      ]
34      []
35      [ DataDecl
36          SrcSpanInfo
37            { srcInfoSpan = SrcSpan "tests/examples/PolyKinds.hs" 2 1 2 21
38            , srcInfoPoints =
39                [ SrcSpan "tests/examples/PolyKinds.hs" 2 14 2 15 ]
40            }
41          (DataType
42             SrcSpanInfo
43               { srcInfoSpan = SrcSpan "tests/examples/PolyKinds.hs" 2 1 2 5
44               , srcInfoPoints = []
45               })
46          Nothing
47          (DHApp
48             SrcSpanInfo
49               { srcInfoSpan = SrcSpan "tests/examples/PolyKinds.hs" 2 6 2 13
50               , srcInfoPoints = []
51               }
52             (DHead
53                SrcSpanInfo
54                  { srcInfoSpan = SrcSpan "tests/examples/PolyKinds.hs" 2 6 2 11
55                  , srcInfoPoints = []
56                  }
57                (Ident
58                   SrcSpanInfo
59                     { srcInfoSpan = SrcSpan "tests/examples/PolyKinds.hs" 2 6 2 11
60                     , srcInfoPoints = []
61                     }
62                   "Proxy"))
63             (UnkindedVar
64                SrcSpanInfo
65                  { srcInfoSpan = SrcSpan "tests/examples/PolyKinds.hs" 2 12 2 13
66                  , srcInfoPoints = []
67                  }
68                (Ident
69                   SrcSpanInfo
70                     { srcInfoSpan = SrcSpan "tests/examples/PolyKinds.hs" 2 12 2 13
71                     , srcInfoPoints = []
72                     }
73                   "t")))
74          [ QualConDecl
75              SrcSpanInfo
76                { srcInfoSpan = SrcSpan "tests/examples/PolyKinds.hs" 2 16 2 21
77                , srcInfoPoints = []
78                }
79              Nothing
80              Nothing
81              (ConDecl
82                 SrcSpanInfo
83                   { srcInfoSpan = SrcSpan "tests/examples/PolyKinds.hs" 2 16 2 21
84                   , srcInfoPoints = []
85                   }
86                 (Ident
87                    SrcSpanInfo
88                      { srcInfoSpan = SrcSpan "tests/examples/PolyKinds.hs" 2 16 2 21
89                      , srcInfoPoints = []
90                      }
91                    "Proxy")
92                 [])
93          ]
94          []
95      , ClassDecl
96          SrcSpanInfo
97            { srcInfoSpan = SrcSpan "tests/examples/PolyKinds.hs" 4 1 5 31
98            , srcInfoPoints =
99                [ SrcSpan "tests/examples/PolyKinds.hs" 4 1 4 6
100                , SrcSpan "tests/examples/PolyKinds.hs" 4 18 4 23
101                , SrcSpan "tests/examples/PolyKinds.hs" 5 3 5 3
102                , SrcSpan "tests/examples/PolyKinds.hs" 7 1 7 0
103                ]
104            }
105          Nothing
106          (DHApp
107             SrcSpanInfo
108               { srcInfoSpan = SrcSpan "tests/examples/PolyKinds.hs" 4 7 4 17
109               , srcInfoPoints = []
110               }
111             (DHead
112                SrcSpanInfo
113                  { srcInfoSpan = SrcSpan "tests/examples/PolyKinds.hs" 4 7 4 15
114                  , srcInfoPoints = []
115                  }
116                (Ident
117                   SrcSpanInfo
118                     { srcInfoSpan = SrcSpan "tests/examples/PolyKinds.hs" 4 7 4 15
119                     , srcInfoPoints = []
120                     }
121                   "Typeable"))
122             (UnkindedVar
123                SrcSpanInfo
124                  { srcInfoSpan = SrcSpan "tests/examples/PolyKinds.hs" 4 16 4 17
125                  , srcInfoPoints = []
126                  }
127                (Ident
128                   SrcSpanInfo
129                     { srcInfoSpan = SrcSpan "tests/examples/PolyKinds.hs" 4 16 4 17
130                     , srcInfoPoints = []
131                     }
132                   "t")))
133          []
134          (Just
135             [ ClsDecl
136                 SrcSpanInfo
137                   { srcInfoSpan = SrcSpan "tests/examples/PolyKinds.hs" 5 3 5 31
138                   , srcInfoPoints =
139                       [ SrcSpan "tests/examples/PolyKinds.hs" 5 10 5 12 ]
140                   }
141                 (TypeSig
142                    SrcSpanInfo
143                      { srcInfoSpan = SrcSpan "tests/examples/PolyKinds.hs" 5 3 5 31
144                      , srcInfoPoints =
145                          [ SrcSpan "tests/examples/PolyKinds.hs" 5 10 5 12 ]
146                      }
147                    [ Ident
148                        SrcSpanInfo
149                          { srcInfoSpan = SrcSpan "tests/examples/PolyKinds.hs" 5 3 5 9
150                          , srcInfoPoints = []
151                          }
152                        "typeOf"
153                    ]
154                    (TyFun
155                       SrcSpanInfo
156                         { srcInfoSpan = SrcSpan "tests/examples/PolyKinds.hs" 5 13 5 31
157                         , srcInfoPoints =
158                             [ SrcSpan "tests/examples/PolyKinds.hs" 5 21 5 23 ]
159                         }
160                       (TyApp
161                          SrcSpanInfo
162                            { srcInfoSpan = SrcSpan "tests/examples/PolyKinds.hs" 5 13 5 20
163                            , srcInfoPoints = []
164                            }
165                          (TyCon
166                             SrcSpanInfo
167                               { srcInfoSpan = SrcSpan "tests/examples/PolyKinds.hs" 5 13 5 18
168                               , srcInfoPoints = []
169                               }
170                             (UnQual
171                                SrcSpanInfo
172                                  { srcInfoSpan = SrcSpan "tests/examples/PolyKinds.hs" 5 13 5 18
173                                  , srcInfoPoints = []
174                                  }
175                                (Ident
176                                   SrcSpanInfo
177                                     { srcInfoSpan = SrcSpan "tests/examples/PolyKinds.hs" 5 13 5 18
178                                     , srcInfoPoints = []
179                                     }
180                                   "Proxy")))
181                          (TyVar
182                             SrcSpanInfo
183                               { srcInfoSpan = SrcSpan "tests/examples/PolyKinds.hs" 5 19 5 20
184                               , srcInfoPoints = []
185                               }
186                             (Ident
187                                SrcSpanInfo
188                                  { srcInfoSpan = SrcSpan "tests/examples/PolyKinds.hs" 5 19 5 20
189                                  , srcInfoPoints = []
190                                  }
191                                "t")))
192                       (TyCon
193                          SrcSpanInfo
194                            { srcInfoSpan = SrcSpan "tests/examples/PolyKinds.hs" 5 24 5 31
195                            , srcInfoPoints = []
196                            }
197                          (UnQual
198                             SrcSpanInfo
199                               { srcInfoSpan = SrcSpan "tests/examples/PolyKinds.hs" 5 24 5 31
200                               , srcInfoPoints = []
201                               }
202                             (Ident
203                                SrcSpanInfo
204                                  { srcInfoSpan = SrcSpan "tests/examples/PolyKinds.hs" 5 24 5 31
205                                  , srcInfoPoints = []
206                                  }
207                                "TypeRep")))))
208             ])
209      , InstDecl
210          SrcSpanInfo
211            { srcInfoSpan = SrcSpan "tests/examples/PolyKinds.hs" 7 1 8 0
212            , srcInfoPoints =
213                [ SrcSpan "tests/examples/PolyKinds.hs" 7 1 7 9
214                , SrcSpan "tests/examples/PolyKinds.hs" 7 24 7 29
215                , SrcSpan "tests/examples/PolyKinds.hs" 7 30 7 30
216                , SrcSpan "tests/examples/PolyKinds.hs" 8 1 8 0
217                ]
218            }
219          Nothing
220          (IRule
221             SrcSpanInfo
222               { srcInfoSpan = SrcSpan "tests/examples/PolyKinds.hs" 7 10 7 22
223               , srcInfoPoints = []
224               }
225             Nothing
226             Nothing
227             (IHApp
228                SrcSpanInfo
229                  { srcInfoSpan = SrcSpan "tests/examples/PolyKinds.hs" 7 10 7 22
230                  , srcInfoPoints = []
231                  }
232                (IHCon
233                   SrcSpanInfo
234                     { srcInfoSpan = SrcSpan "tests/examples/PolyKinds.hs" 7 10 7 18
235                     , srcInfoPoints = []
236                     }
237                   (UnQual
238                      SrcSpanInfo
239                        { srcInfoSpan = SrcSpan "tests/examples/PolyKinds.hs" 7 10 7 18
240                        , srcInfoPoints = []
241                        }
242                      (Ident
243                         SrcSpanInfo
244                           { srcInfoSpan = SrcSpan "tests/examples/PolyKinds.hs" 7 10 7 18
245                           , srcInfoPoints = []
246                           }
247                         "Typeable")))
248                (TyCon
249                   SrcSpanInfo
250                     { srcInfoSpan = SrcSpan "tests/examples/PolyKinds.hs" 7 19 7 22
251                     , srcInfoPoints = []
252                     }
253                   (UnQual
254                      SrcSpanInfo
255                        { srcInfoSpan = SrcSpan "tests/examples/PolyKinds.hs" 7 19 7 22
256                        , srcInfoPoints = []
257                        }
258                      (Ident
259                         SrcSpanInfo
260                           { srcInfoSpan = SrcSpan "tests/examples/PolyKinds.hs" 7 19 7 22
261                           , srcInfoPoints = []
262                           }
263                         "Int")))))
264          (Just
265             [ InsDecl
266                 SrcSpanInfo
267                   { srcInfoSpan = SrcSpan "tests/examples/PolyKinds.hs" 7 30 7 48
268                   , srcInfoPoints = []
269                   }
270                 (FunBind
271                    SrcSpanInfo
272                      { srcInfoSpan = SrcSpan "tests/examples/PolyKinds.hs" 7 30 7 48
273                      , srcInfoPoints = []
274                      }
275                    [ Match
276                        SrcSpanInfo
277                          { srcInfoSpan = SrcSpan "tests/examples/PolyKinds.hs" 7 30 7 48
278                          , srcInfoPoints = []
279                          }
280                        (Ident
281                           SrcSpanInfo
282                             { srcInfoSpan = SrcSpan "tests/examples/PolyKinds.hs" 7 30 7 36
283                             , srcInfoPoints = []
284                             }
285                           "typeOf")
286                        [ PWildCard
287                            SrcSpanInfo
288                              { srcInfoSpan = SrcSpan "tests/examples/PolyKinds.hs" 7 37 7 38
289                              , srcInfoPoints = []
290                              }
291                        ]
292                        (UnGuardedRhs
293                           SrcSpanInfo
294                             { srcInfoSpan = SrcSpan "tests/examples/PolyKinds.hs" 7 39 7 48
295                             , srcInfoPoints =
296                                 [ SrcSpan "tests/examples/PolyKinds.hs" 7 39 7 40 ]
297                             }
298                           (Con
299                              SrcSpanInfo
300                                { srcInfoSpan = SrcSpan "tests/examples/PolyKinds.hs" 7 41 7 48
301                                , srcInfoPoints = []
302                                }
303                              (UnQual
304                                 SrcSpanInfo
305                                   { srcInfoSpan = SrcSpan "tests/examples/PolyKinds.hs" 7 41 7 48
306                                   , srcInfoPoints = []
307                                   }
308                                 (Ident
309                                    SrcSpanInfo
310                                      { srcInfoSpan =
311                                          SrcSpan "tests/examples/PolyKinds.hs" 7 41 7 48
312                                      , srcInfoPoints = []
313                                      }
314                                    "TypeRep"))))
315                        Nothing
316                    ])
317             ])
318      , InstDecl
319          SrcSpanInfo
320            { srcInfoSpan = SrcSpan "tests/examples/PolyKinds.hs" 8 1 9 0
321            , srcInfoPoints =
322                [ SrcSpan "tests/examples/PolyKinds.hs" 8 1 8 9
323                , SrcSpan "tests/examples/PolyKinds.hs" 8 24 8 29
324                , SrcSpan "tests/examples/PolyKinds.hs" 8 30 8 30
325                , SrcSpan "tests/examples/PolyKinds.hs" 9 1 9 0
326                ]
327            }
328          Nothing
329          (IRule
330             SrcSpanInfo
331               { srcInfoSpan = SrcSpan "tests/examples/PolyKinds.hs" 8 10 8 21
332               , srcInfoPoints = []
333               }
334             Nothing
335             Nothing
336             (IHApp
337                SrcSpanInfo
338                  { srcInfoSpan = SrcSpan "tests/examples/PolyKinds.hs" 8 10 8 21
339                  , srcInfoPoints = []
340                  }
341                (IHCon
342                   SrcSpanInfo
343                     { srcInfoSpan = SrcSpan "tests/examples/PolyKinds.hs" 8 10 8 18
344                     , srcInfoPoints = []
345                     }
346                   (UnQual
347                      SrcSpanInfo
348                        { srcInfoSpan = SrcSpan "tests/examples/PolyKinds.hs" 8 10 8 18
349                        , srcInfoPoints = []
350                        }
351                      (Ident
352                         SrcSpanInfo
353                           { srcInfoSpan = SrcSpan "tests/examples/PolyKinds.hs" 8 10 8 18
354                           , srcInfoPoints = []
355                           }
356                         "Typeable")))
357                (TyCon
358                   SrcSpanInfo
359                     { srcInfoSpan = SrcSpan "tests/examples/PolyKinds.hs" 8 19 8 21
360                     , srcInfoPoints =
361                         [ SrcSpan "tests/examples/PolyKinds.hs" 8 19 8 20
362                         , SrcSpan "tests/examples/PolyKinds.hs" 8 20 8 21
363                         ]
364                     }
365                   (Special
366                      SrcSpanInfo
367                        { srcInfoSpan = SrcSpan "tests/examples/PolyKinds.hs" 8 19 8 21
368                        , srcInfoPoints =
369                            [ SrcSpan "tests/examples/PolyKinds.hs" 8 19 8 20
370                            , SrcSpan "tests/examples/PolyKinds.hs" 8 20 8 21
371                            ]
372                        }
373                      (ListCon
374                         SrcSpanInfo
375                           { srcInfoSpan = SrcSpan "tests/examples/PolyKinds.hs" 8 19 8 21
376                           , srcInfoPoints =
377                               [ SrcSpan "tests/examples/PolyKinds.hs" 8 19 8 20
378                               , SrcSpan "tests/examples/PolyKinds.hs" 8 20 8 21
379                               ]
380                           })))))
381          (Just
382             [ InsDecl
383                 SrcSpanInfo
384                   { srcInfoSpan = SrcSpan "tests/examples/PolyKinds.hs" 8 30 8 48
385                   , srcInfoPoints = []
386                   }
387                 (FunBind
388                    SrcSpanInfo
389                      { srcInfoSpan = SrcSpan "tests/examples/PolyKinds.hs" 8 30 8 48
390                      , srcInfoPoints = []
391                      }
392                    [ Match
393                        SrcSpanInfo
394                          { srcInfoSpan = SrcSpan "tests/examples/PolyKinds.hs" 8 30 8 48
395                          , srcInfoPoints = []
396                          }
397                        (Ident
398                           SrcSpanInfo
399                             { srcInfoSpan = SrcSpan "tests/examples/PolyKinds.hs" 8 30 8 36
400                             , srcInfoPoints = []
401                             }
402                           "typeOf")
403                        [ PWildCard
404                            SrcSpanInfo
405                              { srcInfoSpan = SrcSpan "tests/examples/PolyKinds.hs" 8 37 8 38
406                              , srcInfoPoints = []
407                              }
408                        ]
409                        (UnGuardedRhs
410                           SrcSpanInfo
411                             { srcInfoSpan = SrcSpan "tests/examples/PolyKinds.hs" 8 39 8 48
412                             , srcInfoPoints =
413                                 [ SrcSpan "tests/examples/PolyKinds.hs" 8 39 8 40 ]
414                             }
415                           (Con
416                              SrcSpanInfo
417                                { srcInfoSpan = SrcSpan "tests/examples/PolyKinds.hs" 8 41 8 48
418                                , srcInfoPoints = []
419                                }
420                              (UnQual
421                                 SrcSpanInfo
422                                   { srcInfoSpan = SrcSpan "tests/examples/PolyKinds.hs" 8 41 8 48
423                                   , srcInfoPoints = []
424                                   }
425                                 (Ident
426                                    SrcSpanInfo
427                                      { srcInfoSpan =
428                                          SrcSpan "tests/examples/PolyKinds.hs" 8 41 8 48
429                                      , srcInfoPoints = []
430                                      }
431                                    "TypeRep"))))
432                        Nothing
433                    ])
434             ])
435      ]
436  , []
437  )
438