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