1ParseOk
2  ( Module
3      SrcSpanInfo
4        { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 1 1 460 1
5        , srcInfoPoints =
6            [ SrcSpan "tests/examples/DerivingVia.hs" 1 1 1 1
7            , SrcSpan "tests/examples/DerivingVia.hs" 2 1 2 1
8            , SrcSpan "tests/examples/DerivingVia.hs" 3 1 3 1
9            , SrcSpan "tests/examples/DerivingVia.hs" 4 1 4 1
10            , SrcSpan "tests/examples/DerivingVia.hs" 5 1 5 1
11            , SrcSpan "tests/examples/DerivingVia.hs" 6 1 6 1
12            , SrcSpan "tests/examples/DerivingVia.hs" 7 1 7 1
13            , SrcSpan "tests/examples/DerivingVia.hs" 8 1 8 1
14            , SrcSpan "tests/examples/DerivingVia.hs" 9 1 9 1
15            , SrcSpan "tests/examples/DerivingVia.hs" 10 1 10 1
16            , SrcSpan "tests/examples/DerivingVia.hs" 11 1 11 1
17            , SrcSpan "tests/examples/DerivingVia.hs" 12 1 12 1
18            , SrcSpan "tests/examples/DerivingVia.hs" 13 1 13 1
19            , SrcSpan "tests/examples/DerivingVia.hs" 14 1 14 1
20            , SrcSpan "tests/examples/DerivingVia.hs" 15 1 15 1
21            , SrcSpan "tests/examples/DerivingVia.hs" 16 1 16 1
22            , SrcSpan "tests/examples/DerivingVia.hs" 17 1 17 1
23            , SrcSpan "tests/examples/DerivingVia.hs" 18 1 18 1
24            , SrcSpan "tests/examples/DerivingVia.hs" 19 1 19 1
25            , SrcSpan "tests/examples/DerivingVia.hs" 20 1 20 1
26            , SrcSpan "tests/examples/DerivingVia.hs" 20 1 20 1
27            , SrcSpan "tests/examples/DerivingVia.hs" 22 1 22 1
28            , SrcSpan "tests/examples/DerivingVia.hs" 23 1 23 1
29            , SrcSpan "tests/examples/DerivingVia.hs" 24 1 24 1
30            , SrcSpan "tests/examples/DerivingVia.hs" 25 1 25 1
31            , SrcSpan "tests/examples/DerivingVia.hs" 26 1 26 1
32            , SrcSpan "tests/examples/DerivingVia.hs" 27 1 27 1
33            , SrcSpan "tests/examples/DerivingVia.hs" 28 1 28 1
34            , SrcSpan "tests/examples/DerivingVia.hs" 29 1 29 1
35            , SrcSpan "tests/examples/DerivingVia.hs" 30 1 30 1
36            , SrcSpan "tests/examples/DerivingVia.hs" 32 1 32 1
37            , SrcSpan "tests/examples/DerivingVia.hs" 33 1 33 1
38            , SrcSpan "tests/examples/DerivingVia.hs" 34 1 34 1
39            , SrcSpan "tests/examples/DerivingVia.hs" 36 1 36 1
40            , SrcSpan "tests/examples/DerivingVia.hs" 42 1 42 1
41            , SrcSpan "tests/examples/DerivingVia.hs" 50 1 50 1
42            , SrcSpan "tests/examples/DerivingVia.hs" 52 1 52 1
43            , SrcSpan "tests/examples/DerivingVia.hs" 55 1 55 1
44            , SrcSpan "tests/examples/DerivingVia.hs" 58 1 58 1
45            , SrcSpan "tests/examples/DerivingVia.hs" 66 1 66 1
46            , SrcSpan "tests/examples/DerivingVia.hs" 69 1 69 1
47            , SrcSpan "tests/examples/DerivingVia.hs" 72 1 72 1
48            , SrcSpan "tests/examples/DerivingVia.hs" 74 1 74 1
49            , SrcSpan "tests/examples/DerivingVia.hs" 75 1 75 1
50            , SrcSpan "tests/examples/DerivingVia.hs" 76 1 76 1
51            , SrcSpan "tests/examples/DerivingVia.hs" 84 1 84 1
52            , SrcSpan "tests/examples/DerivingVia.hs" 87 1 87 1
53            , SrcSpan "tests/examples/DerivingVia.hs" 91 1 91 1
54            , SrcSpan "tests/examples/DerivingVia.hs" 95 1 95 1
55            , SrcSpan "tests/examples/DerivingVia.hs" 99 1 99 1
56            , SrcSpan "tests/examples/DerivingVia.hs" 112 1 112 1
57            , SrcSpan "tests/examples/DerivingVia.hs" 115 1 115 1
58            , SrcSpan "tests/examples/DerivingVia.hs" 119 1 119 1
59            , SrcSpan "tests/examples/DerivingVia.hs" 123 1 123 1
60            , SrcSpan "tests/examples/DerivingVia.hs" 127 1 127 1
61            , SrcSpan "tests/examples/DerivingVia.hs" 128 1 128 1
62            , SrcSpan "tests/examples/DerivingVia.hs" 132 1 132 1
63            , SrcSpan "tests/examples/DerivingVia.hs" 137 1 137 1
64            , SrcSpan "tests/examples/DerivingVia.hs" 146 1 146 1
65            , SrcSpan "tests/examples/DerivingVia.hs" 157 1 157 1
66            , SrcSpan "tests/examples/DerivingVia.hs" 160 1 160 1
67            , SrcSpan "tests/examples/DerivingVia.hs" 162 1 162 1
68            , SrcSpan "tests/examples/DerivingVia.hs" 165 1 165 1
69            , SrcSpan "tests/examples/DerivingVia.hs" 171 1 171 1
70            , SrcSpan "tests/examples/DerivingVia.hs" 172 1 172 1
71            , SrcSpan "tests/examples/DerivingVia.hs" 173 1 173 1
72            , SrcSpan "tests/examples/DerivingVia.hs" 174 1 174 1
73            , SrcSpan "tests/examples/DerivingVia.hs" 175 1 175 1
74            , SrcSpan "tests/examples/DerivingVia.hs" 176 1 176 1
75            , SrcSpan "tests/examples/DerivingVia.hs" 177 1 177 1
76            , SrcSpan "tests/examples/DerivingVia.hs" 178 1 178 1
77            , SrcSpan "tests/examples/DerivingVia.hs" 179 1 179 1
78            , SrcSpan "tests/examples/DerivingVia.hs" 181 1 181 1
79            , SrcSpan "tests/examples/DerivingVia.hs" 190 1 190 1
80            , SrcSpan "tests/examples/DerivingVia.hs" 193 1 193 1
81            , SrcSpan "tests/examples/DerivingVia.hs" 201 1 201 1
82            , SrcSpan "tests/examples/DerivingVia.hs" 205 1 205 1
83            , SrcSpan "tests/examples/DerivingVia.hs" 221 1 221 1
84            , SrcSpan "tests/examples/DerivingVia.hs" 224 1 224 1
85            , SrcSpan "tests/examples/DerivingVia.hs" 230 1 230 1
86            , SrcSpan "tests/examples/DerivingVia.hs" 233 1 233 1
87            , SrcSpan "tests/examples/DerivingVia.hs" 236 1 236 1
88            , SrcSpan "tests/examples/DerivingVia.hs" 239 1 239 1
89            , SrcSpan "tests/examples/DerivingVia.hs" 244 1 244 1
90            , SrcSpan "tests/examples/DerivingVia.hs" 251 1 251 1
91            , SrcSpan "tests/examples/DerivingVia.hs" 258 1 258 1
92            , SrcSpan "tests/examples/DerivingVia.hs" 265 1 265 1
93            , SrcSpan "tests/examples/DerivingVia.hs" 268 1 268 1
94            , SrcSpan "tests/examples/DerivingVia.hs" 269 1 269 1
95            , SrcSpan "tests/examples/DerivingVia.hs" 270 1 270 1
96            , SrcSpan "tests/examples/DerivingVia.hs" 272 1 272 1
97            , SrcSpan "tests/examples/DerivingVia.hs" 276 1 276 1
98            , SrcSpan "tests/examples/DerivingVia.hs" 280 1 280 1
99            , SrcSpan "tests/examples/DerivingVia.hs" 284 1 284 1
100            , SrcSpan "tests/examples/DerivingVia.hs" 288 1 288 1
101            , SrcSpan "tests/examples/DerivingVia.hs" 293 1 293 1
102            , SrcSpan "tests/examples/DerivingVia.hs" 303 1 303 1
103            , SrcSpan "tests/examples/DerivingVia.hs" 309 1 309 1
104            , SrcSpan "tests/examples/DerivingVia.hs" 312 1 312 1
105            , SrcSpan "tests/examples/DerivingVia.hs" 321 1 321 1
106            , SrcSpan "tests/examples/DerivingVia.hs" 327 1 327 1
107            , SrcSpan "tests/examples/DerivingVia.hs" 330 1 330 1
108            , SrcSpan "tests/examples/DerivingVia.hs" 332 1 332 1
109            , SrcSpan "tests/examples/DerivingVia.hs" 336 1 336 1
110            , SrcSpan "tests/examples/DerivingVia.hs" 337 1 337 1
111            , SrcSpan "tests/examples/DerivingVia.hs" 338 1 338 1
112            , SrcSpan "tests/examples/DerivingVia.hs" 345 1 345 1
113            , SrcSpan "tests/examples/DerivingVia.hs" 350 1 350 1
114            , SrcSpan "tests/examples/DerivingVia.hs" 353 1 353 1
115            , SrcSpan "tests/examples/DerivingVia.hs" 358 1 358 1
116            , SrcSpan "tests/examples/DerivingVia.hs" 359 1 359 1
117            , SrcSpan "tests/examples/DerivingVia.hs" 361 1 361 1
118            , SrcSpan "tests/examples/DerivingVia.hs" 363 1 363 1
119            , SrcSpan "tests/examples/DerivingVia.hs" 365 1 365 1
120            , SrcSpan "tests/examples/DerivingVia.hs" 367 1 367 1
121            , SrcSpan "tests/examples/DerivingVia.hs" 369 1 369 1
122            , SrcSpan "tests/examples/DerivingVia.hs" 371 1 371 1
123            , SrcSpan "tests/examples/DerivingVia.hs" 373 1 373 1
124            , SrcSpan "tests/examples/DerivingVia.hs" 380 1 380 1
125            , SrcSpan "tests/examples/DerivingVia.hs" 388 1 388 1
126            , SrcSpan "tests/examples/DerivingVia.hs" 395 1 395 1
127            , SrcSpan "tests/examples/DerivingVia.hs" 401 1 401 1
128            , SrcSpan "tests/examples/DerivingVia.hs" 405 1 405 1
129            , SrcSpan "tests/examples/DerivingVia.hs" 406 1 406 1
130            , SrcSpan "tests/examples/DerivingVia.hs" 407 1 407 1
131            , SrcSpan "tests/examples/DerivingVia.hs" 409 1 409 1
132            , SrcSpan "tests/examples/DerivingVia.hs" 413 1 413 1
133            , SrcSpan "tests/examples/DerivingVia.hs" 425 1 425 1
134            , SrcSpan "tests/examples/DerivingVia.hs" 427 1 427 1
135            , SrcSpan "tests/examples/DerivingVia.hs" 435 1 435 1
136            , SrcSpan "tests/examples/DerivingVia.hs" 437 1 437 1
137            , SrcSpan "tests/examples/DerivingVia.hs" 439 1 439 1
138            , SrcSpan "tests/examples/DerivingVia.hs" 441 1 441 1
139            , SrcSpan "tests/examples/DerivingVia.hs" 443 1 443 1
140            , SrcSpan "tests/examples/DerivingVia.hs" 445 1 445 1
141            , SrcSpan "tests/examples/DerivingVia.hs" 451 1 451 1
142            , SrcSpan "tests/examples/DerivingVia.hs" 454 1 454 1
143            , SrcSpan "tests/examples/DerivingVia.hs" 457 1 457 1
144            , SrcSpan "tests/examples/DerivingVia.hs" 460 1 460 1
145            , SrcSpan "tests/examples/DerivingVia.hs" 460 1 460 1
146            ]
147        }
148      (Just
149         (ModuleHead
150            SrcSpanInfo
151              { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 20 1 20 25
152              , srcInfoPoints =
153                  [ SrcSpan "tests/examples/DerivingVia.hs" 20 1 20 7
154                  , SrcSpan "tests/examples/DerivingVia.hs" 20 20 20 25
155                  ]
156              }
157            (ModuleName
158               SrcSpanInfo
159                 { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 20 8 20 19
160                 , srcInfoPoints = []
161                 }
162               "DerivingVia")
163            Nothing
164            Nothing))
165      [ LanguagePragma
166          SrcSpanInfo
167            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 1 1 1 36
168            , srcInfoPoints =
169                [ SrcSpan "tests/examples/DerivingVia.hs" 1 1 1 13
170                , SrcSpan "tests/examples/DerivingVia.hs" 1 33 1 36
171                ]
172            }
173          [ Ident
174              SrcSpanInfo
175                { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 1 14 1 32
176                , srcInfoPoints = []
177                }
178              "DerivingStrategies"
179          ]
180      , LanguagePragma
181          SrcSpanInfo
182            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 2 1 2 29
183            , srcInfoPoints =
184                [ SrcSpan "tests/examples/DerivingVia.hs" 2 1 2 13
185                , SrcSpan "tests/examples/DerivingVia.hs" 2 26 2 29
186                ]
187            }
188          [ Ident
189              SrcSpanInfo
190                { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 2 14 2 25
191                , srcInfoPoints = []
192                }
193              "DerivingVia"
194          ]
195      , LanguagePragma
196          SrcSpanInfo
197            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 3 1 3 44
198            , srcInfoPoints =
199                [ SrcSpan "tests/examples/DerivingVia.hs" 3 1 3 13
200                , SrcSpan "tests/examples/DerivingVia.hs" 3 41 3 44
201                ]
202            }
203          [ Ident
204              SrcSpanInfo
205                { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 3 14 3 40
206                , srcInfoPoints = []
207                }
208              "GeneralizedNewtypeDeriving"
209          ]
210      , LanguagePragma
211          SrcSpanInfo
212            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 4 1 4 32
213            , srcInfoPoints =
214                [ SrcSpan "tests/examples/DerivingVia.hs" 4 1 4 13
215                , SrcSpan "tests/examples/DerivingVia.hs" 4 29 4 32
216                ]
217            }
218          [ Ident
219              SrcSpanInfo
220                { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 4 14 4 28
221                , srcInfoPoints = []
222                }
223              "KindSignatures"
224          ]
225      , LanguagePragma
226          SrcSpanInfo
227            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 5 1 5 28
228            , srcInfoPoints =
229                [ SrcSpan "tests/examples/DerivingVia.hs" 5 1 5 13
230                , SrcSpan "tests/examples/DerivingVia.hs" 5 25 5 28
231                ]
232            }
233          [ Ident
234              SrcSpanInfo
235                { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 5 14 5 24
236                , srcInfoPoints = []
237                }
238              "RankNTypes"
239          ]
240      , LanguagePragma
241          SrcSpanInfo
242            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 6 1 6 36
243            , srcInfoPoints =
244                [ SrcSpan "tests/examples/DerivingVia.hs" 6 1 6 13
245                , SrcSpan "tests/examples/DerivingVia.hs" 6 33 6 36
246                ]
247            }
248          [ Ident
249              SrcSpanInfo
250                { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 6 14 6 32
251                , srcInfoPoints = []
252                }
253              "StandaloneDeriving"
254          ]
255      , LanguagePragma
256          SrcSpanInfo
257            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 7 1 7 30
258            , srcInfoPoints =
259                [ SrcSpan "tests/examples/DerivingVia.hs" 7 1 7 13
260                , SrcSpan "tests/examples/DerivingVia.hs" 7 27 7 30
261                ]
262            }
263          [ Ident
264              SrcSpanInfo
265                { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 7 14 7 26
266                , srcInfoPoints = []
267                }
268              "InstanceSigs"
269          ]
270      , LanguagePragma
271          SrcSpanInfo
272            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 8 1 8 28
273            , srcInfoPoints =
274                [ SrcSpan "tests/examples/DerivingVia.hs" 8 1 8 13
275                , SrcSpan "tests/examples/DerivingVia.hs" 8 25 8 28
276                ]
277            }
278          [ Ident
279              SrcSpanInfo
280                { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 8 14 8 24
281                , srcInfoPoints = []
282                }
283              "TypeInType"
284          ]
285      , LanguagePragma
286          SrcSpanInfo
287            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 9 1 9 23
288            , srcInfoPoints =
289                [ SrcSpan "tests/examples/DerivingVia.hs" 9 1 9 13
290                , SrcSpan "tests/examples/DerivingVia.hs" 9 20 9 23
291                ]
292            }
293          [ Ident
294              SrcSpanInfo
295                { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 9 14 9 19
296                , srcInfoPoints = []
297                }
298              "GADTs"
299          ]
300      , LanguagePragma
301          SrcSpanInfo
302            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 10 1 10 34
303            , srcInfoPoints =
304                [ SrcSpan "tests/examples/DerivingVia.hs" 10 1 10 13
305                , SrcSpan "tests/examples/DerivingVia.hs" 10 31 10 34
306                ]
307            }
308          [ Ident
309              SrcSpanInfo
310                { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 10 14 10 30
311                , srcInfoPoints = []
312                }
313              "TypeApplications"
314          ]
315      , LanguagePragma
316          SrcSpanInfo
317            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 11 1 11 33
318            , srcInfoPoints =
319                [ SrcSpan "tests/examples/DerivingVia.hs" 11 1 11 13
320                , SrcSpan "tests/examples/DerivingVia.hs" 11 30 11 33
321                ]
322            }
323          [ Ident
324              SrcSpanInfo
325                { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 11 14 11 29
326                , srcInfoPoints = []
327                }
328              "ConstraintKinds"
329          ]
330      , LanguagePragma
331          SrcSpanInfo
332            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 12 1 12 39
333            , srcInfoPoints =
334                [ SrcSpan "tests/examples/DerivingVia.hs" 12 1 12 13
335                , SrcSpan "tests/examples/DerivingVia.hs" 12 36 12 39
336                ]
337            }
338          [ Ident
339              SrcSpanInfo
340                { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 12 14 12 35
341                , srcInfoPoints = []
342                }
343              "MultiParamTypeClasses"
344          ]
345      , LanguagePragma
346          SrcSpanInfo
347            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 13 1 13 28
348            , srcInfoPoints =
349                [ SrcSpan "tests/examples/DerivingVia.hs" 13 1 13 13
350                , SrcSpan "tests/examples/DerivingVia.hs" 13 25 13 28
351                ]
352            }
353          [ Ident
354              SrcSpanInfo
355                { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 13 14 13 24
356                , srcInfoPoints = []
357                }
358              "MultiWayIf"
359          ]
360      , LanguagePragma
361          SrcSpanInfo
362            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 14 1 14 31
363            , srcInfoPoints =
364                [ SrcSpan "tests/examples/DerivingVia.hs" 14 1 14 13
365                , SrcSpan "tests/examples/DerivingVia.hs" 14 28 14 31
366                ]
367            }
368          [ Ident
369              SrcSpanInfo
370                { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 14 14 14 27
371                , srcInfoPoints = []
372                }
373              "TypeOperators"
374          ]
375      , LanguagePragma
376          SrcSpanInfo
377            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 15 1 15 37
378            , srcInfoPoints =
379                [ SrcSpan "tests/examples/DerivingVia.hs" 15 1 15 13
380                , SrcSpan "tests/examples/DerivingVia.hs" 15 34 15 37
381                ]
382            }
383          [ Ident
384              SrcSpanInfo
385                { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 15 14 15 33
386                , srcInfoPoints = []
387                }
388              "ScopedTypeVariables"
389          ]
390      , LanguagePragma
391          SrcSpanInfo
392            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 16 1 16 35
393            , srcInfoPoints =
394                [ SrcSpan "tests/examples/DerivingVia.hs" 16 1 16 13
395                , SrcSpan "tests/examples/DerivingVia.hs" 16 32 16 35
396                ]
397            }
398          [ Ident
399              SrcSpanInfo
400                { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 16 14 16 31
401                , srcInfoPoints = []
402                }
403              "FlexibleInstances"
404          ]
405      , LanguagePragma
406          SrcSpanInfo
407            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 17 1 17 30
408            , srcInfoPoints =
409                [ SrcSpan "tests/examples/DerivingVia.hs" 17 1 17 13
410                , SrcSpan "tests/examples/DerivingVia.hs" 17 27 17 30
411                ]
412            }
413          [ Ident
414              SrcSpanInfo
415                { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 17 14 17 26
416                , srcInfoPoints = []
417                }
418              "TypeFamilies"
419          ]
420      , LanguagePragma
421          SrcSpanInfo
422            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 18 1 18 34
423            , srcInfoPoints =
424                [ SrcSpan "tests/examples/DerivingVia.hs" 18 1 18 13
425                , SrcSpan "tests/examples/DerivingVia.hs" 18 31 18 34
426                ]
427            }
428          [ Ident
429              SrcSpanInfo
430                { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 18 14 18 30
431                , srcInfoPoints = []
432                }
433              "FlexibleContexts"
434          ]
435      , LanguagePragma
436          SrcSpanInfo
437            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 19 1 19 38
438            , srcInfoPoints =
439                [ SrcSpan "tests/examples/DerivingVia.hs" 19 1 19 13
440                , SrcSpan "tests/examples/DerivingVia.hs" 19 35 19 38
441                ]
442            }
443          [ Ident
444              SrcSpanInfo
445                { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 19 14 19 34
446                , srcInfoPoints = []
447                }
448              "UndecidableInstances"
449          ]
450      ]
451      [ ImportDecl
452          { importAnn =
453              SrcSpanInfo
454                { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 22 1 22 17
455                , srcInfoPoints =
456                    [ SrcSpan "tests/examples/DerivingVia.hs" 22 1 22 7 ]
457                }
458          , importModule =
459              ModuleName
460                SrcSpanInfo
461                  { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 22 8 22 17
462                  , srcInfoPoints = []
463                  }
464                "Data.Void"
465          , importQualified = False
466          , importSrc = False
467          , importSafe = False
468          , importPkg = Nothing
469          , importAs = Nothing
470          , importSpecs = Nothing
471          }
472      , ImportDecl
473          { importAnn =
474              SrcSpanInfo
475                { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 23 1 23 20
476                , srcInfoPoints =
477                    [ SrcSpan "tests/examples/DerivingVia.hs" 23 1 23 7 ]
478                }
479          , importModule =
480              ModuleName
481                SrcSpanInfo
482                  { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 23 8 23 20
483                  , srcInfoPoints = []
484                  }
485                "Data.Complex"
486          , importQualified = False
487          , importSrc = False
488          , importSafe = False
489          , importPkg = Nothing
490          , importAs = Nothing
491          , importSpecs = Nothing
492          }
493      , ImportDecl
494          { importAnn =
495              SrcSpanInfo
496                { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 24 1 24 26
497                , srcInfoPoints =
498                    [ SrcSpan "tests/examples/DerivingVia.hs" 24 1 24 7 ]
499                }
500          , importModule =
501              ModuleName
502                SrcSpanInfo
503                  { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 24 8 24 26
504                  , srcInfoPoints = []
505                  }
506                "Data.Functor.Const"
507          , importQualified = False
508          , importSrc = False
509          , importSafe = False
510          , importPkg = Nothing
511          , importAs = Nothing
512          , importSpecs = Nothing
513          }
514      , ImportDecl
515          { importAnn =
516              SrcSpanInfo
517                { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 25 1 25 29
518                , srcInfoPoints =
519                    [ SrcSpan "tests/examples/DerivingVia.hs" 25 1 25 7 ]
520                }
521          , importModule =
522              ModuleName
523                SrcSpanInfo
524                  { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 25 8 25 29
525                  , srcInfoPoints = []
526                  }
527                "Data.Functor.Identity"
528          , importQualified = False
529          , importSrc = False
530          , importSafe = False
531          , importPkg = Nothing
532          , importAs = Nothing
533          , importSpecs = Nothing
534          }
535      , ImportDecl
536          { importAnn =
537              SrcSpanInfo
538                { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 26 1 26 18
539                , srcInfoPoints =
540                    [ SrcSpan "tests/examples/DerivingVia.hs" 26 1 26 7 ]
541                }
542          , importModule =
543              ModuleName
544                SrcSpanInfo
545                  { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 26 8 26 18
546                  , srcInfoPoints = []
547                  }
548                "Data.Ratio"
549          , importQualified = False
550          , importSrc = False
551          , importSafe = False
552          , importPkg = Nothing
553          , importAs = Nothing
554          , importSpecs = Nothing
555          }
556      , ImportDecl
557          { importAnn =
558              SrcSpanInfo
559                { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 27 1 27 28
560                , srcInfoPoints =
561                    [ SrcSpan "tests/examples/DerivingVia.hs" 27 1 27 7 ]
562                }
563          , importModule =
564              ModuleName
565                SrcSpanInfo
566                  { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 27 8 27 28
567                  , srcInfoPoints = []
568                  }
569                "Control.Monad.Reader"
570          , importQualified = False
571          , importSrc = False
572          , importSafe = False
573          , importPkg = Nothing
574          , importAs = Nothing
575          , importSpecs = Nothing
576          }
577      , ImportDecl
578          { importAnn =
579              SrcSpanInfo
580                { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 28 1 28 27
581                , srcInfoPoints =
582                    [ SrcSpan "tests/examples/DerivingVia.hs" 28 1 28 7 ]
583                }
584          , importModule =
585              ModuleName
586                SrcSpanInfo
587                  { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 28 8 28 27
588                  , srcInfoPoints = []
589                  }
590                "Control.Monad.State"
591          , importQualified = False
592          , importSrc = False
593          , importSafe = False
594          , importPkg = Nothing
595          , importAs = Nothing
596          , importSpecs = Nothing
597          }
598      , ImportDecl
599          { importAnn =
600              SrcSpanInfo
601                { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 29 1 29 28
602                , srcInfoPoints =
603                    [ SrcSpan "tests/examples/DerivingVia.hs" 29 1 29 7 ]
604                }
605          , importModule =
606              ModuleName
607                SrcSpanInfo
608                  { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 29 8 29 28
609                  , srcInfoPoints = []
610                  }
611                "Control.Monad.Writer"
612          , importQualified = False
613          , importSrc = False
614          , importSafe = False
615          , importPkg = Nothing
616          , importAs = Nothing
617          , importSpecs = Nothing
618          }
619      , ImportDecl
620          { importAnn =
621              SrcSpanInfo
622                { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 30 1 30 53
623                , srcInfoPoints =
624                    [ SrcSpan "tests/examples/DerivingVia.hs" 30 1 30 7 ]
625                }
626          , importModule =
627              ModuleName
628                SrcSpanInfo
629                  { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 30 8 30 27
630                  , srcInfoPoints = []
631                  }
632                "Control.Applicative"
633          , importQualified = False
634          , importSrc = False
635          , importSafe = False
636          , importPkg = Nothing
637          , importAs = Nothing
638          , importSpecs =
639              Just
640                (ImportSpecList
641                   SrcSpanInfo
642                     { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 30 28 30 53
643                     , srcInfoPoints =
644                         [ SrcSpan "tests/examples/DerivingVia.hs" 30 28 30 34
645                         , SrcSpan "tests/examples/DerivingVia.hs" 30 35 30 36
646                         , SrcSpan "tests/examples/DerivingVia.hs" 30 52 30 53
647                         ]
648                     }
649                   True
650                   [ IThingAll
651                       SrcSpanInfo
652                         { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 30 36 30 52
653                         , srcInfoPoints =
654                             [ SrcSpan "tests/examples/DerivingVia.hs" 30 48 30 49
655                             , SrcSpan "tests/examples/DerivingVia.hs" 30 49 30 51
656                             , SrcSpan "tests/examples/DerivingVia.hs" 30 51 30 52
657                             ]
658                         }
659                       (Ident
660                          SrcSpanInfo
661                            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 30 36 30 48
662                            , srcInfoPoints = []
663                            }
664                          "WrappedMonad")
665                   ])
666          }
667      , ImportDecl
668          { importAnn =
669              SrcSpanInfo
670                { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 32 1 32 22
671                , srcInfoPoints =
672                    [ SrcSpan "tests/examples/DerivingVia.hs" 32 1 32 7 ]
673                }
674          , importModule =
675              ModuleName
676                SrcSpanInfo
677                  { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 32 8 32 22
678                  , srcInfoPoints = []
679                  }
680                "Data.Bifunctor"
681          , importQualified = False
682          , importSrc = False
683          , importSafe = False
684          , importPkg = Nothing
685          , importAs = Nothing
686          , importSpecs = Nothing
687          }
688      , ImportDecl
689          { importAnn =
690              SrcSpanInfo
691                { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 33 1 33 19
692                , srcInfoPoints =
693                    [ SrcSpan "tests/examples/DerivingVia.hs" 33 1 33 7 ]
694                }
695          , importModule =
696              ModuleName
697                SrcSpanInfo
698                  { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 33 8 33 19
699                  , srcInfoPoints = []
700                  }
701                "Data.Monoid"
702          , importQualified = False
703          , importSrc = False
704          , importSafe = False
705          , importPkg = Nothing
706          , importAs = Nothing
707          , importSpecs = Nothing
708          }
709      , ImportDecl
710          { importAnn =
711              SrcSpanInfo
712                { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 34 1 34 17
713                , srcInfoPoints =
714                    [ SrcSpan "tests/examples/DerivingVia.hs" 34 1 34 7 ]
715                }
716          , importModule =
717              ModuleName
718                SrcSpanInfo
719                  { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 34 8 34 17
720                  , srcInfoPoints = []
721                  }
722                "Data.Kind"
723          , importQualified = False
724          , importSrc = False
725          , importSafe = False
726          , importPkg = Nothing
727          , importAs = Nothing
728          , importSpecs = Nothing
729          }
730      ]
731      [ TypeDecl
732          SrcSpanInfo
733            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 36 1 36 38
734            , srcInfoPoints =
735                [ SrcSpan "tests/examples/DerivingVia.hs" 36 1 36 5
736                , SrcSpan "tests/examples/DerivingVia.hs" 36 13 36 14
737                ]
738            }
739          (DHApp
740             SrcSpanInfo
741               { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 36 6 36 12
742               , srcInfoPoints = []
743               }
744             (DHInfix
745                SrcSpanInfo
746                  { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 36 6 36 12
747                  , srcInfoPoints = []
748                  }
749                (UnkindedVar
750                   SrcSpanInfo
751                     { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 36 6 36 7
752                     , srcInfoPoints = []
753                     }
754                   (Ident
755                      SrcSpanInfo
756                        { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 36 6 36 7
757                        , srcInfoPoints = []
758                        }
759                      "f"))
760                (Symbol
761                   SrcSpanInfo
762                     { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 36 8 36 10
763                     , srcInfoPoints = []
764                     }
765                   "~>"))
766             (UnkindedVar
767                SrcSpanInfo
768                  { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 36 11 36 12
769                  , srcInfoPoints = []
770                  }
771                (Ident
772                   SrcSpanInfo
773                     { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 36 11 36 12
774                     , srcInfoPoints = []
775                     }
776                   "g")))
777          (TyForall
778             SrcSpanInfo
779               { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 36 15 36 38
780               , srcInfoPoints =
781                   [ SrcSpan "tests/examples/DerivingVia.hs" 36 15 36 21
782                   , SrcSpan "tests/examples/DerivingVia.hs" 36 24 36 25
783                   ]
784               }
785             (Just
786                [ UnkindedVar
787                    SrcSpanInfo
788                      { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 36 22 36 24
789                      , srcInfoPoints = []
790                      }
791                    (Ident
792                       SrcSpanInfo
793                         { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 36 22 36 24
794                         , srcInfoPoints = []
795                         }
796                       "xx")
797                ])
798             Nothing
799             (TyFun
800                SrcSpanInfo
801                  { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 36 26 36 38
802                  , srcInfoPoints =
803                      [ SrcSpan "tests/examples/DerivingVia.hs" 36 31 36 33 ]
804                  }
805                (TyApp
806                   SrcSpanInfo
807                     { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 36 26 36 30
808                     , srcInfoPoints = []
809                     }
810                   (TyVar
811                      SrcSpanInfo
812                        { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 36 26 36 27
813                        , srcInfoPoints = []
814                        }
815                      (Ident
816                         SrcSpanInfo
817                           { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 36 26 36 27
818                           , srcInfoPoints = []
819                           }
820                         "f"))
821                   (TyVar
822                      SrcSpanInfo
823                        { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 36 28 36 30
824                        , srcInfoPoints = []
825                        }
826                      (Ident
827                         SrcSpanInfo
828                           { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 36 28 36 30
829                           , srcInfoPoints = []
830                           }
831                         "xx")))
832                (TyApp
833                   SrcSpanInfo
834                     { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 36 34 36 38
835                     , srcInfoPoints = []
836                     }
837                   (TyVar
838                      SrcSpanInfo
839                        { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 36 34 36 35
840                        , srcInfoPoints = []
841                        }
842                      (Ident
843                         SrcSpanInfo
844                           { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 36 34 36 35
845                           , srcInfoPoints = []
846                           }
847                         "g"))
848                   (TyVar
849                      SrcSpanInfo
850                        { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 36 36 36 38
851                        , srcInfoPoints = []
852                        }
853                      (Ident
854                         SrcSpanInfo
855                           { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 36 36 36 38
856                           , srcInfoPoints = []
857                           }
858                         "xx")))))
859      , DataDecl
860          SrcSpanInfo
861            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 42 1 43 16
862            , srcInfoPoints =
863                [ SrcSpan "tests/examples/DerivingVia.hs" 42 12 42 13 ]
864            }
865          (DataType
866             SrcSpanInfo
867               { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 42 1 42 5
868               , srcInfoPoints = []
869               })
870          Nothing
871          (DHApp
872             SrcSpanInfo
873               { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 42 6 42 11
874               , srcInfoPoints = []
875               }
876             (DHead
877                SrcSpanInfo
878                  { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 42 6 42 9
879                  , srcInfoPoints = []
880                  }
881                (Ident
882                   SrcSpanInfo
883                     { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 42 6 42 9
884                     , srcInfoPoints = []
885                     }
886                   "Foo"))
887             (UnkindedVar
888                SrcSpanInfo
889                  { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 42 10 42 11
890                  , srcInfoPoints = []
891                  }
892                (Ident
893                   SrcSpanInfo
894                     { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 42 10 42 11
895                     , srcInfoPoints = []
896                     }
897                   "a")))
898          [ QualConDecl
899              SrcSpanInfo
900                { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 42 14 42 23
901                , srcInfoPoints = []
902                }
903              Nothing
904              Nothing
905              (ConDecl
906                 SrcSpanInfo
907                   { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 42 14 42 23
908                   , srcInfoPoints = []
909                   }
910                 (Ident
911                    SrcSpanInfo
912                      { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 42 14 42 19
913                      , srcInfoPoints = []
914                      }
915                    "MkFoo")
916                 [ TyVar
917                     SrcSpanInfo
918                       { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 42 20 42 21
919                       , srcInfoPoints = []
920                       }
921                     (Ident
922                        SrcSpanInfo
923                          { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 42 20 42 21
924                          , srcInfoPoints = []
925                          }
926                        "a")
927                 , TyVar
928                     SrcSpanInfo
929                       { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 42 22 42 23
930                       , srcInfoPoints = []
931                       }
932                     (Ident
933                        SrcSpanInfo
934                          { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 42 22 42 23
935                          , srcInfoPoints = []
936                          }
937                        "a")
938                 ])
939          ]
940          [ Deriving
941              SrcSpanInfo
942                { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 43 3 43 16
943                , srcInfoPoints =
944                    [ SrcSpan "tests/examples/DerivingVia.hs" 43 3 43 11 ]
945                }
946              (Just
947                 (DerivVia
948                    SrcSpanInfo
949                      { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 44 8 44 11
950                      , srcInfoPoints = []
951                      }
952                    (TyParen
953                       SrcSpanInfo
954                         { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 44 12 44 30
955                         , srcInfoPoints =
956                             [ SrcSpan "tests/examples/DerivingVia.hs" 44 12 44 13
957                             , SrcSpan "tests/examples/DerivingVia.hs" 44 29 44 30
958                             ]
959                         }
960                       (TyApp
961                          SrcSpanInfo
962                            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 44 13 44 29
963                            , srcInfoPoints = []
964                            }
965                          (TyCon
966                             SrcSpanInfo
967                               { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 44 13 44 21
968                               , srcInfoPoints = []
969                               }
970                             (UnQual
971                                SrcSpanInfo
972                                  { srcInfoSpan =
973                                      SrcSpan "tests/examples/DerivingVia.hs" 44 13 44 21
974                                  , srcInfoPoints = []
975                                  }
976                                (Ident
977                                   SrcSpanInfo
978                                     { srcInfoSpan =
979                                         SrcSpan "tests/examples/DerivingVia.hs" 44 13 44 21
980                                     , srcInfoPoints = []
981                                     }
982                                   "Identity")))
983                          (TyParen
984                             SrcSpanInfo
985                               { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 44 22 44 29
986                               , srcInfoPoints =
987                                   [ SrcSpan "tests/examples/DerivingVia.hs" 44 22 44 23
988                                   , SrcSpan "tests/examples/DerivingVia.hs" 44 28 44 29
989                                   ]
990                               }
991                             (TyApp
992                                SrcSpanInfo
993                                  { srcInfoSpan =
994                                      SrcSpan "tests/examples/DerivingVia.hs" 44 23 44 28
995                                  , srcInfoPoints = []
996                                  }
997                                (TyCon
998                                   SrcSpanInfo
999                                     { srcInfoSpan =
1000                                         SrcSpan "tests/examples/DerivingVia.hs" 44 23 44 26
1001                                     , srcInfoPoints = []
1002                                     }
1003                                   (UnQual
1004                                      SrcSpanInfo
1005                                        { srcInfoSpan =
1006                                            SrcSpan "tests/examples/DerivingVia.hs" 44 23 44 26
1007                                        , srcInfoPoints = []
1008                                        }
1009                                      (Ident
1010                                         SrcSpanInfo
1011                                           { srcInfoSpan =
1012                                               SrcSpan "tests/examples/DerivingVia.hs" 44 23 44 26
1013                                           , srcInfoPoints = []
1014                                           }
1015                                         "Foo")))
1016                                (TyVar
1017                                   SrcSpanInfo
1018                                     { srcInfoSpan =
1019                                         SrcSpan "tests/examples/DerivingVia.hs" 44 27 44 28
1020                                     , srcInfoPoints = []
1021                                     }
1022                                   (Ident
1023                                      SrcSpanInfo
1024                                        { srcInfoSpan =
1025                                            SrcSpan "tests/examples/DerivingVia.hs" 44 27 44 28
1026                                        , srcInfoPoints = []
1027                                        }
1028                                      "a"))))))))
1029              [ IRule
1030                  SrcSpanInfo
1031                    { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 43 12 43 16
1032                    , srcInfoPoints = []
1033                    }
1034                  Nothing
1035                  Nothing
1036                  (IHCon
1037                     SrcSpanInfo
1038                       { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 43 12 43 16
1039                       , srcInfoPoints = []
1040                       }
1041                     (UnQual
1042                        SrcSpanInfo
1043                          { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 43 12 43 16
1044                          , srcInfoPoints = []
1045                          }
1046                        (Ident
1047                           SrcSpanInfo
1048                             { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 43 12 43 16
1049                             , srcInfoPoints = []
1050                             }
1051                           "Show")))
1052              ]
1053          ]
1054      , DataDecl
1055          SrcSpanInfo
1056            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 50 1 50 47
1057            , srcInfoPoints =
1058                [ SrcSpan "tests/examples/DerivingVia.hs" 50 20 50 21 ]
1059            }
1060          (NewType
1061             SrcSpanInfo
1062               { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 50 1 50 8
1063               , srcInfoPoints = []
1064               })
1065          Nothing
1066          (DHApp
1067             SrcSpanInfo
1068               { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 50 9 50 19
1069               , srcInfoPoints = []
1070               }
1071             (DHApp
1072                SrcSpanInfo
1073                  { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 50 9 50 17
1074                  , srcInfoPoints = []
1075                  }
1076                (DHApp
1077                   SrcSpanInfo
1078                     { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 50 9 50 15
1079                     , srcInfoPoints = []
1080                     }
1081                   (DHead
1082                      SrcSpanInfo
1083                        { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 50 9 50 13
1084                        , srcInfoPoints = []
1085                        }
1086                      (Ident
1087                         SrcSpanInfo
1088                           { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 50 9 50 13
1089                           , srcInfoPoints = []
1090                           }
1091                         "Flip"))
1092                   (UnkindedVar
1093                      SrcSpanInfo
1094                        { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 50 14 50 15
1095                        , srcInfoPoints = []
1096                        }
1097                      (Ident
1098                         SrcSpanInfo
1099                           { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 50 14 50 15
1100                           , srcInfoPoints = []
1101                           }
1102                         "p")))
1103                (UnkindedVar
1104                   SrcSpanInfo
1105                     { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 50 16 50 17
1106                     , srcInfoPoints = []
1107                     }
1108                   (Ident
1109                      SrcSpanInfo
1110                        { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 50 16 50 17
1111                        , srcInfoPoints = []
1112                        }
1113                      "a")))
1114             (UnkindedVar
1115                SrcSpanInfo
1116                  { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 50 18 50 19
1117                  , srcInfoPoints = []
1118                  }
1119                (Ident
1120                   SrcSpanInfo
1121                     { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 50 18 50 19
1122                     , srcInfoPoints = []
1123                     }
1124                   "b")))
1125          [ QualConDecl
1126              SrcSpanInfo
1127                { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 50 22 50 47
1128                , srcInfoPoints =
1129                    [ SrcSpan "tests/examples/DerivingVia.hs" 50 27 50 28
1130                    , SrcSpan "tests/examples/DerivingVia.hs" 50 46 50 47
1131                    ]
1132                }
1133              Nothing
1134              Nothing
1135              (RecDecl
1136                 SrcSpanInfo
1137                   { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 50 22 50 47
1138                   , srcInfoPoints =
1139                       [ SrcSpan "tests/examples/DerivingVia.hs" 50 27 50 28
1140                       , SrcSpan "tests/examples/DerivingVia.hs" 50 46 50 47
1141                       ]
1142                   }
1143                 (Ident
1144                    SrcSpanInfo
1145                      { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 50 22 50 26
1146                      , srcInfoPoints = []
1147                      }
1148                    "Flip")
1149                 [ FieldDecl
1150                     SrcSpanInfo
1151                       { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 50 29 50 45
1152                       , srcInfoPoints =
1153                           [ SrcSpan "tests/examples/DerivingVia.hs" 50 37 50 39 ]
1154                       }
1155                     [ Ident
1156                         SrcSpanInfo
1157                           { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 50 29 50 36
1158                           , srcInfoPoints = []
1159                           }
1160                         "runFlip"
1161                     ]
1162                     (TyApp
1163                        SrcSpanInfo
1164                          { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 50 40 50 45
1165                          , srcInfoPoints = []
1166                          }
1167                        (TyApp
1168                           SrcSpanInfo
1169                             { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 50 40 50 43
1170                             , srcInfoPoints = []
1171                             }
1172                           (TyVar
1173                              SrcSpanInfo
1174                                { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 50 40 50 41
1175                                , srcInfoPoints = []
1176                                }
1177                              (Ident
1178                                 SrcSpanInfo
1179                                   { srcInfoSpan =
1180                                       SrcSpan "tests/examples/DerivingVia.hs" 50 40 50 41
1181                                   , srcInfoPoints = []
1182                                   }
1183                                 "p"))
1184                           (TyVar
1185                              SrcSpanInfo
1186                                { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 50 42 50 43
1187                                , srcInfoPoints = []
1188                                }
1189                              (Ident
1190                                 SrcSpanInfo
1191                                   { srcInfoSpan =
1192                                       SrcSpan "tests/examples/DerivingVia.hs" 50 42 50 43
1193                                   , srcInfoPoints = []
1194                                   }
1195                                 "b")))
1196                        (TyVar
1197                           SrcSpanInfo
1198                             { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 50 44 50 45
1199                             , srcInfoPoints = []
1200                             }
1201                           (Ident
1202                              SrcSpanInfo
1203                                { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 50 44 50 45
1204                                , srcInfoPoints = []
1205                                }
1206                              "a")))
1207                 ])
1208          ]
1209          []
1210      , InstDecl
1211          SrcSpanInfo
1212            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 52 1 55 0
1213            , srcInfoPoints =
1214                [ SrcSpan "tests/examples/DerivingVia.hs" 52 1 52 9
1215                , SrcSpan "tests/examples/DerivingVia.hs" 52 44 52 49
1216                , SrcSpan "tests/examples/DerivingVia.hs" 53 3 53 3
1217                , SrcSpan "tests/examples/DerivingVia.hs" 55 1 55 0
1218                ]
1219            }
1220          Nothing
1221          (IRule
1222             SrcSpanInfo
1223               { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 52 10 52 43
1224               , srcInfoPoints = []
1225               }
1226             Nothing
1227             (Just
1228                (CxSingle
1229                   SrcSpanInfo
1230                     { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 52 10 52 24
1231                     , srcInfoPoints =
1232                         [ SrcSpan "tests/examples/DerivingVia.hs" 52 22 52 24 ]
1233                     }
1234                   (TypeA
1235                      SrcSpanInfo
1236                        { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 52 10 52 24
1237                        , srcInfoPoints =
1238                            [ SrcSpan "tests/examples/DerivingVia.hs" 52 22 52 24 ]
1239                        }
1240                      (TyApp
1241                         SrcSpanInfo
1242                           { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 52 10 52 24
1243                           , srcInfoPoints =
1244                               [ SrcSpan "tests/examples/DerivingVia.hs" 52 22 52 24 ]
1245                           }
1246                         (TyCon
1247                            SrcSpanInfo
1248                              { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 52 10 52 24
1249                              , srcInfoPoints =
1250                                  [ SrcSpan "tests/examples/DerivingVia.hs" 52 22 52 24 ]
1251                              }
1252                            (UnQual
1253                               SrcSpanInfo
1254                                 { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 52 10 52 19
1255                                 , srcInfoPoints = []
1256                                 }
1257                               (Ident
1258                                  SrcSpanInfo
1259                                    { srcInfoSpan =
1260                                        SrcSpan "tests/examples/DerivingVia.hs" 52 10 52 19
1261                                    , srcInfoPoints = []
1262                                    }
1263                                  "Bifunctor")))
1264                         (TyVar
1265                            SrcSpanInfo
1266                              { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 52 20 52 21
1267                              , srcInfoPoints = []
1268                              }
1269                            (Ident
1270                               SrcSpanInfo
1271                                 { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 52 20 52 21
1272                                 , srcInfoPoints = []
1273                                 }
1274                               "p"))))))
1275             (IHApp
1276                SrcSpanInfo
1277                  { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 52 25 52 43
1278                  , srcInfoPoints = []
1279                  }
1280                (IHCon
1281                   SrcSpanInfo
1282                     { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 52 25 52 34
1283                     , srcInfoPoints = []
1284                     }
1285                   (UnQual
1286                      SrcSpanInfo
1287                        { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 52 25 52 34
1288                        , srcInfoPoints = []
1289                        }
1290                      (Ident
1291                         SrcSpanInfo
1292                           { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 52 25 52 34
1293                           , srcInfoPoints = []
1294                           }
1295                         "Bifunctor")))
1296                (TyParen
1297                   SrcSpanInfo
1298                     { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 52 35 52 43
1299                     , srcInfoPoints =
1300                         [ SrcSpan "tests/examples/DerivingVia.hs" 52 35 52 36
1301                         , SrcSpan "tests/examples/DerivingVia.hs" 52 42 52 43
1302                         ]
1303                     }
1304                   (TyApp
1305                      SrcSpanInfo
1306                        { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 52 36 52 42
1307                        , srcInfoPoints = []
1308                        }
1309                      (TyCon
1310                         SrcSpanInfo
1311                           { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 52 36 52 40
1312                           , srcInfoPoints = []
1313                           }
1314                         (UnQual
1315                            SrcSpanInfo
1316                              { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 52 36 52 40
1317                              , srcInfoPoints = []
1318                              }
1319                            (Ident
1320                               SrcSpanInfo
1321                                 { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 52 36 52 40
1322                                 , srcInfoPoints = []
1323                                 }
1324                               "Flip")))
1325                      (TyVar
1326                         SrcSpanInfo
1327                           { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 52 41 52 42
1328                           , srcInfoPoints = []
1329                           }
1330                         (Ident
1331                            SrcSpanInfo
1332                              { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 52 41 52 42
1333                              , srcInfoPoints = []
1334                              }
1335                            "p"))))))
1336          (Just
1337             [ InsDecl
1338                 SrcSpanInfo
1339                   { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 53 3 53 41
1340                   , srcInfoPoints = []
1341                   }
1342                 (FunBind
1343                    SrcSpanInfo
1344                      { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 53 3 53 41
1345                      , srcInfoPoints = []
1346                      }
1347                    [ Match
1348                        SrcSpanInfo
1349                          { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 53 3 53 41
1350                          , srcInfoPoints = []
1351                          }
1352                        (Ident
1353                           SrcSpanInfo
1354                             { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 53 3 53 8
1355                             , srcInfoPoints = []
1356                             }
1357                           "bimap")
1358                        [ PVar
1359                            SrcSpanInfo
1360                              { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 53 9 53 10
1361                              , srcInfoPoints = []
1362                              }
1363                            (Ident
1364                               SrcSpanInfo
1365                                 { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 53 9 53 10
1366                                 , srcInfoPoints = []
1367                                 }
1368                               "f")
1369                        , PVar
1370                            SrcSpanInfo
1371                              { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 53 11 53 12
1372                              , srcInfoPoints = []
1373                              }
1374                            (Ident
1375                               SrcSpanInfo
1376                                 { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 53 11 53 12
1377                                 , srcInfoPoints = []
1378                                 }
1379                               "g")
1380                        ]
1381                        (UnGuardedRhs
1382                           SrcSpanInfo
1383                             { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 53 13 53 41
1384                             , srcInfoPoints =
1385                                 [ SrcSpan "tests/examples/DerivingVia.hs" 53 13 53 14 ]
1386                             }
1387                           (InfixApp
1388                              SrcSpanInfo
1389                                { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 53 15 53 41
1390                                , srcInfoPoints = []
1391                                }
1392                              (Con
1393                                 SrcSpanInfo
1394                                   { srcInfoSpan =
1395                                       SrcSpan "tests/examples/DerivingVia.hs" 53 15 53 19
1396                                   , srcInfoPoints = []
1397                                   }
1398                                 (UnQual
1399                                    SrcSpanInfo
1400                                      { srcInfoSpan =
1401                                          SrcSpan "tests/examples/DerivingVia.hs" 53 15 53 19
1402                                      , srcInfoPoints = []
1403                                      }
1404                                    (Ident
1405                                       SrcSpanInfo
1406                                         { srcInfoSpan =
1407                                             SrcSpan "tests/examples/DerivingVia.hs" 53 15 53 19
1408                                         , srcInfoPoints = []
1409                                         }
1410                                       "Flip")))
1411                              (QVarOp
1412                                 SrcSpanInfo
1413                                   { srcInfoSpan =
1414                                       SrcSpan "tests/examples/DerivingVia.hs" 53 20 53 21
1415                                   , srcInfoPoints = []
1416                                   }
1417                                 (UnQual
1418                                    SrcSpanInfo
1419                                      { srcInfoSpan =
1420                                          SrcSpan "tests/examples/DerivingVia.hs" 53 20 53 21
1421                                      , srcInfoPoints = []
1422                                      }
1423                                    (Symbol
1424                                       SrcSpanInfo
1425                                         { srcInfoSpan =
1426                                             SrcSpan "tests/examples/DerivingVia.hs" 53 20 53 21
1427                                         , srcInfoPoints = []
1428                                         }
1429                                       ".")))
1430                              (InfixApp
1431                                 SrcSpanInfo
1432                                   { srcInfoSpan =
1433                                       SrcSpan "tests/examples/DerivingVia.hs" 53 22 53 41
1434                                   , srcInfoPoints = []
1435                                   }
1436                                 (App
1437                                    SrcSpanInfo
1438                                      { srcInfoSpan =
1439                                          SrcSpan "tests/examples/DerivingVia.hs" 53 22 53 31
1440                                      , srcInfoPoints = []
1441                                      }
1442                                    (App
1443                                       SrcSpanInfo
1444                                         { srcInfoSpan =
1445                                             SrcSpan "tests/examples/DerivingVia.hs" 53 22 53 29
1446                                         , srcInfoPoints = []
1447                                         }
1448                                       (Var
1449                                          SrcSpanInfo
1450                                            { srcInfoSpan =
1451                                                SrcSpan "tests/examples/DerivingVia.hs" 53 22 53 27
1452                                            , srcInfoPoints = []
1453                                            }
1454                                          (UnQual
1455                                             SrcSpanInfo
1456                                               { srcInfoSpan =
1457                                                   SrcSpan
1458                                                     "tests/examples/DerivingVia.hs" 53 22 53 27
1459                                               , srcInfoPoints = []
1460                                               }
1461                                             (Ident
1462                                                SrcSpanInfo
1463                                                  { srcInfoSpan =
1464                                                      SrcSpan
1465                                                        "tests/examples/DerivingVia.hs" 53 22 53 27
1466                                                  , srcInfoPoints = []
1467                                                  }
1468                                                "bimap")))
1469                                       (Var
1470                                          SrcSpanInfo
1471                                            { srcInfoSpan =
1472                                                SrcSpan "tests/examples/DerivingVia.hs" 53 28 53 29
1473                                            , srcInfoPoints = []
1474                                            }
1475                                          (UnQual
1476                                             SrcSpanInfo
1477                                               { srcInfoSpan =
1478                                                   SrcSpan
1479                                                     "tests/examples/DerivingVia.hs" 53 28 53 29
1480                                               , srcInfoPoints = []
1481                                               }
1482                                             (Ident
1483                                                SrcSpanInfo
1484                                                  { srcInfoSpan =
1485                                                      SrcSpan
1486                                                        "tests/examples/DerivingVia.hs" 53 28 53 29
1487                                                  , srcInfoPoints = []
1488                                                  }
1489                                                "g"))))
1490                                    (Var
1491                                       SrcSpanInfo
1492                                         { srcInfoSpan =
1493                                             SrcSpan "tests/examples/DerivingVia.hs" 53 30 53 31
1494                                         , srcInfoPoints = []
1495                                         }
1496                                       (UnQual
1497                                          SrcSpanInfo
1498                                            { srcInfoSpan =
1499                                                SrcSpan "tests/examples/DerivingVia.hs" 53 30 53 31
1500                                            , srcInfoPoints = []
1501                                            }
1502                                          (Ident
1503                                             SrcSpanInfo
1504                                               { srcInfoSpan =
1505                                                   SrcSpan
1506                                                     "tests/examples/DerivingVia.hs" 53 30 53 31
1507                                               , srcInfoPoints = []
1508                                               }
1509                                             "f"))))
1510                                 (QVarOp
1511                                    SrcSpanInfo
1512                                      { srcInfoSpan =
1513                                          SrcSpan "tests/examples/DerivingVia.hs" 53 32 53 33
1514                                      , srcInfoPoints = []
1515                                      }
1516                                    (UnQual
1517                                       SrcSpanInfo
1518                                         { srcInfoSpan =
1519                                             SrcSpan "tests/examples/DerivingVia.hs" 53 32 53 33
1520                                         , srcInfoPoints = []
1521                                         }
1522                                       (Symbol
1523                                          SrcSpanInfo
1524                                            { srcInfoSpan =
1525                                                SrcSpan "tests/examples/DerivingVia.hs" 53 32 53 33
1526                                            , srcInfoPoints = []
1527                                            }
1528                                          ".")))
1529                                 (Var
1530                                    SrcSpanInfo
1531                                      { srcInfoSpan =
1532                                          SrcSpan "tests/examples/DerivingVia.hs" 53 34 53 41
1533                                      , srcInfoPoints = []
1534                                      }
1535                                    (UnQual
1536                                       SrcSpanInfo
1537                                         { srcInfoSpan =
1538                                             SrcSpan "tests/examples/DerivingVia.hs" 53 34 53 41
1539                                         , srcInfoPoints = []
1540                                         }
1541                                       (Ident
1542                                          SrcSpanInfo
1543                                            { srcInfoSpan =
1544                                                SrcSpan "tests/examples/DerivingVia.hs" 53 34 53 41
1545                                            , srcInfoPoints = []
1546                                            }
1547                                          "runFlip"))))))
1548                        Nothing
1549                    ])
1550             ])
1551      , InstDecl
1552          SrcSpanInfo
1553            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 55 1 58 0
1554            , srcInfoPoints =
1555                [ SrcSpan "tests/examples/DerivingVia.hs" 55 1 55 9
1556                , SrcSpan "tests/examples/DerivingVia.hs" 55 44 55 49
1557                , SrcSpan "tests/examples/DerivingVia.hs" 56 3 56 3
1558                , SrcSpan "tests/examples/DerivingVia.hs" 58 1 58 0
1559                ]
1560            }
1561          Nothing
1562          (IRule
1563             SrcSpanInfo
1564               { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 55 10 55 43
1565               , srcInfoPoints = []
1566               }
1567             Nothing
1568             (Just
1569                (CxSingle
1570                   SrcSpanInfo
1571                     { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 55 10 55 24
1572                     , srcInfoPoints =
1573                         [ SrcSpan "tests/examples/DerivingVia.hs" 55 22 55 24 ]
1574                     }
1575                   (TypeA
1576                      SrcSpanInfo
1577                        { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 55 10 55 24
1578                        , srcInfoPoints =
1579                            [ SrcSpan "tests/examples/DerivingVia.hs" 55 22 55 24 ]
1580                        }
1581                      (TyApp
1582                         SrcSpanInfo
1583                           { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 55 10 55 24
1584                           , srcInfoPoints =
1585                               [ SrcSpan "tests/examples/DerivingVia.hs" 55 22 55 24 ]
1586                           }
1587                         (TyCon
1588                            SrcSpanInfo
1589                              { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 55 10 55 24
1590                              , srcInfoPoints =
1591                                  [ SrcSpan "tests/examples/DerivingVia.hs" 55 22 55 24 ]
1592                              }
1593                            (UnQual
1594                               SrcSpanInfo
1595                                 { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 55 10 55 19
1596                                 , srcInfoPoints = []
1597                                 }
1598                               (Ident
1599                                  SrcSpanInfo
1600                                    { srcInfoSpan =
1601                                        SrcSpan "tests/examples/DerivingVia.hs" 55 10 55 19
1602                                    , srcInfoPoints = []
1603                                    }
1604                                  "Bifunctor")))
1605                         (TyVar
1606                            SrcSpanInfo
1607                              { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 55 20 55 21
1608                              , srcInfoPoints = []
1609                              }
1610                            (Ident
1611                               SrcSpanInfo
1612                                 { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 55 20 55 21
1613                                 , srcInfoPoints = []
1614                                 }
1615                               "p"))))))
1616             (IHApp
1617                SrcSpanInfo
1618                  { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 55 25 55 43
1619                  , srcInfoPoints = []
1620                  }
1621                (IHCon
1622                   SrcSpanInfo
1623                     { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 55 25 55 32
1624                     , srcInfoPoints = []
1625                     }
1626                   (UnQual
1627                      SrcSpanInfo
1628                        { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 55 25 55 32
1629                        , srcInfoPoints = []
1630                        }
1631                      (Ident
1632                         SrcSpanInfo
1633                           { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 55 25 55 32
1634                           , srcInfoPoints = []
1635                           }
1636                         "Functor")))
1637                (TyParen
1638                   SrcSpanInfo
1639                     { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 55 33 55 43
1640                     , srcInfoPoints =
1641                         [ SrcSpan "tests/examples/DerivingVia.hs" 55 33 55 34
1642                         , SrcSpan "tests/examples/DerivingVia.hs" 55 42 55 43
1643                         ]
1644                     }
1645                   (TyApp
1646                      SrcSpanInfo
1647                        { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 55 34 55 42
1648                        , srcInfoPoints = []
1649                        }
1650                      (TyApp
1651                         SrcSpanInfo
1652                           { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 55 34 55 40
1653                           , srcInfoPoints = []
1654                           }
1655                         (TyCon
1656                            SrcSpanInfo
1657                              { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 55 34 55 38
1658                              , srcInfoPoints = []
1659                              }
1660                            (UnQual
1661                               SrcSpanInfo
1662                                 { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 55 34 55 38
1663                                 , srcInfoPoints = []
1664                                 }
1665                               (Ident
1666                                  SrcSpanInfo
1667                                    { srcInfoSpan =
1668                                        SrcSpan "tests/examples/DerivingVia.hs" 55 34 55 38
1669                                    , srcInfoPoints = []
1670                                    }
1671                                  "Flip")))
1672                         (TyVar
1673                            SrcSpanInfo
1674                              { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 55 39 55 40
1675                              , srcInfoPoints = []
1676                              }
1677                            (Ident
1678                               SrcSpanInfo
1679                                 { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 55 39 55 40
1680                                 , srcInfoPoints = []
1681                                 }
1682                               "p")))
1683                      (TyVar
1684                         SrcSpanInfo
1685                           { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 55 41 55 42
1686                           , srcInfoPoints = []
1687                           }
1688                         (Ident
1689                            SrcSpanInfo
1690                              { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 55 41 55 42
1691                              , srcInfoPoints = []
1692                              }
1693                            "a"))))))
1694          (Just
1695             [ InsDecl
1696                 SrcSpanInfo
1697                   { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 56 3 56 36
1698                   , srcInfoPoints = []
1699                   }
1700                 (FunBind
1701                    SrcSpanInfo
1702                      { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 56 3 56 36
1703                      , srcInfoPoints = []
1704                      }
1705                    [ Match
1706                        SrcSpanInfo
1707                          { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 56 3 56 36
1708                          , srcInfoPoints = []
1709                          }
1710                        (Ident
1711                           SrcSpanInfo
1712                             { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 56 3 56 7
1713                             , srcInfoPoints = []
1714                             }
1715                           "fmap")
1716                        [ PVar
1717                            SrcSpanInfo
1718                              { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 56 8 56 9
1719                              , srcInfoPoints = []
1720                              }
1721                            (Ident
1722                               SrcSpanInfo
1723                                 { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 56 8 56 9
1724                                 , srcInfoPoints = []
1725                                 }
1726                               "f")
1727                        ]
1728                        (UnGuardedRhs
1729                           SrcSpanInfo
1730                             { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 56 10 56 36
1731                             , srcInfoPoints =
1732                                 [ SrcSpan "tests/examples/DerivingVia.hs" 56 10 56 11 ]
1733                             }
1734                           (InfixApp
1735                              SrcSpanInfo
1736                                { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 56 12 56 36
1737                                , srcInfoPoints = []
1738                                }
1739                              (Con
1740                                 SrcSpanInfo
1741                                   { srcInfoSpan =
1742                                       SrcSpan "tests/examples/DerivingVia.hs" 56 12 56 16
1743                                   , srcInfoPoints = []
1744                                   }
1745                                 (UnQual
1746                                    SrcSpanInfo
1747                                      { srcInfoSpan =
1748                                          SrcSpan "tests/examples/DerivingVia.hs" 56 12 56 16
1749                                      , srcInfoPoints = []
1750                                      }
1751                                    (Ident
1752                                       SrcSpanInfo
1753                                         { srcInfoSpan =
1754                                             SrcSpan "tests/examples/DerivingVia.hs" 56 12 56 16
1755                                         , srcInfoPoints = []
1756                                         }
1757                                       "Flip")))
1758                              (QVarOp
1759                                 SrcSpanInfo
1760                                   { srcInfoSpan =
1761                                       SrcSpan "tests/examples/DerivingVia.hs" 56 17 56 18
1762                                   , srcInfoPoints = []
1763                                   }
1764                                 (UnQual
1765                                    SrcSpanInfo
1766                                      { srcInfoSpan =
1767                                          SrcSpan "tests/examples/DerivingVia.hs" 56 17 56 18
1768                                      , srcInfoPoints = []
1769                                      }
1770                                    (Symbol
1771                                       SrcSpanInfo
1772                                         { srcInfoSpan =
1773                                             SrcSpan "tests/examples/DerivingVia.hs" 56 17 56 18
1774                                         , srcInfoPoints = []
1775                                         }
1776                                       ".")))
1777                              (InfixApp
1778                                 SrcSpanInfo
1779                                   { srcInfoSpan =
1780                                       SrcSpan "tests/examples/DerivingVia.hs" 56 19 56 36
1781                                   , srcInfoPoints = []
1782                                   }
1783                                 (App
1784                                    SrcSpanInfo
1785                                      { srcInfoSpan =
1786                                          SrcSpan "tests/examples/DerivingVia.hs" 56 19 56 26
1787                                      , srcInfoPoints = []
1788                                      }
1789                                    (Var
1790                                       SrcSpanInfo
1791                                         { srcInfoSpan =
1792                                             SrcSpan "tests/examples/DerivingVia.hs" 56 19 56 24
1793                                         , srcInfoPoints = []
1794                                         }
1795                                       (UnQual
1796                                          SrcSpanInfo
1797                                            { srcInfoSpan =
1798                                                SrcSpan "tests/examples/DerivingVia.hs" 56 19 56 24
1799                                            , srcInfoPoints = []
1800                                            }
1801                                          (Ident
1802                                             SrcSpanInfo
1803                                               { srcInfoSpan =
1804                                                   SrcSpan
1805                                                     "tests/examples/DerivingVia.hs" 56 19 56 24
1806                                               , srcInfoPoints = []
1807                                               }
1808                                             "first")))
1809                                    (Var
1810                                       SrcSpanInfo
1811                                         { srcInfoSpan =
1812                                             SrcSpan "tests/examples/DerivingVia.hs" 56 25 56 26
1813                                         , srcInfoPoints = []
1814                                         }
1815                                       (UnQual
1816                                          SrcSpanInfo
1817                                            { srcInfoSpan =
1818                                                SrcSpan "tests/examples/DerivingVia.hs" 56 25 56 26
1819                                            , srcInfoPoints = []
1820                                            }
1821                                          (Ident
1822                                             SrcSpanInfo
1823                                               { srcInfoSpan =
1824                                                   SrcSpan
1825                                                     "tests/examples/DerivingVia.hs" 56 25 56 26
1826                                               , srcInfoPoints = []
1827                                               }
1828                                             "f"))))
1829                                 (QVarOp
1830                                    SrcSpanInfo
1831                                      { srcInfoSpan =
1832                                          SrcSpan "tests/examples/DerivingVia.hs" 56 27 56 28
1833                                      , srcInfoPoints = []
1834                                      }
1835                                    (UnQual
1836                                       SrcSpanInfo
1837                                         { srcInfoSpan =
1838                                             SrcSpan "tests/examples/DerivingVia.hs" 56 27 56 28
1839                                         , srcInfoPoints = []
1840                                         }
1841                                       (Symbol
1842                                          SrcSpanInfo
1843                                            { srcInfoSpan =
1844                                                SrcSpan "tests/examples/DerivingVia.hs" 56 27 56 28
1845                                            , srcInfoPoints = []
1846                                            }
1847                                          ".")))
1848                                 (Var
1849                                    SrcSpanInfo
1850                                      { srcInfoSpan =
1851                                          SrcSpan "tests/examples/DerivingVia.hs" 56 29 56 36
1852                                      , srcInfoPoints = []
1853                                      }
1854                                    (UnQual
1855                                       SrcSpanInfo
1856                                         { srcInfoSpan =
1857                                             SrcSpan "tests/examples/DerivingVia.hs" 56 29 56 36
1858                                         , srcInfoPoints = []
1859                                         }
1860                                       (Ident
1861                                          SrcSpanInfo
1862                                            { srcInfoSpan =
1863                                                SrcSpan "tests/examples/DerivingVia.hs" 56 29 56 36
1864                                            , srcInfoPoints = []
1865                                            }
1866                                          "runFlip"))))))
1867                        Nothing
1868                    ])
1869             ])
1870      , DataDecl
1871          SrcSpanInfo
1872            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 58 1 59 19
1873            , srcInfoPoints =
1874                [ SrcSpan "tests/examples/DerivingVia.hs" 58 15 58 16 ]
1875            }
1876          (NewType
1877             SrcSpanInfo
1878               { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 58 1 58 8
1879               , srcInfoPoints = []
1880               })
1881          Nothing
1882          (DHApp
1883             SrcSpanInfo
1884               { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 58 9 58 14
1885               , srcInfoPoints = []
1886               }
1887             (DHead
1888                SrcSpanInfo
1889                  { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 58 9 58 12
1890                  , srcInfoPoints = []
1891                  }
1892                (Ident
1893                   SrcSpanInfo
1894                     { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 58 9 58 12
1895                     , srcInfoPoints = []
1896                     }
1897                   "Bar"))
1898             (UnkindedVar
1899                SrcSpanInfo
1900                  { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 58 13 58 14
1901                  , srcInfoPoints = []
1902                  }
1903                (Ident
1904                   SrcSpanInfo
1905                     { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 58 13 58 14
1906                     , srcInfoPoints = []
1907                     }
1908                   "a")))
1909          [ QualConDecl
1910              SrcSpanInfo
1911                { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 58 17 58 37
1912                , srcInfoPoints = []
1913                }
1914              Nothing
1915              Nothing
1916              (ConDecl
1917                 SrcSpanInfo
1918                   { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 58 17 58 37
1919                   , srcInfoPoints = []
1920                   }
1921                 (Ident
1922                    SrcSpanInfo
1923                      { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 58 17 58 22
1924                      , srcInfoPoints = []
1925                      }
1926                    "MkBar")
1927                 [ TyParen
1928                     SrcSpanInfo
1929                       { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 58 23 58 37
1930                       , srcInfoPoints =
1931                           [ SrcSpan "tests/examples/DerivingVia.hs" 58 23 58 24
1932                           , SrcSpan "tests/examples/DerivingVia.hs" 58 36 58 37
1933                           ]
1934                       }
1935                     (TyApp
1936                        SrcSpanInfo
1937                          { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 58 24 58 36
1938                          , srcInfoPoints = []
1939                          }
1940                        (TyApp
1941                           SrcSpanInfo
1942                             { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 58 24 58 32
1943                             , srcInfoPoints = []
1944                             }
1945                           (TyCon
1946                              SrcSpanInfo
1947                                { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 58 24 58 30
1948                                , srcInfoPoints = []
1949                                }
1950                              (UnQual
1951                                 SrcSpanInfo
1952                                   { srcInfoSpan =
1953                                       SrcSpan "tests/examples/DerivingVia.hs" 58 24 58 30
1954                                   , srcInfoPoints = []
1955                                   }
1956                                 (Ident
1957                                    SrcSpanInfo
1958                                      { srcInfoSpan =
1959                                          SrcSpan "tests/examples/DerivingVia.hs" 58 24 58 30
1960                                      , srcInfoPoints = []
1961                                      }
1962                                    "Either")))
1963                           (TyVar
1964                              SrcSpanInfo
1965                                { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 58 31 58 32
1966                                , srcInfoPoints = []
1967                                }
1968                              (Ident
1969                                 SrcSpanInfo
1970                                   { srcInfoSpan =
1971                                       SrcSpan "tests/examples/DerivingVia.hs" 58 31 58 32
1972                                   , srcInfoPoints = []
1973                                   }
1974                                 "a")))
1975                        (TyCon
1976                           SrcSpanInfo
1977                             { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 58 33 58 36
1978                             , srcInfoPoints = []
1979                             }
1980                           (UnQual
1981                              SrcSpanInfo
1982                                { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 58 33 58 36
1983                                , srcInfoPoints = []
1984                                }
1985                              (Ident
1986                                 SrcSpanInfo
1987                                   { srcInfoSpan =
1988                                       SrcSpan "tests/examples/DerivingVia.hs" 58 33 58 36
1989                                   , srcInfoPoints = []
1990                                   }
1991                                 "Int"))))
1992                 ])
1993          ]
1994          [ Deriving
1995              SrcSpanInfo
1996                { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 59 3 59 19
1997                , srcInfoPoints =
1998                    [ SrcSpan "tests/examples/DerivingVia.hs" 59 3 59 11 ]
1999                }
2000              (Just
2001                 (DerivVia
2002                    SrcSpanInfo
2003                      { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 60 8 60 11
2004                      , srcInfoPoints = []
2005                      }
2006                    (TyParen
2007                       SrcSpanInfo
2008                         { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 60 12 60 29
2009                         , srcInfoPoints =
2010                             [ SrcSpan "tests/examples/DerivingVia.hs" 60 12 60 13
2011                             , SrcSpan "tests/examples/DerivingVia.hs" 60 28 60 29
2012                             ]
2013                         }
2014                       (TyApp
2015                          SrcSpanInfo
2016                            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 60 13 60 28
2017                            , srcInfoPoints = []
2018                            }
2019                          (TyApp
2020                             SrcSpanInfo
2021                               { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 60 13 60 24
2022                               , srcInfoPoints = []
2023                               }
2024                             (TyCon
2025                                SrcSpanInfo
2026                                  { srcInfoSpan =
2027                                      SrcSpan "tests/examples/DerivingVia.hs" 60 13 60 17
2028                                  , srcInfoPoints = []
2029                                  }
2030                                (UnQual
2031                                   SrcSpanInfo
2032                                     { srcInfoSpan =
2033                                         SrcSpan "tests/examples/DerivingVia.hs" 60 13 60 17
2034                                     , srcInfoPoints = []
2035                                     }
2036                                   (Ident
2037                                      SrcSpanInfo
2038                                        { srcInfoSpan =
2039                                            SrcSpan "tests/examples/DerivingVia.hs" 60 13 60 17
2040                                        , srcInfoPoints = []
2041                                        }
2042                                      "Flip")))
2043                             (TyCon
2044                                SrcSpanInfo
2045                                  { srcInfoSpan =
2046                                      SrcSpan "tests/examples/DerivingVia.hs" 60 18 60 24
2047                                  , srcInfoPoints = []
2048                                  }
2049                                (UnQual
2050                                   SrcSpanInfo
2051                                     { srcInfoSpan =
2052                                         SrcSpan "tests/examples/DerivingVia.hs" 60 18 60 24
2053                                     , srcInfoPoints = []
2054                                     }
2055                                   (Ident
2056                                      SrcSpanInfo
2057                                        { srcInfoSpan =
2058                                            SrcSpan "tests/examples/DerivingVia.hs" 60 18 60 24
2059                                        , srcInfoPoints = []
2060                                        }
2061                                      "Either"))))
2062                          (TyCon
2063                             SrcSpanInfo
2064                               { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 60 25 60 28
2065                               , srcInfoPoints = []
2066                               }
2067                             (UnQual
2068                                SrcSpanInfo
2069                                  { srcInfoSpan =
2070                                      SrcSpan "tests/examples/DerivingVia.hs" 60 25 60 28
2071                                  , srcInfoPoints = []
2072                                  }
2073                                (Ident
2074                                   SrcSpanInfo
2075                                     { srcInfoSpan =
2076                                         SrcSpan "tests/examples/DerivingVia.hs" 60 25 60 28
2077                                     , srcInfoPoints = []
2078                                     }
2079                                   "Int")))))))
2080              [ IRule
2081                  SrcSpanInfo
2082                    { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 59 12 59 19
2083                    , srcInfoPoints = []
2084                    }
2085                  Nothing
2086                  Nothing
2087                  (IHCon
2088                     SrcSpanInfo
2089                       { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 59 12 59 19
2090                       , srcInfoPoints = []
2091                       }
2092                     (UnQual
2093                        SrcSpanInfo
2094                          { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 59 12 59 19
2095                          , srcInfoPoints = []
2096                          }
2097                        (Ident
2098                           SrcSpanInfo
2099                             { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 59 12 59 19
2100                             , srcInfoPoints = []
2101                             }
2102                           "Functor")))
2103              ]
2104          ]
2105      , TypeDecl
2106          SrcSpanInfo
2107            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 66 1 66 47
2108            , srcInfoPoints =
2109                [ SrcSpan "tests/examples/DerivingVia.hs" 66 1 66 5
2110                , SrcSpan "tests/examples/DerivingVia.hs" 66 13 66 14
2111                ]
2112            }
2113          (DHead
2114             SrcSpanInfo
2115               { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 66 6 66 12
2116               , srcInfoPoints = []
2117               }
2118             (Ident
2119                SrcSpanInfo
2120                  { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 66 6 66 12
2121                  , srcInfoPoints = []
2122                  }
2123                "MTrans"))
2124          (TyFun
2125             SrcSpanInfo
2126               { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 66 15 66 47
2127               , srcInfoPoints =
2128                   [ SrcSpan "tests/examples/DerivingVia.hs" 66 30 66 32 ]
2129               }
2130             (TyParen
2131                SrcSpanInfo
2132                  { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 66 15 66 29
2133                  , srcInfoPoints =
2134                      [ SrcSpan "tests/examples/DerivingVia.hs" 66 15 66 16
2135                      , SrcSpan "tests/examples/DerivingVia.hs" 66 28 66 29
2136                      ]
2137                  }
2138                (TyFun
2139                   SrcSpanInfo
2140                     { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 66 16 66 28
2141                     , srcInfoPoints =
2142                         [ SrcSpan "tests/examples/DerivingVia.hs" 66 21 66 23 ]
2143                     }
2144                   (TyCon
2145                      SrcSpanInfo
2146                        { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 66 16 66 20
2147                        , srcInfoPoints = []
2148                        }
2149                      (UnQual
2150                         SrcSpanInfo
2151                           { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 66 16 66 20
2152                           , srcInfoPoints = []
2153                           }
2154                         (Ident
2155                            SrcSpanInfo
2156                              { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 66 16 66 20
2157                              , srcInfoPoints = []
2158                              }
2159                            "Type")))
2160                   (TyCon
2161                      SrcSpanInfo
2162                        { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 66 24 66 28
2163                        , srcInfoPoints = []
2164                        }
2165                      (UnQual
2166                         SrcSpanInfo
2167                           { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 66 24 66 28
2168                           , srcInfoPoints = []
2169                           }
2170                         (Ident
2171                            SrcSpanInfo
2172                              { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 66 24 66 28
2173                              , srcInfoPoints = []
2174                              }
2175                            "Type")))))
2176             (TyParen
2177                SrcSpanInfo
2178                  { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 66 33 66 47
2179                  , srcInfoPoints =
2180                      [ SrcSpan "tests/examples/DerivingVia.hs" 66 33 66 34
2181                      , SrcSpan "tests/examples/DerivingVia.hs" 66 46 66 47
2182                      ]
2183                  }
2184                (TyFun
2185                   SrcSpanInfo
2186                     { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 66 34 66 46
2187                     , srcInfoPoints =
2188                         [ SrcSpan "tests/examples/DerivingVia.hs" 66 39 66 41 ]
2189                     }
2190                   (TyCon
2191                      SrcSpanInfo
2192                        { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 66 34 66 38
2193                        , srcInfoPoints = []
2194                        }
2195                      (UnQual
2196                         SrcSpanInfo
2197                           { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 66 34 66 38
2198                           , srcInfoPoints = []
2199                           }
2200                         (Ident
2201                            SrcSpanInfo
2202                              { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 66 34 66 38
2203                              , srcInfoPoints = []
2204                              }
2205                            "Type")))
2206                   (TyCon
2207                      SrcSpanInfo
2208                        { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 66 42 66 46
2209                        , srcInfoPoints = []
2210                        }
2211                      (UnQual
2212                         SrcSpanInfo
2213                           { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 66 42 66 46
2214                           , srcInfoPoints = []
2215                           }
2216                         (Ident
2217                            SrcSpanInfo
2218                              { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 66 42 66 46
2219                              , srcInfoPoints = []
2220                              }
2221                            "Type"))))))
2222      , GDataDecl
2223          SrcSpanInfo
2224            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 69 1 72 0
2225            , srcInfoPoints =
2226                [ SrcSpan "tests/examples/DerivingVia.hs" 69 13 69 18
2227                , SrcSpan "tests/examples/DerivingVia.hs" 70 3 70 3
2228                , SrcSpan "tests/examples/DerivingVia.hs" 72 1 72 0
2229                ]
2230            }
2231          (DataType
2232             SrcSpanInfo
2233               { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 69 1 69 5
2234               , srcInfoPoints = []
2235               })
2236          Nothing
2237          (DHApp
2238             SrcSpanInfo
2239               { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 69 6 69 12
2240               , srcInfoPoints = []
2241               }
2242             (DHead
2243                SrcSpanInfo
2244                  { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 69 6 69 10
2245                  , srcInfoPoints = []
2246                  }
2247                (Ident
2248                   SrcSpanInfo
2249                     { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 69 6 69 10
2250                     , srcInfoPoints = []
2251                     }
2252                   "Dict"))
2253             (UnkindedVar
2254                SrcSpanInfo
2255                  { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 69 11 69 12
2256                  , srcInfoPoints = []
2257                  }
2258                (Ident
2259                   SrcSpanInfo
2260                     { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 69 11 69 12
2261                     , srcInfoPoints = []
2262                     }
2263                   "c")))
2264          Nothing
2265          [ GadtDecl
2266              SrcSpanInfo
2267                { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 70 3 70 22
2268                , srcInfoPoints =
2269                    [ SrcSpan "tests/examples/DerivingVia.hs" 70 8 70 10 ]
2270                }
2271              (Ident
2272                 SrcSpanInfo
2273                   { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 70 3 70 7
2274                   , srcInfoPoints = []
2275                   }
2276                 "Dict")
2277              Nothing
2278              Nothing
2279              Nothing
2280              (TyForall
2281                 SrcSpanInfo
2282                   { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 70 11 70 22
2283                   , srcInfoPoints = []
2284                   }
2285                 Nothing
2286                 (Just
2287                    (CxSingle
2288                       SrcSpanInfo
2289                         { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 70 11 70 15
2290                         , srcInfoPoints =
2291                             [ SrcSpan "tests/examples/DerivingVia.hs" 70 13 70 15 ]
2292                         }
2293                       (TypeA
2294                          SrcSpanInfo
2295                            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 70 11 70 15
2296                            , srcInfoPoints =
2297                                [ SrcSpan "tests/examples/DerivingVia.hs" 70 13 70 15 ]
2298                            }
2299                          (TyVar
2300                             SrcSpanInfo
2301                               { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 70 11 70 15
2302                               , srcInfoPoints =
2303                                   [ SrcSpan "tests/examples/DerivingVia.hs" 70 13 70 15 ]
2304                               }
2305                             (Ident
2306                                SrcSpanInfo
2307                                  { srcInfoSpan =
2308                                      SrcSpan "tests/examples/DerivingVia.hs" 70 11 70 12
2309                                  , srcInfoPoints = []
2310                                  }
2311                                "c")))))
2312                 (TyApp
2313                    SrcSpanInfo
2314                      { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 70 16 70 22
2315                      , srcInfoPoints = []
2316                      }
2317                    (TyCon
2318                       SrcSpanInfo
2319                         { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 70 16 70 20
2320                         , srcInfoPoints = []
2321                         }
2322                       (UnQual
2323                          SrcSpanInfo
2324                            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 70 16 70 20
2325                            , srcInfoPoints = []
2326                            }
2327                          (Ident
2328                             SrcSpanInfo
2329                               { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 70 16 70 20
2330                               , srcInfoPoints = []
2331                               }
2332                             "Dict")))
2333                    (TyVar
2334                       SrcSpanInfo
2335                         { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 70 21 70 22
2336                         , srcInfoPoints = []
2337                         }
2338                       (Ident
2339                          SrcSpanInfo
2340                            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 70 21 70 22
2341                            , srcInfoPoints = []
2342                            }
2343                          "c"))))
2344          ]
2345          []
2346      , DataDecl
2347          SrcSpanInfo
2348            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 72 1 72 35
2349            , srcInfoPoints =
2350                [ SrcSpan "tests/examples/DerivingVia.hs" 72 16 72 17 ]
2351            }
2352          (NewType
2353             SrcSpanInfo
2354               { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 72 1 72 8
2355               , srcInfoPoints = []
2356               })
2357          Nothing
2358          (DHApp
2359             SrcSpanInfo
2360               { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 72 9 72 15
2361               , srcInfoPoints = []
2362               }
2363             (DHInfix
2364                SrcSpanInfo
2365                  { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 72 9 72 15
2366                  , srcInfoPoints = []
2367                  }
2368                (UnkindedVar
2369                   SrcSpanInfo
2370                     { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 72 9 72 10
2371                     , srcInfoPoints = []
2372                     }
2373                   (Ident
2374                      SrcSpanInfo
2375                        { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 72 9 72 10
2376                        , srcInfoPoints = []
2377                        }
2378                      "a"))
2379                (Symbol
2380                   SrcSpanInfo
2381                     { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 72 11 72 13
2382                     , srcInfoPoints = []
2383                     }
2384                   ":-"))
2385             (UnkindedVar
2386                SrcSpanInfo
2387                  { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 72 14 72 15
2388                  , srcInfoPoints = []
2389                  }
2390                (Ident
2391                   SrcSpanInfo
2392                     { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 72 14 72 15
2393                     , srcInfoPoints = []
2394                     }
2395                   "b")))
2396          [ QualConDecl
2397              SrcSpanInfo
2398                { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 72 18 72 35
2399                , srcInfoPoints = []
2400                }
2401              Nothing
2402              Nothing
2403              (ConDecl
2404                 SrcSpanInfo
2405                   { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 72 18 72 35
2406                   , srcInfoPoints = []
2407                   }
2408                 (Ident
2409                    SrcSpanInfo
2410                      { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 72 18 72 21
2411                      , srcInfoPoints = []
2412                      }
2413                    "Sub")
2414                 [ TyParen
2415                     SrcSpanInfo
2416                       { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 72 22 72 35
2417                       , srcInfoPoints =
2418                           [ SrcSpan "tests/examples/DerivingVia.hs" 72 22 72 23
2419                           , SrcSpan "tests/examples/DerivingVia.hs" 72 34 72 35
2420                           ]
2421                       }
2422                     (TyForall
2423                        SrcSpanInfo
2424                          { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 72 23 72 34
2425                          , srcInfoPoints = []
2426                          }
2427                        Nothing
2428                        (Just
2429                           (CxSingle
2430                              SrcSpanInfo
2431                                { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 72 23 72 27
2432                                , srcInfoPoints =
2433                                    [ SrcSpan "tests/examples/DerivingVia.hs" 72 25 72 27 ]
2434                                }
2435                              (TypeA
2436                                 SrcSpanInfo
2437                                   { srcInfoSpan =
2438                                       SrcSpan "tests/examples/DerivingVia.hs" 72 23 72 27
2439                                   , srcInfoPoints =
2440                                       [ SrcSpan "tests/examples/DerivingVia.hs" 72 25 72 27 ]
2441                                   }
2442                                 (TyVar
2443                                    SrcSpanInfo
2444                                      { srcInfoSpan =
2445                                          SrcSpan "tests/examples/DerivingVia.hs" 72 23 72 27
2446                                      , srcInfoPoints =
2447                                          [ SrcSpan "tests/examples/DerivingVia.hs" 72 25 72 27 ]
2448                                      }
2449                                    (Ident
2450                                       SrcSpanInfo
2451                                         { srcInfoSpan =
2452                                             SrcSpan "tests/examples/DerivingVia.hs" 72 23 72 24
2453                                         , srcInfoPoints = []
2454                                         }
2455                                       "a")))))
2456                        (TyApp
2457                           SrcSpanInfo
2458                             { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 72 28 72 34
2459                             , srcInfoPoints = []
2460                             }
2461                           (TyCon
2462                              SrcSpanInfo
2463                                { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 72 28 72 32
2464                                , srcInfoPoints = []
2465                                }
2466                              (UnQual
2467                                 SrcSpanInfo
2468                                   { srcInfoSpan =
2469                                       SrcSpan "tests/examples/DerivingVia.hs" 72 28 72 32
2470                                   , srcInfoPoints = []
2471                                   }
2472                                 (Ident
2473                                    SrcSpanInfo
2474                                      { srcInfoSpan =
2475                                          SrcSpan "tests/examples/DerivingVia.hs" 72 28 72 32
2476                                      , srcInfoPoints = []
2477                                      }
2478                                    "Dict")))
2479                           (TyVar
2480                              SrcSpanInfo
2481                                { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 72 33 72 34
2482                                , srcInfoPoints = []
2483                                }
2484                              (Ident
2485                                 SrcSpanInfo
2486                                   { srcInfoSpan =
2487                                       SrcSpan "tests/examples/DerivingVia.hs" 72 33 72 34
2488                                   , srcInfoPoints = []
2489                                   }
2490                                 "b"))))
2491                 ])
2492          ]
2493          []
2494      , InfixDecl
2495          SrcSpanInfo
2496            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 74 1 74 12
2497            , srcInfoPoints =
2498                [ SrcSpan "tests/examples/DerivingVia.hs" 74 8 74 9 ]
2499            }
2500          (AssocLeft
2501             SrcSpanInfo
2502               { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 74 1 74 7
2503               , srcInfoPoints = []
2504               })
2505          (Just 1)
2506          [ VarOp
2507              SrcSpanInfo
2508                { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 74 10 74 12
2509                , srcInfoPoints = []
2510                }
2511              (Symbol
2512                 SrcSpanInfo
2513                   { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 74 10 74 12
2514                   , srcInfoPoints = []
2515                   }
2516                 "\\\\")
2517          ]
2518      , TypeSig
2519          SrcSpanInfo
2520            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 75 1 75 39
2521            , srcInfoPoints =
2522                [ SrcSpan "tests/examples/DerivingVia.hs" 75 6 75 8 ]
2523            }
2524          [ Symbol
2525              SrcSpanInfo
2526                { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 75 1 75 5
2527                , srcInfoPoints =
2528                    [ SrcSpan "tests/examples/DerivingVia.hs" 75 1 75 2
2529                    , SrcSpan "tests/examples/DerivingVia.hs" 75 2 75 4
2530                    , SrcSpan "tests/examples/DerivingVia.hs" 75 4 75 5
2531                    ]
2532                }
2533              "\\\\"
2534          ]
2535          (TyForall
2536             SrcSpanInfo
2537               { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 75 9 75 39
2538               , srcInfoPoints = []
2539               }
2540             Nothing
2541             (Just
2542                (CxSingle
2543                   SrcSpanInfo
2544                     { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 75 9 75 13
2545                     , srcInfoPoints =
2546                         [ SrcSpan "tests/examples/DerivingVia.hs" 75 11 75 13 ]
2547                     }
2548                   (TypeA
2549                      SrcSpanInfo
2550                        { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 75 9 75 13
2551                        , srcInfoPoints =
2552                            [ SrcSpan "tests/examples/DerivingVia.hs" 75 11 75 13 ]
2553                        }
2554                      (TyVar
2555                         SrcSpanInfo
2556                           { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 75 9 75 13
2557                           , srcInfoPoints =
2558                               [ SrcSpan "tests/examples/DerivingVia.hs" 75 11 75 13 ]
2559                           }
2560                         (Ident
2561                            SrcSpanInfo
2562                              { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 75 9 75 10
2563                              , srcInfoPoints = []
2564                              }
2565                            "a")))))
2566             (TyFun
2567                SrcSpanInfo
2568                  { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 75 14 75 39
2569                  , srcInfoPoints =
2570                      [ SrcSpan "tests/examples/DerivingVia.hs" 75 23 75 25 ]
2571                  }
2572                (TyParen
2573                   SrcSpanInfo
2574                     { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 75 14 75 22
2575                     , srcInfoPoints =
2576                         [ SrcSpan "tests/examples/DerivingVia.hs" 75 14 75 15
2577                         , SrcSpan "tests/examples/DerivingVia.hs" 75 21 75 22
2578                         ]
2579                     }
2580                   (TyForall
2581                      SrcSpanInfo
2582                        { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 75 15 75 21
2583                        , srcInfoPoints = []
2584                        }
2585                      Nothing
2586                      (Just
2587                         (CxSingle
2588                            SrcSpanInfo
2589                              { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 75 15 75 19
2590                              , srcInfoPoints =
2591                                  [ SrcSpan "tests/examples/DerivingVia.hs" 75 17 75 19 ]
2592                              }
2593                            (TypeA
2594                               SrcSpanInfo
2595                                 { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 75 15 75 19
2596                                 , srcInfoPoints =
2597                                     [ SrcSpan "tests/examples/DerivingVia.hs" 75 17 75 19 ]
2598                                 }
2599                               (TyVar
2600                                  SrcSpanInfo
2601                                    { srcInfoSpan =
2602                                        SrcSpan "tests/examples/DerivingVia.hs" 75 15 75 19
2603                                    , srcInfoPoints =
2604                                        [ SrcSpan "tests/examples/DerivingVia.hs" 75 17 75 19 ]
2605                                    }
2606                                  (Ident
2607                                     SrcSpanInfo
2608                                       { srcInfoSpan =
2609                                           SrcSpan "tests/examples/DerivingVia.hs" 75 15 75 16
2610                                       , srcInfoPoints = []
2611                                       }
2612                                     "b")))))
2613                      (TyVar
2614                         SrcSpanInfo
2615                           { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 75 20 75 21
2616                           , srcInfoPoints = []
2617                           }
2618                         (Ident
2619                            SrcSpanInfo
2620                              { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 75 20 75 21
2621                              , srcInfoPoints = []
2622                              }
2623                            "r"))))
2624                (TyFun
2625                   SrcSpanInfo
2626                     { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 75 26 75 39
2627                     , srcInfoPoints =
2628                         [ SrcSpan "tests/examples/DerivingVia.hs" 75 35 75 37 ]
2629                     }
2630                   (TyParen
2631                      SrcSpanInfo
2632                        { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 75 26 75 34
2633                        , srcInfoPoints =
2634                            [ SrcSpan "tests/examples/DerivingVia.hs" 75 26 75 27
2635                            , SrcSpan "tests/examples/DerivingVia.hs" 75 33 75 34
2636                            ]
2637                        }
2638                      (TyInfix
2639                         SrcSpanInfo
2640                           { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 75 27 75 33
2641                           , srcInfoPoints = []
2642                           }
2643                         (TyVar
2644                            SrcSpanInfo
2645                              { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 75 27 75 28
2646                              , srcInfoPoints = []
2647                              }
2648                            (Ident
2649                               SrcSpanInfo
2650                                 { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 75 27 75 28
2651                                 , srcInfoPoints = []
2652                                 }
2653                               "a"))
2654                         (UnpromotedName
2655                            SrcSpanInfo
2656                              { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 75 29 75 31
2657                              , srcInfoPoints = []
2658                              }
2659                            (UnQual
2660                               SrcSpanInfo
2661                                 { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 75 29 75 31
2662                                 , srcInfoPoints = []
2663                                 }
2664                               (Symbol
2665                                  SrcSpanInfo
2666                                    { srcInfoSpan =
2667                                        SrcSpan "tests/examples/DerivingVia.hs" 75 29 75 31
2668                                    , srcInfoPoints = []
2669                                    }
2670                                  ":-")))
2671                         (TyVar
2672                            SrcSpanInfo
2673                              { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 75 32 75 33
2674                              , srcInfoPoints = []
2675                              }
2676                            (Ident
2677                               SrcSpanInfo
2678                                 { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 75 32 75 33
2679                                 , srcInfoPoints = []
2680                                 }
2681                               "b"))))
2682                   (TyVar
2683                      SrcSpanInfo
2684                        { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 75 38 75 39
2685                        , srcInfoPoints = []
2686                        }
2687                      (Ident
2688                         SrcSpanInfo
2689                           { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 75 38 75 39
2690                           , srcInfoPoints = []
2691                           }
2692                         "r")))))
2693      , FunBind
2694          SrcSpanInfo
2695            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 76 1 76 18
2696            , srcInfoPoints = []
2697            }
2698          [ InfixMatch
2699              SrcSpanInfo
2700                { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 76 1 76 18
2701                , srcInfoPoints = []
2702                }
2703              (PVar
2704                 SrcSpanInfo
2705                   { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 76 1 76 2
2706                   , srcInfoPoints = []
2707                   }
2708                 (Ident
2709                    SrcSpanInfo
2710                      { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 76 1 76 2
2711                      , srcInfoPoints = []
2712                      }
2713                    "r"))
2714              (Symbol
2715                 SrcSpanInfo
2716                   { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 76 3 76 5
2717                   , srcInfoPoints = []
2718                   }
2719                 "\\\\")
2720              [ PApp
2721                  SrcSpanInfo
2722                    { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 76 6 76 14
2723                    , srcInfoPoints = []
2724                    }
2725                  (UnQual
2726                     SrcSpanInfo
2727                       { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 76 6 76 9
2728                       , srcInfoPoints = []
2729                       }
2730                     (Ident
2731                        SrcSpanInfo
2732                          { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 76 6 76 9
2733                          , srcInfoPoints = []
2734                          }
2735                        "Sub"))
2736                  [ PApp
2737                      SrcSpanInfo
2738                        { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 76 10 76 14
2739                        , srcInfoPoints = []
2740                        }
2741                      (UnQual
2742                         SrcSpanInfo
2743                           { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 76 10 76 14
2744                           , srcInfoPoints = []
2745                           }
2746                         (Ident
2747                            SrcSpanInfo
2748                              { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 76 10 76 14
2749                              , srcInfoPoints = []
2750                              }
2751                            "Dict"))
2752                      []
2753                  ]
2754              ]
2755              (UnGuardedRhs
2756                 SrcSpanInfo
2757                   { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 76 15 76 18
2758                   , srcInfoPoints =
2759                       [ SrcSpan "tests/examples/DerivingVia.hs" 76 15 76 16 ]
2760                   }
2761                 (Var
2762                    SrcSpanInfo
2763                      { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 76 17 76 18
2764                      , srcInfoPoints = []
2765                      }
2766                    (UnQual
2767                       SrcSpanInfo
2768                         { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 76 17 76 18
2769                         , srcInfoPoints = []
2770                         }
2771                       (Ident
2772                          SrcSpanInfo
2773                            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 76 17 76 18
2774                            , srcInfoPoints = []
2775                            }
2776                          "r"))))
2777              Nothing
2778          ]
2779      , ClassDecl
2780          SrcSpanInfo
2781            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 84 1 85 38
2782            , srcInfoPoints =
2783                [ SrcSpan "tests/examples/DerivingVia.hs" 84 1 84 6
2784                , SrcSpan "tests/examples/DerivingVia.hs" 84 38 84 43
2785                , SrcSpan "tests/examples/DerivingVia.hs" 85 3 85 3
2786                , SrcSpan "tests/examples/DerivingVia.hs" 87 1 87 0
2787                ]
2788            }
2789          Nothing
2790          (DHApp
2791             SrcSpanInfo
2792               { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 84 7 84 37
2793               , srcInfoPoints = []
2794               }
2795             (DHead
2796                SrcSpanInfo
2797                  { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 84 7 84 19
2798                  , srcInfoPoints = []
2799                  }
2800                (Ident
2801                   SrcSpanInfo
2802                     { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 84 7 84 19
2803                     , srcInfoPoints = []
2804                     }
2805                   "LiftingMonad"))
2806             (KindedVar
2807                SrcSpanInfo
2808                  { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 84 20 84 37
2809                  , srcInfoPoints =
2810                      [ SrcSpan "tests/examples/DerivingVia.hs" 84 20 84 21
2811                      , SrcSpan "tests/examples/DerivingVia.hs" 84 27 84 29
2812                      , SrcSpan "tests/examples/DerivingVia.hs" 84 36 84 37
2813                      ]
2814                  }
2815                (Ident
2816                   SrcSpanInfo
2817                     { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 84 21 84 26
2818                     , srcInfoPoints = []
2819                     }
2820                   "trans")
2821                (TyCon
2822                   SrcSpanInfo
2823                     { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 84 30 84 36
2824                     , srcInfoPoints = []
2825                     }
2826                   (UnQual
2827                      SrcSpanInfo
2828                        { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 84 30 84 36
2829                        , srcInfoPoints = []
2830                        }
2831                      (Ident
2832                         SrcSpanInfo
2833                           { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 84 30 84 36
2834                           , srcInfoPoints = []
2835                           }
2836                         "MTrans")))))
2837          []
2838          (Just
2839             [ ClsDecl
2840                 SrcSpanInfo
2841                   { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 85 3 85 38
2842                   , srcInfoPoints =
2843                       [ SrcSpan "tests/examples/DerivingVia.hs" 85 9 85 11 ]
2844                   }
2845                 (TypeSig
2846                    SrcSpanInfo
2847                      { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 85 3 85 38
2848                      , srcInfoPoints =
2849                          [ SrcSpan "tests/examples/DerivingVia.hs" 85 9 85 11 ]
2850                      }
2851                    [ Ident
2852                        SrcSpanInfo
2853                          { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 85 3 85 8
2854                          , srcInfoPoints = []
2855                          }
2856                        "proof"
2857                    ]
2858                    (TyInfix
2859                       SrcSpanInfo
2860                         { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 85 12 85 38
2861                         , srcInfoPoints = []
2862                         }
2863                       (TyApp
2864                          SrcSpanInfo
2865                            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 85 12 85 19
2866                            , srcInfoPoints = []
2867                            }
2868                          (TyCon
2869                             SrcSpanInfo
2870                               { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 85 12 85 17
2871                               , srcInfoPoints = []
2872                               }
2873                             (UnQual
2874                                SrcSpanInfo
2875                                  { srcInfoSpan =
2876                                      SrcSpan "tests/examples/DerivingVia.hs" 85 12 85 17
2877                                  , srcInfoPoints = []
2878                                  }
2879                                (Ident
2880                                   SrcSpanInfo
2881                                     { srcInfoSpan =
2882                                         SrcSpan "tests/examples/DerivingVia.hs" 85 12 85 17
2883                                     , srcInfoPoints = []
2884                                     }
2885                                   "Monad")))
2886                          (TyVar
2887                             SrcSpanInfo
2888                               { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 85 18 85 19
2889                               , srcInfoPoints = []
2890                               }
2891                             (Ident
2892                                SrcSpanInfo
2893                                  { srcInfoSpan =
2894                                      SrcSpan "tests/examples/DerivingVia.hs" 85 18 85 19
2895                                  , srcInfoPoints = []
2896                                  }
2897                                "m")))
2898                       (UnpromotedName
2899                          SrcSpanInfo
2900                            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 85 20 85 22
2901                            , srcInfoPoints = []
2902                            }
2903                          (UnQual
2904                             SrcSpanInfo
2905                               { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 85 20 85 22
2906                               , srcInfoPoints = []
2907                               }
2908                             (Symbol
2909                                SrcSpanInfo
2910                                  { srcInfoSpan =
2911                                      SrcSpan "tests/examples/DerivingVia.hs" 85 20 85 22
2912                                  , srcInfoPoints = []
2913                                  }
2914                                ":-")))
2915                       (TyApp
2916                          SrcSpanInfo
2917                            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 85 23 85 38
2918                            , srcInfoPoints = []
2919                            }
2920                          (TyCon
2921                             SrcSpanInfo
2922                               { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 85 23 85 28
2923                               , srcInfoPoints = []
2924                               }
2925                             (UnQual
2926                                SrcSpanInfo
2927                                  { srcInfoSpan =
2928                                      SrcSpan "tests/examples/DerivingVia.hs" 85 23 85 28
2929                                  , srcInfoPoints = []
2930                                  }
2931                                (Ident
2932                                   SrcSpanInfo
2933                                     { srcInfoSpan =
2934                                         SrcSpan "tests/examples/DerivingVia.hs" 85 23 85 28
2935                                     , srcInfoPoints = []
2936                                     }
2937                                   "Monad")))
2938                          (TyParen
2939                             SrcSpanInfo
2940                               { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 85 29 85 38
2941                               , srcInfoPoints =
2942                                   [ SrcSpan "tests/examples/DerivingVia.hs" 85 29 85 30
2943                                   , SrcSpan "tests/examples/DerivingVia.hs" 85 37 85 38
2944                                   ]
2945                               }
2946                             (TyApp
2947                                SrcSpanInfo
2948                                  { srcInfoSpan =
2949                                      SrcSpan "tests/examples/DerivingVia.hs" 85 30 85 37
2950                                  , srcInfoPoints = []
2951                                  }
2952                                (TyVar
2953                                   SrcSpanInfo
2954                                     { srcInfoSpan =
2955                                         SrcSpan "tests/examples/DerivingVia.hs" 85 30 85 35
2956                                     , srcInfoPoints = []
2957                                     }
2958                                   (Ident
2959                                      SrcSpanInfo
2960                                        { srcInfoSpan =
2961                                            SrcSpan "tests/examples/DerivingVia.hs" 85 30 85 35
2962                                        , srcInfoPoints = []
2963                                        }
2964                                      "trans"))
2965                                (TyVar
2966                                   SrcSpanInfo
2967                                     { srcInfoSpan =
2968                                         SrcSpan "tests/examples/DerivingVia.hs" 85 36 85 37
2969                                     , srcInfoPoints = []
2970                                     }
2971                                   (Ident
2972                                      SrcSpanInfo
2973                                        { srcInfoSpan =
2974                                            SrcSpan "tests/examples/DerivingVia.hs" 85 36 85 37
2975                                        , srcInfoPoints = []
2976                                        }
2977                                      "m")))))))
2978             ])
2979      , InstDecl
2980          SrcSpanInfo
2981            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 87 1 91 0
2982            , srcInfoPoints =
2983                [ SrcSpan "tests/examples/DerivingVia.hs" 87 1 87 9
2984                , SrcSpan "tests/examples/DerivingVia.hs" 87 44 87 49
2985                , SrcSpan "tests/examples/DerivingVia.hs" 88 3 88 3
2986                , SrcSpan "tests/examples/DerivingVia.hs" 89 3 89 3
2987                , SrcSpan "tests/examples/DerivingVia.hs" 91 1 91 0
2988                ]
2989            }
2990          Nothing
2991          (IRule
2992             SrcSpanInfo
2993               { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 87 10 87 43
2994               , srcInfoPoints = []
2995               }
2996             Nothing
2997             Nothing
2998             (IHApp
2999                SrcSpanInfo
3000                  { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 87 10 87 43
3001                  , srcInfoPoints = []
3002                  }
3003                (IHCon
3004                   SrcSpanInfo
3005                     { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 87 10 87 22
3006                     , srcInfoPoints = []
3007                     }
3008                   (UnQual
3009                      SrcSpanInfo
3010                        { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 87 10 87 22
3011                        , srcInfoPoints = []
3012                        }
3013                      (Ident
3014                         SrcSpanInfo
3015                           { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 87 10 87 22
3016                           , srcInfoPoints = []
3017                           }
3018                         "LiftingMonad")))
3019                (TyKind
3020                   SrcSpanInfo
3021                     { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 87 23 87 43
3022                     , srcInfoPoints =
3023                         [ SrcSpan "tests/examples/DerivingVia.hs" 87 23 87 24
3024                         , SrcSpan "tests/examples/DerivingVia.hs" 87 33 87 35
3025                         , SrcSpan "tests/examples/DerivingVia.hs" 87 42 87 43
3026                         ]
3027                     }
3028                   (TyApp
3029                      SrcSpanInfo
3030                        { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 87 24 87 32
3031                        , srcInfoPoints = []
3032                        }
3033                      (TyCon
3034                         SrcSpanInfo
3035                           { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 87 24 87 30
3036                           , srcInfoPoints = []
3037                           }
3038                         (UnQual
3039                            SrcSpanInfo
3040                              { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 87 24 87 30
3041                              , srcInfoPoints = []
3042                              }
3043                            (Ident
3044                               SrcSpanInfo
3045                                 { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 87 24 87 30
3046                                 , srcInfoPoints = []
3047                                 }
3048                               "StateT")))
3049                      (TyVar
3050                         SrcSpanInfo
3051                           { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 87 31 87 32
3052                           , srcInfoPoints = []
3053                           }
3054                         (Ident
3055                            SrcSpanInfo
3056                              { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 87 31 87 32
3057                              , srcInfoPoints = []
3058                              }
3059                            "s")))
3060                   (TyCon
3061                      SrcSpanInfo
3062                        { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 87 36 87 42
3063                        , srcInfoPoints = []
3064                        }
3065                      (UnQual
3066                         SrcSpanInfo
3067                           { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 87 36 87 42
3068                           , srcInfoPoints = []
3069                           }
3070                         (Ident
3071                            SrcSpanInfo
3072                              { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 87 36 87 42
3073                              , srcInfoPoints = []
3074                              }
3075                            "MTrans"))))))
3076          (Just
3077             [ InsDecl
3078                 SrcSpanInfo
3079                   { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 88 3 88 41
3080                   , srcInfoPoints =
3081                       [ SrcSpan "tests/examples/DerivingVia.hs" 88 9 88 11 ]
3082                   }
3083                 (TypeSig
3084                    SrcSpanInfo
3085                      { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 88 3 88 41
3086                      , srcInfoPoints =
3087                          [ SrcSpan "tests/examples/DerivingVia.hs" 88 9 88 11 ]
3088                      }
3089                    [ Ident
3090                        SrcSpanInfo
3091                          { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 88 3 88 8
3092                          , srcInfoPoints = []
3093                          }
3094                        "proof"
3095                    ]
3096                    (TyInfix
3097                       SrcSpanInfo
3098                         { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 88 12 88 41
3099                         , srcInfoPoints = []
3100                         }
3101                       (TyApp
3102                          SrcSpanInfo
3103                            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 88 12 88 19
3104                            , srcInfoPoints = []
3105                            }
3106                          (TyCon
3107                             SrcSpanInfo
3108                               { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 88 12 88 17
3109                               , srcInfoPoints = []
3110                               }
3111                             (UnQual
3112                                SrcSpanInfo
3113                                  { srcInfoSpan =
3114                                      SrcSpan "tests/examples/DerivingVia.hs" 88 12 88 17
3115                                  , srcInfoPoints = []
3116                                  }
3117                                (Ident
3118                                   SrcSpanInfo
3119                                     { srcInfoSpan =
3120                                         SrcSpan "tests/examples/DerivingVia.hs" 88 12 88 17
3121                                     , srcInfoPoints = []
3122                                     }
3123                                   "Monad")))
3124                          (TyVar
3125                             SrcSpanInfo
3126                               { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 88 18 88 19
3127                               , srcInfoPoints = []
3128                               }
3129                             (Ident
3130                                SrcSpanInfo
3131                                  { srcInfoSpan =
3132                                      SrcSpan "tests/examples/DerivingVia.hs" 88 18 88 19
3133                                  , srcInfoPoints = []
3134                                  }
3135                                "m")))
3136                       (UnpromotedName
3137                          SrcSpanInfo
3138                            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 88 20 88 22
3139                            , srcInfoPoints = []
3140                            }
3141                          (UnQual
3142                             SrcSpanInfo
3143                               { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 88 20 88 22
3144                               , srcInfoPoints = []
3145                               }
3146                             (Symbol
3147                                SrcSpanInfo
3148                                  { srcInfoSpan =
3149                                      SrcSpan "tests/examples/DerivingVia.hs" 88 20 88 22
3150                                  , srcInfoPoints = []
3151                                  }
3152                                ":-")))
3153                       (TyApp
3154                          SrcSpanInfo
3155                            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 88 23 88 41
3156                            , srcInfoPoints = []
3157                            }
3158                          (TyCon
3159                             SrcSpanInfo
3160                               { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 88 23 88 28
3161                               , srcInfoPoints = []
3162                               }
3163                             (UnQual
3164                                SrcSpanInfo
3165                                  { srcInfoSpan =
3166                                      SrcSpan "tests/examples/DerivingVia.hs" 88 23 88 28
3167                                  , srcInfoPoints = []
3168                                  }
3169                                (Ident
3170                                   SrcSpanInfo
3171                                     { srcInfoSpan =
3172                                         SrcSpan "tests/examples/DerivingVia.hs" 88 23 88 28
3173                                     , srcInfoPoints = []
3174                                     }
3175                                   "Monad")))
3176                          (TyParen
3177                             SrcSpanInfo
3178                               { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 88 29 88 41
3179                               , srcInfoPoints =
3180                                   [ SrcSpan "tests/examples/DerivingVia.hs" 88 29 88 30
3181                                   , SrcSpan "tests/examples/DerivingVia.hs" 88 40 88 41
3182                                   ]
3183                               }
3184                             (TyApp
3185                                SrcSpanInfo
3186                                  { srcInfoSpan =
3187                                      SrcSpan "tests/examples/DerivingVia.hs" 88 30 88 40
3188                                  , srcInfoPoints = []
3189                                  }
3190                                (TyApp
3191                                   SrcSpanInfo
3192                                     { srcInfoSpan =
3193                                         SrcSpan "tests/examples/DerivingVia.hs" 88 30 88 38
3194                                     , srcInfoPoints = []
3195                                     }
3196                                   (TyCon
3197                                      SrcSpanInfo
3198                                        { srcInfoSpan =
3199                                            SrcSpan "tests/examples/DerivingVia.hs" 88 30 88 36
3200                                        , srcInfoPoints = []
3201                                        }
3202                                      (UnQual
3203                                         SrcSpanInfo
3204                                           { srcInfoSpan =
3205                                               SrcSpan "tests/examples/DerivingVia.hs" 88 30 88 36
3206                                           , srcInfoPoints = []
3207                                           }
3208                                         (Ident
3209                                            SrcSpanInfo
3210                                              { srcInfoSpan =
3211                                                  SrcSpan
3212                                                    "tests/examples/DerivingVia.hs" 88 30 88 36
3213                                              , srcInfoPoints = []
3214                                              }
3215                                            "StateT")))
3216                                   (TyVar
3217                                      SrcSpanInfo
3218                                        { srcInfoSpan =
3219                                            SrcSpan "tests/examples/DerivingVia.hs" 88 37 88 38
3220                                        , srcInfoPoints = []
3221                                        }
3222                                      (Ident
3223                                         SrcSpanInfo
3224                                           { srcInfoSpan =
3225                                               SrcSpan "tests/examples/DerivingVia.hs" 88 37 88 38
3226                                           , srcInfoPoints = []
3227                                           }
3228                                         "s")))
3229                                (TyVar
3230                                   SrcSpanInfo
3231                                     { srcInfoSpan =
3232                                         SrcSpan "tests/examples/DerivingVia.hs" 88 39 88 40
3233                                     , srcInfoPoints = []
3234                                     }
3235                                   (Ident
3236                                      SrcSpanInfo
3237                                        { srcInfoSpan =
3238                                            SrcSpan "tests/examples/DerivingVia.hs" 88 39 88 40
3239                                        , srcInfoPoints = []
3240                                        }
3241                                      "m")))))))
3242             , InsDecl
3243                 SrcSpanInfo
3244                   { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 89 3 89 19
3245                   , srcInfoPoints = []
3246                   }
3247                 (PatBind
3248                    SrcSpanInfo
3249                      { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 89 3 89 19
3250                      , srcInfoPoints = []
3251                      }
3252                    (PVar
3253                       SrcSpanInfo
3254                         { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 89 3 89 8
3255                         , srcInfoPoints = []
3256                         }
3257                       (Ident
3258                          SrcSpanInfo
3259                            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 89 3 89 8
3260                            , srcInfoPoints = []
3261                            }
3262                          "proof"))
3263                    (UnGuardedRhs
3264                       SrcSpanInfo
3265                         { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 89 9 89 19
3266                         , srcInfoPoints =
3267                             [ SrcSpan "tests/examples/DerivingVia.hs" 89 9 89 10 ]
3268                         }
3269                       (App
3270                          SrcSpanInfo
3271                            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 89 11 89 19
3272                            , srcInfoPoints = []
3273                            }
3274                          (Con
3275                             SrcSpanInfo
3276                               { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 89 11 89 14
3277                               , srcInfoPoints = []
3278                               }
3279                             (UnQual
3280                                SrcSpanInfo
3281                                  { srcInfoSpan =
3282                                      SrcSpan "tests/examples/DerivingVia.hs" 89 11 89 14
3283                                  , srcInfoPoints = []
3284                                  }
3285                                (Ident
3286                                   SrcSpanInfo
3287                                     { srcInfoSpan =
3288                                         SrcSpan "tests/examples/DerivingVia.hs" 89 11 89 14
3289                                     , srcInfoPoints = []
3290                                     }
3291                                   "Sub")))
3292                          (Con
3293                             SrcSpanInfo
3294                               { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 89 15 89 19
3295                               , srcInfoPoints = []
3296                               }
3297                             (UnQual
3298                                SrcSpanInfo
3299                                  { srcInfoSpan =
3300                                      SrcSpan "tests/examples/DerivingVia.hs" 89 15 89 19
3301                                  , srcInfoPoints = []
3302                                  }
3303                                (Ident
3304                                   SrcSpanInfo
3305                                     { srcInfoSpan =
3306                                         SrcSpan "tests/examples/DerivingVia.hs" 89 15 89 19
3307                                     , srcInfoPoints = []
3308                                     }
3309                                   "Dict")))))
3310                    Nothing)
3311             ])
3312      , InstDecl
3313          SrcSpanInfo
3314            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 91 1 95 0
3315            , srcInfoPoints =
3316                [ SrcSpan "tests/examples/DerivingVia.hs" 91 1 91 9
3317                , SrcSpan "tests/examples/DerivingVia.hs" 91 57 91 62
3318                , SrcSpan "tests/examples/DerivingVia.hs" 92 3 92 3
3319                , SrcSpan "tests/examples/DerivingVia.hs" 93 3 93 3
3320                , SrcSpan "tests/examples/DerivingVia.hs" 95 1 95 0
3321                ]
3322            }
3323          Nothing
3324          (IRule
3325             SrcSpanInfo
3326               { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 91 10 91 56
3327               , srcInfoPoints = []
3328               }
3329             Nothing
3330             (Just
3331                (CxSingle
3332                   SrcSpanInfo
3333                     { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 91 10 91 21
3334                     , srcInfoPoints =
3335                         [ SrcSpan "tests/examples/DerivingVia.hs" 91 19 91 21 ]
3336                     }
3337                   (TypeA
3338                      SrcSpanInfo
3339                        { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 91 10 91 21
3340                        , srcInfoPoints =
3341                            [ SrcSpan "tests/examples/DerivingVia.hs" 91 19 91 21 ]
3342                        }
3343                      (TyApp
3344                         SrcSpanInfo
3345                           { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 91 10 91 21
3346                           , srcInfoPoints =
3347                               [ SrcSpan "tests/examples/DerivingVia.hs" 91 19 91 21 ]
3348                           }
3349                         (TyCon
3350                            SrcSpanInfo
3351                              { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 91 10 91 21
3352                              , srcInfoPoints =
3353                                  [ SrcSpan "tests/examples/DerivingVia.hs" 91 19 91 21 ]
3354                              }
3355                            (UnQual
3356                               SrcSpanInfo
3357                                 { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 91 10 91 16
3358                                 , srcInfoPoints = []
3359                                 }
3360                               (Ident
3361                                  SrcSpanInfo
3362                                    { srcInfoSpan =
3363                                        SrcSpan "tests/examples/DerivingVia.hs" 91 10 91 16
3364                                    , srcInfoPoints = []
3365                                    }
3366                                  "Monoid")))
3367                         (TyVar
3368                            SrcSpanInfo
3369                              { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 91 17 91 18
3370                              , srcInfoPoints = []
3371                              }
3372                            (Ident
3373                               SrcSpanInfo
3374                                 { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 91 17 91 18
3375                                 , srcInfoPoints = []
3376                                 }
3377                               "w"))))))
3378             (IHApp
3379                SrcSpanInfo
3380                  { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 91 22 91 56
3381                  , srcInfoPoints = []
3382                  }
3383                (IHCon
3384                   SrcSpanInfo
3385                     { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 91 22 91 34
3386                     , srcInfoPoints = []
3387                     }
3388                   (UnQual
3389                      SrcSpanInfo
3390                        { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 91 22 91 34
3391                        , srcInfoPoints = []
3392                        }
3393                      (Ident
3394                         SrcSpanInfo
3395                           { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 91 22 91 34
3396                           , srcInfoPoints = []
3397                           }
3398                         "LiftingMonad")))
3399                (TyKind
3400                   SrcSpanInfo
3401                     { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 91 35 91 56
3402                     , srcInfoPoints =
3403                         [ SrcSpan "tests/examples/DerivingVia.hs" 91 35 91 36
3404                         , SrcSpan "tests/examples/DerivingVia.hs" 91 46 91 48
3405                         , SrcSpan "tests/examples/DerivingVia.hs" 91 55 91 56
3406                         ]
3407                     }
3408                   (TyApp
3409                      SrcSpanInfo
3410                        { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 91 36 91 45
3411                        , srcInfoPoints = []
3412                        }
3413                      (TyCon
3414                         SrcSpanInfo
3415                           { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 91 36 91 43
3416                           , srcInfoPoints = []
3417                           }
3418                         (UnQual
3419                            SrcSpanInfo
3420                              { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 91 36 91 43
3421                              , srcInfoPoints = []
3422                              }
3423                            (Ident
3424                               SrcSpanInfo
3425                                 { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 91 36 91 43
3426                                 , srcInfoPoints = []
3427                                 }
3428                               "WriterT")))
3429                      (TyVar
3430                         SrcSpanInfo
3431                           { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 91 44 91 45
3432                           , srcInfoPoints = []
3433                           }
3434                         (Ident
3435                            SrcSpanInfo
3436                              { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 91 44 91 45
3437                              , srcInfoPoints = []
3438                              }
3439                            "w")))
3440                   (TyCon
3441                      SrcSpanInfo
3442                        { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 91 49 91 55
3443                        , srcInfoPoints = []
3444                        }
3445                      (UnQual
3446                         SrcSpanInfo
3447                           { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 91 49 91 55
3448                           , srcInfoPoints = []
3449                           }
3450                         (Ident
3451                            SrcSpanInfo
3452                              { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 91 49 91 55
3453                              , srcInfoPoints = []
3454                              }
3455                            "MTrans"))))))
3456          (Just
3457             [ InsDecl
3458                 SrcSpanInfo
3459                   { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 92 3 92 42
3460                   , srcInfoPoints =
3461                       [ SrcSpan "tests/examples/DerivingVia.hs" 92 9 92 11 ]
3462                   }
3463                 (TypeSig
3464                    SrcSpanInfo
3465                      { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 92 3 92 42
3466                      , srcInfoPoints =
3467                          [ SrcSpan "tests/examples/DerivingVia.hs" 92 9 92 11 ]
3468                      }
3469                    [ Ident
3470                        SrcSpanInfo
3471                          { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 92 3 92 8
3472                          , srcInfoPoints = []
3473                          }
3474                        "proof"
3475                    ]
3476                    (TyInfix
3477                       SrcSpanInfo
3478                         { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 92 12 92 42
3479                         , srcInfoPoints = []
3480                         }
3481                       (TyApp
3482                          SrcSpanInfo
3483                            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 92 12 92 19
3484                            , srcInfoPoints = []
3485                            }
3486                          (TyCon
3487                             SrcSpanInfo
3488                               { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 92 12 92 17
3489                               , srcInfoPoints = []
3490                               }
3491                             (UnQual
3492                                SrcSpanInfo
3493                                  { srcInfoSpan =
3494                                      SrcSpan "tests/examples/DerivingVia.hs" 92 12 92 17
3495                                  , srcInfoPoints = []
3496                                  }
3497                                (Ident
3498                                   SrcSpanInfo
3499                                     { srcInfoSpan =
3500                                         SrcSpan "tests/examples/DerivingVia.hs" 92 12 92 17
3501                                     , srcInfoPoints = []
3502                                     }
3503                                   "Monad")))
3504                          (TyVar
3505                             SrcSpanInfo
3506                               { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 92 18 92 19
3507                               , srcInfoPoints = []
3508                               }
3509                             (Ident
3510                                SrcSpanInfo
3511                                  { srcInfoSpan =
3512                                      SrcSpan "tests/examples/DerivingVia.hs" 92 18 92 19
3513                                  , srcInfoPoints = []
3514                                  }
3515                                "m")))
3516                       (UnpromotedName
3517                          SrcSpanInfo
3518                            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 92 20 92 22
3519                            , srcInfoPoints = []
3520                            }
3521                          (UnQual
3522                             SrcSpanInfo
3523                               { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 92 20 92 22
3524                               , srcInfoPoints = []
3525                               }
3526                             (Symbol
3527                                SrcSpanInfo
3528                                  { srcInfoSpan =
3529                                      SrcSpan "tests/examples/DerivingVia.hs" 92 20 92 22
3530                                  , srcInfoPoints = []
3531                                  }
3532                                ":-")))
3533                       (TyApp
3534                          SrcSpanInfo
3535                            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 92 23 92 42
3536                            , srcInfoPoints = []
3537                            }
3538                          (TyCon
3539                             SrcSpanInfo
3540                               { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 92 23 92 28
3541                               , srcInfoPoints = []
3542                               }
3543                             (UnQual
3544                                SrcSpanInfo
3545                                  { srcInfoSpan =
3546                                      SrcSpan "tests/examples/DerivingVia.hs" 92 23 92 28
3547                                  , srcInfoPoints = []
3548                                  }
3549                                (Ident
3550                                   SrcSpanInfo
3551                                     { srcInfoSpan =
3552                                         SrcSpan "tests/examples/DerivingVia.hs" 92 23 92 28
3553                                     , srcInfoPoints = []
3554                                     }
3555                                   "Monad")))
3556                          (TyParen
3557                             SrcSpanInfo
3558                               { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 92 29 92 42
3559                               , srcInfoPoints =
3560                                   [ SrcSpan "tests/examples/DerivingVia.hs" 92 29 92 30
3561                                   , SrcSpan "tests/examples/DerivingVia.hs" 92 41 92 42
3562                                   ]
3563                               }
3564                             (TyApp
3565                                SrcSpanInfo
3566                                  { srcInfoSpan =
3567                                      SrcSpan "tests/examples/DerivingVia.hs" 92 30 92 41
3568                                  , srcInfoPoints = []
3569                                  }
3570                                (TyApp
3571                                   SrcSpanInfo
3572                                     { srcInfoSpan =
3573                                         SrcSpan "tests/examples/DerivingVia.hs" 92 30 92 39
3574                                     , srcInfoPoints = []
3575                                     }
3576                                   (TyCon
3577                                      SrcSpanInfo
3578                                        { srcInfoSpan =
3579                                            SrcSpan "tests/examples/DerivingVia.hs" 92 30 92 37
3580                                        , srcInfoPoints = []
3581                                        }
3582                                      (UnQual
3583                                         SrcSpanInfo
3584                                           { srcInfoSpan =
3585                                               SrcSpan "tests/examples/DerivingVia.hs" 92 30 92 37
3586                                           , srcInfoPoints = []
3587                                           }
3588                                         (Ident
3589                                            SrcSpanInfo
3590                                              { srcInfoSpan =
3591                                                  SrcSpan
3592                                                    "tests/examples/DerivingVia.hs" 92 30 92 37
3593                                              , srcInfoPoints = []
3594                                              }
3595                                            "WriterT")))
3596                                   (TyVar
3597                                      SrcSpanInfo
3598                                        { srcInfoSpan =
3599                                            SrcSpan "tests/examples/DerivingVia.hs" 92 38 92 39
3600                                        , srcInfoPoints = []
3601                                        }
3602                                      (Ident
3603                                         SrcSpanInfo
3604                                           { srcInfoSpan =
3605                                               SrcSpan "tests/examples/DerivingVia.hs" 92 38 92 39
3606                                           , srcInfoPoints = []
3607                                           }
3608                                         "w")))
3609                                (TyVar
3610                                   SrcSpanInfo
3611                                     { srcInfoSpan =
3612                                         SrcSpan "tests/examples/DerivingVia.hs" 92 40 92 41
3613                                     , srcInfoPoints = []
3614                                     }
3615                                   (Ident
3616                                      SrcSpanInfo
3617                                        { srcInfoSpan =
3618                                            SrcSpan "tests/examples/DerivingVia.hs" 92 40 92 41
3619                                        , srcInfoPoints = []
3620                                        }
3621                                      "m")))))))
3622             , InsDecl
3623                 SrcSpanInfo
3624                   { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 93 3 93 19
3625                   , srcInfoPoints = []
3626                   }
3627                 (PatBind
3628                    SrcSpanInfo
3629                      { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 93 3 93 19
3630                      , srcInfoPoints = []
3631                      }
3632                    (PVar
3633                       SrcSpanInfo
3634                         { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 93 3 93 8
3635                         , srcInfoPoints = []
3636                         }
3637                       (Ident
3638                          SrcSpanInfo
3639                            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 93 3 93 8
3640                            , srcInfoPoints = []
3641                            }
3642                          "proof"))
3643                    (UnGuardedRhs
3644                       SrcSpanInfo
3645                         { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 93 9 93 19
3646                         , srcInfoPoints =
3647                             [ SrcSpan "tests/examples/DerivingVia.hs" 93 9 93 10 ]
3648                         }
3649                       (App
3650                          SrcSpanInfo
3651                            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 93 11 93 19
3652                            , srcInfoPoints = []
3653                            }
3654                          (Con
3655                             SrcSpanInfo
3656                               { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 93 11 93 14
3657                               , srcInfoPoints = []
3658                               }
3659                             (UnQual
3660                                SrcSpanInfo
3661                                  { srcInfoSpan =
3662                                      SrcSpan "tests/examples/DerivingVia.hs" 93 11 93 14
3663                                  , srcInfoPoints = []
3664                                  }
3665                                (Ident
3666                                   SrcSpanInfo
3667                                     { srcInfoSpan =
3668                                         SrcSpan "tests/examples/DerivingVia.hs" 93 11 93 14
3669                                     , srcInfoPoints = []
3670                                     }
3671                                   "Sub")))
3672                          (Con
3673                             SrcSpanInfo
3674                               { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 93 15 93 19
3675                               , srcInfoPoints = []
3676                               }
3677                             (UnQual
3678                                SrcSpanInfo
3679                                  { srcInfoSpan =
3680                                      SrcSpan "tests/examples/DerivingVia.hs" 93 15 93 19
3681                                  , srcInfoPoints = []
3682                                  }
3683                                (Ident
3684                                   SrcSpanInfo
3685                                     { srcInfoSpan =
3686                                         SrcSpan "tests/examples/DerivingVia.hs" 93 15 93 19
3687                                     , srcInfoPoints = []
3688                                     }
3689                                   "Dict")))))
3690                    Nothing)
3691             ])
3692      , InstDecl
3693          SrcSpanInfo
3694            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 95 1 99 0
3695            , srcInfoPoints =
3696                [ SrcSpan "tests/examples/DerivingVia.hs" 95 1 95 9
3697                , SrcSpan "tests/examples/DerivingVia.hs" 95 102 95 107
3698                , SrcSpan "tests/examples/DerivingVia.hs" 96 3 96 3
3699                , SrcSpan "tests/examples/DerivingVia.hs" 97 3 97 3
3700                , SrcSpan "tests/examples/DerivingVia.hs" 99 1 99 0
3701                ]
3702            }
3703          Nothing
3704          (IRule
3705             SrcSpanInfo
3706               { srcInfoSpan =
3707                   SrcSpan "tests/examples/DerivingVia.hs" 95 10 95 101
3708               , srcInfoPoints = []
3709               }
3710             Nothing
3711             (Just
3712                (CxTuple
3713                   SrcSpanInfo
3714                     { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 95 10 95 54
3715                     , srcInfoPoints =
3716                         [ SrcSpan "tests/examples/DerivingVia.hs" 95 10 95 11
3717                         , SrcSpan "tests/examples/DerivingVia.hs" 95 29 95 30
3718                         , SrcSpan "tests/examples/DerivingVia.hs" 95 50 95 51
3719                         , SrcSpan "tests/examples/DerivingVia.hs" 95 52 95 54
3720                         ]
3721                     }
3722                   [ TypeA
3723                       SrcSpanInfo
3724                         { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 95 11 95 29
3725                         , srcInfoPoints = []
3726                         }
3727                       (TyApp
3728                          SrcSpanInfo
3729                            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 95 11 95 29
3730                            , srcInfoPoints = []
3731                            }
3732                          (TyCon
3733                             SrcSpanInfo
3734                               { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 95 11 95 29
3735                               , srcInfoPoints = []
3736                               }
3737                             (UnQual
3738                                SrcSpanInfo
3739                                  { srcInfoSpan =
3740                                      SrcSpan "tests/examples/DerivingVia.hs" 95 11 95 23
3741                                  , srcInfoPoints = []
3742                                  }
3743                                (Ident
3744                                   SrcSpanInfo
3745                                     { srcInfoSpan =
3746                                         SrcSpan "tests/examples/DerivingVia.hs" 95 11 95 23
3747                                     , srcInfoPoints = []
3748                                     }
3749                                   "LiftingMonad")))
3750                          (TyVar
3751                             SrcSpanInfo
3752                               { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 95 24 95 29
3753                               , srcInfoPoints = []
3754                               }
3755                             (Ident
3756                                SrcSpanInfo
3757                                  { srcInfoSpan =
3758                                      SrcSpan "tests/examples/DerivingVia.hs" 95 24 95 29
3759                                  , srcInfoPoints = []
3760                                  }
3761                                "trans")))
3762                   , TypeA
3763                       SrcSpanInfo
3764                         { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 95 31 95 50
3765                         , srcInfoPoints = []
3766                         }
3767                       (TyApp
3768                          SrcSpanInfo
3769                            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 95 31 95 50
3770                            , srcInfoPoints = []
3771                            }
3772                          (TyCon
3773                             SrcSpanInfo
3774                               { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 95 31 95 50
3775                               , srcInfoPoints = []
3776                               }
3777                             (UnQual
3778                                SrcSpanInfo
3779                                  { srcInfoSpan =
3780                                      SrcSpan "tests/examples/DerivingVia.hs" 95 31 95 43
3781                                  , srcInfoPoints = []
3782                                  }
3783                                (Ident
3784                                   SrcSpanInfo
3785                                     { srcInfoSpan =
3786                                         SrcSpan "tests/examples/DerivingVia.hs" 95 31 95 43
3787                                     , srcInfoPoints = []
3788                                     }
3789                                   "LiftingMonad")))
3790                          (TyVar
3791                             SrcSpanInfo
3792                               { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 95 44 95 50
3793                               , srcInfoPoints = []
3794                               }
3795                             (Ident
3796                                SrcSpanInfo
3797                                  { srcInfoSpan =
3798                                      SrcSpan "tests/examples/DerivingVia.hs" 95 44 95 50
3799                                  , srcInfoPoints = []
3800                                  }
3801                                "trans'")))
3802                   ]))
3803             (IHApp
3804                SrcSpanInfo
3805                  { srcInfoSpan =
3806                      SrcSpan "tests/examples/DerivingVia.hs" 95 55 95 101
3807                  , srcInfoPoints = []
3808                  }
3809                (IHCon
3810                   SrcSpanInfo
3811                     { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 95 55 95 67
3812                     , srcInfoPoints = []
3813                     }
3814                   (UnQual
3815                      SrcSpanInfo
3816                        { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 95 55 95 67
3817                        , srcInfoPoints = []
3818                        }
3819                      (Ident
3820                         SrcSpanInfo
3821                           { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 95 55 95 67
3822                           , srcInfoPoints = []
3823                           }
3824                         "LiftingMonad")))
3825                (TyKind
3826                   SrcSpanInfo
3827                     { srcInfoSpan =
3828                         SrcSpan "tests/examples/DerivingVia.hs" 95 68 95 101
3829                     , srcInfoPoints =
3830                         [ SrcSpan "tests/examples/DerivingVia.hs" 95 68 95 69
3831                         , SrcSpan "tests/examples/DerivingVia.hs" 95 91 95 93
3832                         , SrcSpan "tests/examples/DerivingVia.hs" 95 100 95 101
3833                         ]
3834                     }
3835                   (TyApp
3836                      SrcSpanInfo
3837                        { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 95 69 95 90
3838                        , srcInfoPoints = []
3839                        }
3840                      (TyApp
3841                         SrcSpanInfo
3842                           { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 95 69 95 83
3843                           , srcInfoPoints = []
3844                           }
3845                         (TyCon
3846                            SrcSpanInfo
3847                              { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 95 69 95 77
3848                              , srcInfoPoints = []
3849                              }
3850                            (UnQual
3851                               SrcSpanInfo
3852                                 { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 95 69 95 77
3853                                 , srcInfoPoints = []
3854                                 }
3855                               (Ident
3856                                  SrcSpanInfo
3857                                    { srcInfoSpan =
3858                                        SrcSpan "tests/examples/DerivingVia.hs" 95 69 95 77
3859                                    , srcInfoPoints = []
3860                                    }
3861                                  "ComposeT")))
3862                         (TyVar
3863                            SrcSpanInfo
3864                              { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 95 78 95 83
3865                              , srcInfoPoints = []
3866                              }
3867                            (Ident
3868                               SrcSpanInfo
3869                                 { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 95 78 95 83
3870                                 , srcInfoPoints = []
3871                                 }
3872                               "trans")))
3873                      (TyVar
3874                         SrcSpanInfo
3875                           { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 95 84 95 90
3876                           , srcInfoPoints = []
3877                           }
3878                         (Ident
3879                            SrcSpanInfo
3880                              { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 95 84 95 90
3881                              , srcInfoPoints = []
3882                              }
3883                            "trans'")))
3884                   (TyCon
3885                      SrcSpanInfo
3886                        { srcInfoSpan =
3887                            SrcSpan "tests/examples/DerivingVia.hs" 95 94 95 100
3888                        , srcInfoPoints = []
3889                        }
3890                      (UnQual
3891                         SrcSpanInfo
3892                           { srcInfoSpan =
3893                               SrcSpan "tests/examples/DerivingVia.hs" 95 94 95 100
3894                           , srcInfoPoints = []
3895                           }
3896                         (Ident
3897                            SrcSpanInfo
3898                              { srcInfoSpan =
3899                                  SrcSpan "tests/examples/DerivingVia.hs" 95 94 95 100
3900                              , srcInfoPoints = []
3901                              }
3902                            "MTrans"))))))
3903          (Just
3904             [ InsDecl
3905                 SrcSpanInfo
3906                   { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 96 3 96 64
3907                   , srcInfoPoints =
3908                       [ SrcSpan "tests/examples/DerivingVia.hs" 96 9 96 11 ]
3909                   }
3910                 (TypeSig
3911                    SrcSpanInfo
3912                      { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 96 3 96 64
3913                      , srcInfoPoints =
3914                          [ SrcSpan "tests/examples/DerivingVia.hs" 96 9 96 11 ]
3915                      }
3916                    [ Ident
3917                        SrcSpanInfo
3918                          { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 96 3 96 8
3919                          , srcInfoPoints = []
3920                          }
3921                        "proof"
3922                    ]
3923                    (TyForall
3924                       SrcSpanInfo
3925                         { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 96 12 96 64
3926                         , srcInfoPoints =
3927                             [ SrcSpan "tests/examples/DerivingVia.hs" 96 12 96 18
3928                             , SrcSpan "tests/examples/DerivingVia.hs" 96 20 96 21
3929                             ]
3930                         }
3931                       (Just
3932                          [ UnkindedVar
3933                              SrcSpanInfo
3934                                { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 96 19 96 20
3935                                , srcInfoPoints = []
3936                                }
3937                              (Ident
3938                                 SrcSpanInfo
3939                                   { srcInfoSpan =
3940                                       SrcSpan "tests/examples/DerivingVia.hs" 96 19 96 20
3941                                   , srcInfoPoints = []
3942                                   }
3943                                 "m")
3944                          ])
3945                       Nothing
3946                       (TyInfix
3947                          SrcSpanInfo
3948                            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 96 22 96 64
3949                            , srcInfoPoints = []
3950                            }
3951                          (TyApp
3952                             SrcSpanInfo
3953                               { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 96 22 96 29
3954                               , srcInfoPoints = []
3955                               }
3956                             (TyCon
3957                                SrcSpanInfo
3958                                  { srcInfoSpan =
3959                                      SrcSpan "tests/examples/DerivingVia.hs" 96 22 96 27
3960                                  , srcInfoPoints = []
3961                                  }
3962                                (UnQual
3963                                   SrcSpanInfo
3964                                     { srcInfoSpan =
3965                                         SrcSpan "tests/examples/DerivingVia.hs" 96 22 96 27
3966                                     , srcInfoPoints = []
3967                                     }
3968                                   (Ident
3969                                      SrcSpanInfo
3970                                        { srcInfoSpan =
3971                                            SrcSpan "tests/examples/DerivingVia.hs" 96 22 96 27
3972                                        , srcInfoPoints = []
3973                                        }
3974                                      "Monad")))
3975                             (TyVar
3976                                SrcSpanInfo
3977                                  { srcInfoSpan =
3978                                      SrcSpan "tests/examples/DerivingVia.hs" 96 28 96 29
3979                                  , srcInfoPoints = []
3980                                  }
3981                                (Ident
3982                                   SrcSpanInfo
3983                                     { srcInfoSpan =
3984                                         SrcSpan "tests/examples/DerivingVia.hs" 96 28 96 29
3985                                     , srcInfoPoints = []
3986                                     }
3987                                   "m")))
3988                          (UnpromotedName
3989                             SrcSpanInfo
3990                               { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 96 30 96 32
3991                               , srcInfoPoints = []
3992                               }
3993                             (UnQual
3994                                SrcSpanInfo
3995                                  { srcInfoSpan =
3996                                      SrcSpan "tests/examples/DerivingVia.hs" 96 30 96 32
3997                                  , srcInfoPoints = []
3998                                  }
3999                                (Symbol
4000                                   SrcSpanInfo
4001                                     { srcInfoSpan =
4002                                         SrcSpan "tests/examples/DerivingVia.hs" 96 30 96 32
4003                                     , srcInfoPoints = []
4004                                     }
4005                                   ":-")))
4006                          (TyApp
4007                             SrcSpanInfo
4008                               { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 96 33 96 64
4009                               , srcInfoPoints = []
4010                               }
4011                             (TyCon
4012                                SrcSpanInfo
4013                                  { srcInfoSpan =
4014                                      SrcSpan "tests/examples/DerivingVia.hs" 96 33 96 38
4015                                  , srcInfoPoints = []
4016                                  }
4017                                (UnQual
4018                                   SrcSpanInfo
4019                                     { srcInfoSpan =
4020                                         SrcSpan "tests/examples/DerivingVia.hs" 96 33 96 38
4021                                     , srcInfoPoints = []
4022                                     }
4023                                   (Ident
4024                                      SrcSpanInfo
4025                                        { srcInfoSpan =
4026                                            SrcSpan "tests/examples/DerivingVia.hs" 96 33 96 38
4027                                        , srcInfoPoints = []
4028                                        }
4029                                      "Monad")))
4030                             (TyParen
4031                                SrcSpanInfo
4032                                  { srcInfoSpan =
4033                                      SrcSpan "tests/examples/DerivingVia.hs" 96 39 96 64
4034                                  , srcInfoPoints =
4035                                      [ SrcSpan "tests/examples/DerivingVia.hs" 96 39 96 40
4036                                      , SrcSpan "tests/examples/DerivingVia.hs" 96 63 96 64
4037                                      ]
4038                                  }
4039                                (TyApp
4040                                   SrcSpanInfo
4041                                     { srcInfoSpan =
4042                                         SrcSpan "tests/examples/DerivingVia.hs" 96 40 96 63
4043                                     , srcInfoPoints = []
4044                                     }
4045                                   (TyApp
4046                                      SrcSpanInfo
4047                                        { srcInfoSpan =
4048                                            SrcSpan "tests/examples/DerivingVia.hs" 96 40 96 61
4049                                        , srcInfoPoints = []
4050                                        }
4051                                      (TyApp
4052                                         SrcSpanInfo
4053                                           { srcInfoSpan =
4054                                               SrcSpan "tests/examples/DerivingVia.hs" 96 40 96 54
4055                                           , srcInfoPoints = []
4056                                           }
4057                                         (TyCon
4058                                            SrcSpanInfo
4059                                              { srcInfoSpan =
4060                                                  SrcSpan
4061                                                    "tests/examples/DerivingVia.hs" 96 40 96 48
4062                                              , srcInfoPoints = []
4063                                              }
4064                                            (UnQual
4065                                               SrcSpanInfo
4066                                                 { srcInfoSpan =
4067                                                     SrcSpan
4068                                                       "tests/examples/DerivingVia.hs" 96 40 96 48
4069                                                 , srcInfoPoints = []
4070                                                 }
4071                                               (Ident
4072                                                  SrcSpanInfo
4073                                                    { srcInfoSpan =
4074                                                        SrcSpan
4075                                                          "tests/examples/DerivingVia.hs"
4076                                                          96
4077                                                          40
4078                                                          96
4079                                                          48
4080                                                    , srcInfoPoints = []
4081                                                    }
4082                                                  "ComposeT")))
4083                                         (TyVar
4084                                            SrcSpanInfo
4085                                              { srcInfoSpan =
4086                                                  SrcSpan
4087                                                    "tests/examples/DerivingVia.hs" 96 49 96 54
4088                                              , srcInfoPoints = []
4089                                              }
4090                                            (Ident
4091                                               SrcSpanInfo
4092                                                 { srcInfoSpan =
4093                                                     SrcSpan
4094                                                       "tests/examples/DerivingVia.hs" 96 49 96 54
4095                                                 , srcInfoPoints = []
4096                                                 }
4097                                               "trans")))
4098                                      (TyVar
4099                                         SrcSpanInfo
4100                                           { srcInfoSpan =
4101                                               SrcSpan "tests/examples/DerivingVia.hs" 96 55 96 61
4102                                           , srcInfoPoints = []
4103                                           }
4104                                         (Ident
4105                                            SrcSpanInfo
4106                                              { srcInfoSpan =
4107                                                  SrcSpan
4108                                                    "tests/examples/DerivingVia.hs" 96 55 96 61
4109                                              , srcInfoPoints = []
4110                                              }
4111                                            "trans'")))
4112                                   (TyVar
4113                                      SrcSpanInfo
4114                                        { srcInfoSpan =
4115                                            SrcSpan "tests/examples/DerivingVia.hs" 96 62 96 63
4116                                        , srcInfoPoints = []
4117                                        }
4118                                      (Ident
4119                                         SrcSpanInfo
4120                                           { srcInfoSpan =
4121                                               SrcSpan "tests/examples/DerivingVia.hs" 96 62 96 63
4122                                           , srcInfoPoints = []
4123                                           }
4124                                         "m"))))))))
4125             , InsDecl
4126                 SrcSpanInfo
4127                   { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 97 3 97 69
4128                   , srcInfoPoints = []
4129                   }
4130                 (PatBind
4131                    SrcSpanInfo
4132                      { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 97 3 97 69
4133                      , srcInfoPoints = []
4134                      }
4135                    (PVar
4136                       SrcSpanInfo
4137                         { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 97 3 97 8
4138                         , srcInfoPoints = []
4139                         }
4140                       (Ident
4141                          SrcSpanInfo
4142                            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 97 3 97 8
4143                            , srcInfoPoints = []
4144                            }
4145                          "proof"))
4146                    (UnGuardedRhs
4147                       SrcSpanInfo
4148                         { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 97 9 97 69
4149                         , srcInfoPoints =
4150                             [ SrcSpan "tests/examples/DerivingVia.hs" 97 9 97 10 ]
4151                         }
4152                       (App
4153                          SrcSpanInfo
4154                            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 97 11 97 69
4155                            , srcInfoPoints = []
4156                            }
4157                          (Con
4158                             SrcSpanInfo
4159                               { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 97 11 97 14
4160                               , srcInfoPoints = []
4161                               }
4162                             (UnQual
4163                                SrcSpanInfo
4164                                  { srcInfoSpan =
4165                                      SrcSpan "tests/examples/DerivingVia.hs" 97 11 97 14
4166                                  , srcInfoPoints = []
4167                                  }
4168                                (Ident
4169                                   SrcSpanInfo
4170                                     { srcInfoSpan =
4171                                         SrcSpan "tests/examples/DerivingVia.hs" 97 11 97 14
4172                                     , srcInfoPoints = []
4173                                     }
4174                                   "Sub")))
4175                          (Paren
4176                             SrcSpanInfo
4177                               { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 97 15 97 69
4178                               , srcInfoPoints =
4179                                   [ SrcSpan "tests/examples/DerivingVia.hs" 97 15 97 16
4180                                   , SrcSpan "tests/examples/DerivingVia.hs" 97 68 97 69
4181                                   ]
4182                               }
4183                             (InfixApp
4184                                SrcSpanInfo
4185                                  { srcInfoSpan =
4186                                      SrcSpan "tests/examples/DerivingVia.hs" 97 16 97 68
4187                                  , srcInfoPoints = []
4188                                  }
4189                                (InfixApp
4190                                   SrcSpanInfo
4191                                     { srcInfoSpan =
4192                                         SrcSpan "tests/examples/DerivingVia.hs" 97 16 97 48
4193                                     , srcInfoPoints = []
4194                                     }
4195                                   (Con
4196                                      SrcSpanInfo
4197                                        { srcInfoSpan =
4198                                            SrcSpan "tests/examples/DerivingVia.hs" 97 16 97 20
4199                                        , srcInfoPoints = []
4200                                        }
4201                                      (UnQual
4202                                         SrcSpanInfo
4203                                           { srcInfoSpan =
4204                                               SrcSpan "tests/examples/DerivingVia.hs" 97 16 97 20
4205                                           , srcInfoPoints = []
4206                                           }
4207                                         (Ident
4208                                            SrcSpanInfo
4209                                              { srcInfoSpan =
4210                                                  SrcSpan
4211                                                    "tests/examples/DerivingVia.hs" 97 16 97 20
4212                                              , srcInfoPoints = []
4213                                              }
4214                                            "Dict")))
4215                                   (QVarOp
4216                                      SrcSpanInfo
4217                                        { srcInfoSpan =
4218                                            SrcSpan "tests/examples/DerivingVia.hs" 97 21 97 23
4219                                        , srcInfoPoints = []
4220                                        }
4221                                      (UnQual
4222                                         SrcSpanInfo
4223                                           { srcInfoSpan =
4224                                               SrcSpan "tests/examples/DerivingVia.hs" 97 21 97 23
4225                                           , srcInfoPoints = []
4226                                           }
4227                                         (Symbol
4228                                            SrcSpanInfo
4229                                              { srcInfoSpan =
4230                                                  SrcSpan
4231                                                    "tests/examples/DerivingVia.hs" 97 21 97 23
4232                                              , srcInfoPoints = []
4233                                              }
4234                                            "\\\\")))
4235                                   (App
4236                                      SrcSpanInfo
4237                                        { srcInfoSpan =
4238                                            SrcSpan "tests/examples/DerivingVia.hs" 97 24 97 48
4239                                        , srcInfoPoints = []
4240                                        }
4241                                      (App
4242                                         SrcSpanInfo
4243                                           { srcInfoSpan =
4244                                               SrcSpan "tests/examples/DerivingVia.hs" 97 24 97 36
4245                                           , srcInfoPoints = []
4246                                           }
4247                                         (Var
4248                                            SrcSpanInfo
4249                                              { srcInfoSpan =
4250                                                  SrcSpan
4251                                                    "tests/examples/DerivingVia.hs" 97 24 97 29
4252                                              , srcInfoPoints = []
4253                                              }
4254                                            (UnQual
4255                                               SrcSpanInfo
4256                                                 { srcInfoSpan =
4257                                                     SrcSpan
4258                                                       "tests/examples/DerivingVia.hs" 97 24 97 29
4259                                                 , srcInfoPoints = []
4260                                                 }
4261                                               (Ident
4262                                                  SrcSpanInfo
4263                                                    { srcInfoSpan =
4264                                                        SrcSpan
4265                                                          "tests/examples/DerivingVia.hs"
4266                                                          97
4267                                                          24
4268                                                          97
4269                                                          29
4270                                                    , srcInfoPoints = []
4271                                                    }
4272                                                  "proof")))
4273                                         (TypeApp
4274                                            SrcSpanInfo
4275                                              { srcInfoSpan =
4276                                                  SrcSpan
4277                                                    "tests/examples/DerivingVia.hs" 97 30 97 36
4278                                              , srcInfoPoints =
4279                                                  [ SrcSpan
4280                                                      "tests/examples/DerivingVia.hs" 97 30 97 31
4281                                                  ]
4282                                              }
4283                                            (TyVar
4284                                               SrcSpanInfo
4285                                                 { srcInfoSpan =
4286                                                     SrcSpan
4287                                                       "tests/examples/DerivingVia.hs" 97 31 97 36
4288                                                 , srcInfoPoints = []
4289                                                 }
4290                                               (Ident
4291                                                  SrcSpanInfo
4292                                                    { srcInfoSpan =
4293                                                        SrcSpan
4294                                                          "tests/examples/DerivingVia.hs"
4295                                                          97
4296                                                          31
4297                                                          97
4298                                                          36
4299                                                    , srcInfoPoints = []
4300                                                    }
4301                                                  "trans"))))
4302                                      (TypeApp
4303                                         SrcSpanInfo
4304                                           { srcInfoSpan =
4305                                               SrcSpan "tests/examples/DerivingVia.hs" 97 37 97 48
4306                                           , srcInfoPoints =
4307                                               [ SrcSpan "tests/examples/DerivingVia.hs" 97 37 97 38
4308                                               ]
4309                                           }
4310                                         (TyParen
4311                                            SrcSpanInfo
4312                                              { srcInfoSpan =
4313                                                  SrcSpan
4314                                                    "tests/examples/DerivingVia.hs" 97 38 97 48
4315                                              , srcInfoPoints =
4316                                                  [ SrcSpan
4317                                                      "tests/examples/DerivingVia.hs" 97 38 97 39
4318                                                  , SrcSpan
4319                                                      "tests/examples/DerivingVia.hs" 97 47 97 48
4320                                                  ]
4321                                              }
4322                                            (TyApp
4323                                               SrcSpanInfo
4324                                                 { srcInfoSpan =
4325                                                     SrcSpan
4326                                                       "tests/examples/DerivingVia.hs" 97 39 97 47
4327                                                 , srcInfoPoints = []
4328                                                 }
4329                                               (TyVar
4330                                                  SrcSpanInfo
4331                                                    { srcInfoSpan =
4332                                                        SrcSpan
4333                                                          "tests/examples/DerivingVia.hs"
4334                                                          97
4335                                                          39
4336                                                          97
4337                                                          45
4338                                                    , srcInfoPoints = []
4339                                                    }
4340                                                  (Ident
4341                                                     SrcSpanInfo
4342                                                       { srcInfoSpan =
4343                                                           SrcSpan
4344                                                             "tests/examples/DerivingVia.hs"
4345                                                             97
4346                                                             39
4347                                                             97
4348                                                             45
4349                                                       , srcInfoPoints = []
4350                                                       }
4351                                                     "trans'"))
4352                                               (TyVar
4353                                                  SrcSpanInfo
4354                                                    { srcInfoSpan =
4355                                                        SrcSpan
4356                                                          "tests/examples/DerivingVia.hs"
4357                                                          97
4358                                                          46
4359                                                          97
4360                                                          47
4361                                                    , srcInfoPoints = []
4362                                                    }
4363                                                  (Ident
4364                                                     SrcSpanInfo
4365                                                       { srcInfoSpan =
4366                                                           SrcSpan
4367                                                             "tests/examples/DerivingVia.hs"
4368                                                             97
4369                                                             46
4370                                                             97
4371                                                             47
4372                                                       , srcInfoPoints = []
4373                                                       }
4374                                                     "m")))))))
4375                                (QVarOp
4376                                   SrcSpanInfo
4377                                     { srcInfoSpan =
4378                                         SrcSpan "tests/examples/DerivingVia.hs" 97 49 97 51
4379                                     , srcInfoPoints = []
4380                                     }
4381                                   (UnQual
4382                                      SrcSpanInfo
4383                                        { srcInfoSpan =
4384                                            SrcSpan "tests/examples/DerivingVia.hs" 97 49 97 51
4385                                        , srcInfoPoints = []
4386                                        }
4387                                      (Symbol
4388                                         SrcSpanInfo
4389                                           { srcInfoSpan =
4390                                               SrcSpan "tests/examples/DerivingVia.hs" 97 49 97 51
4391                                           , srcInfoPoints = []
4392                                           }
4393                                         "\\\\")))
4394                                (App
4395                                   SrcSpanInfo
4396                                     { srcInfoSpan =
4397                                         SrcSpan "tests/examples/DerivingVia.hs" 97 52 97 68
4398                                     , srcInfoPoints = []
4399                                     }
4400                                   (App
4401                                      SrcSpanInfo
4402                                        { srcInfoSpan =
4403                                            SrcSpan "tests/examples/DerivingVia.hs" 97 52 97 65
4404                                        , srcInfoPoints = []
4405                                        }
4406                                      (Var
4407                                         SrcSpanInfo
4408                                           { srcInfoSpan =
4409                                               SrcSpan "tests/examples/DerivingVia.hs" 97 52 97 57
4410                                           , srcInfoPoints = []
4411                                           }
4412                                         (UnQual
4413                                            SrcSpanInfo
4414                                              { srcInfoSpan =
4415                                                  SrcSpan
4416                                                    "tests/examples/DerivingVia.hs" 97 52 97 57
4417                                              , srcInfoPoints = []
4418                                              }
4419                                            (Ident
4420                                               SrcSpanInfo
4421                                                 { srcInfoSpan =
4422                                                     SrcSpan
4423                                                       "tests/examples/DerivingVia.hs" 97 52 97 57
4424                                                 , srcInfoPoints = []
4425                                                 }
4426                                               "proof")))
4427                                      (TypeApp
4428                                         SrcSpanInfo
4429                                           { srcInfoSpan =
4430                                               SrcSpan "tests/examples/DerivingVia.hs" 97 58 97 65
4431                                           , srcInfoPoints =
4432                                               [ SrcSpan "tests/examples/DerivingVia.hs" 97 58 97 59
4433                                               ]
4434                                           }
4435                                         (TyVar
4436                                            SrcSpanInfo
4437                                              { srcInfoSpan =
4438                                                  SrcSpan
4439                                                    "tests/examples/DerivingVia.hs" 97 59 97 65
4440                                              , srcInfoPoints = []
4441                                              }
4442                                            (Ident
4443                                               SrcSpanInfo
4444                                                 { srcInfoSpan =
4445                                                     SrcSpan
4446                                                       "tests/examples/DerivingVia.hs" 97 59 97 65
4447                                                 , srcInfoPoints = []
4448                                                 }
4449                                               "trans'"))))
4450                                   (TypeApp
4451                                      SrcSpanInfo
4452                                        { srcInfoSpan =
4453                                            SrcSpan "tests/examples/DerivingVia.hs" 97 66 97 68
4454                                        , srcInfoPoints =
4455                                            [ SrcSpan "tests/examples/DerivingVia.hs" 97 66 97 67 ]
4456                                        }
4457                                      (TyVar
4458                                         SrcSpanInfo
4459                                           { srcInfoSpan =
4460                                               SrcSpan "tests/examples/DerivingVia.hs" 97 67 97 68
4461                                           , srcInfoPoints = []
4462                                           }
4463                                         (Ident
4464                                            SrcSpanInfo
4465                                              { srcInfoSpan =
4466                                                  SrcSpan
4467                                                    "tests/examples/DerivingVia.hs" 97 67 97 68
4468                                              , srcInfoPoints = []
4469                                              }
4470                                            "m"))))))))
4471                    Nothing)
4472             ])
4473      , GDataDecl
4474          SrcSpanInfo
4475            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 99 1 109 34
4476            , srcInfoPoints =
4477                [ SrcSpan "tests/examples/DerivingVia.hs" 99 15 99 17
4478                , SrcSpan "tests/examples/DerivingVia.hs" 99 25 99 30
4479                , SrcSpan "tests/examples/DerivingVia.hs" 100 3 100 3
4480                , SrcSpan "tests/examples/DerivingVia.hs" 101 3 101 3
4481                , SrcSpan "tests/examples/DerivingVia.hs" 101 3 101 3
4482                ]
4483            }
4484          (NewType
4485             SrcSpanInfo
4486               { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 99 1 99 8
4487               , srcInfoPoints = []
4488               })
4489          Nothing
4490          (DHead
4491             SrcSpanInfo
4492               { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 99 9 99 14
4493               , srcInfoPoints = []
4494               }
4495             (Ident
4496                SrcSpanInfo
4497                  { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 99 9 99 14
4498                  , srcInfoPoints = []
4499                  }
4500                "Stack"))
4501          (Just
4502             (TyCon
4503                SrcSpanInfo
4504                  { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 99 18 99 24
4505                  , srcInfoPoints = []
4506                  }
4507                (UnQual
4508                   SrcSpanInfo
4509                     { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 99 18 99 24
4510                     , srcInfoPoints = []
4511                     }
4512                   (Ident
4513                      SrcSpanInfo
4514                        { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 99 18 99 24
4515                        , srcInfoPoints = []
4516                        }
4517                      "MTrans"))))
4518          [ GadtDecl
4519              SrcSpanInfo
4520                { srcInfoSpan =
4521                    SrcSpan "tests/examples/DerivingVia.hs" 100 3 100 71
4522                , srcInfoPoints =
4523                    [ SrcSpan "tests/examples/DerivingVia.hs" 100 9 100 11 ]
4524                }
4525              (Ident
4526                 SrcSpanInfo
4527                   { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 100 3 100 8
4528                   , srcInfoPoints = []
4529                   }
4530                 "Stack")
4531              Nothing
4532              Nothing
4533              Nothing
4534              (TyFun
4535                 SrcSpanInfo
4536                   { srcInfoSpan =
4537                       SrcSpan "tests/examples/DerivingVia.hs" 100 12 100 71
4538                   , srcInfoPoints =
4539                       [ SrcSpan "tests/examples/DerivingVia.hs" 100 59 100 61 ]
4540                   }
4541                 (TyApp
4542                    SrcSpanInfo
4543                      { srcInfoSpan =
4544                          SrcSpan "tests/examples/DerivingVia.hs" 100 12 100 58
4545                      , srcInfoPoints = []
4546                      }
4547                    (TyApp
4548                       SrcSpanInfo
4549                         { srcInfoSpan =
4550                             SrcSpan "tests/examples/DerivingVia.hs" 100 12 100 56
4551                         , srcInfoPoints = []
4552                         }
4553                       (TyApp
4554                          SrcSpanInfo
4555                            { srcInfoSpan =
4556                                SrcSpan "tests/examples/DerivingVia.hs" 100 12 100 23
4557                            , srcInfoPoints = []
4558                            }
4559                          (TyCon
4560                             SrcSpanInfo
4561                               { srcInfoSpan =
4562                                   SrcSpan "tests/examples/DerivingVia.hs" 100 12 100 19
4563                               , srcInfoPoints = []
4564                               }
4565                             (UnQual
4566                                SrcSpanInfo
4567                                  { srcInfoSpan =
4568                                      SrcSpan "tests/examples/DerivingVia.hs" 100 12 100 19
4569                                  , srcInfoPoints = []
4570                                  }
4571                                (Ident
4572                                   SrcSpanInfo
4573                                     { srcInfoSpan =
4574                                         SrcSpan "tests/examples/DerivingVia.hs" 100 12 100 19
4575                                     , srcInfoPoints = []
4576                                     }
4577                                   "ReaderT")))
4578                          (TyCon
4579                             SrcSpanInfo
4580                               { srcInfoSpan =
4581                                   SrcSpan "tests/examples/DerivingVia.hs" 100 20 100 23
4582                               , srcInfoPoints = []
4583                               }
4584                             (UnQual
4585                                SrcSpanInfo
4586                                  { srcInfoSpan =
4587                                      SrcSpan "tests/examples/DerivingVia.hs" 100 20 100 23
4588                                  , srcInfoPoints = []
4589                                  }
4590                                (Ident
4591                                   SrcSpanInfo
4592                                     { srcInfoSpan =
4593                                         SrcSpan "tests/examples/DerivingVia.hs" 100 20 100 23
4594                                     , srcInfoPoints = []
4595                                     }
4596                                   "Int"))))
4597                       (TyParen
4598                          SrcSpanInfo
4599                            { srcInfoSpan =
4600                                SrcSpan "tests/examples/DerivingVia.hs" 100 24 100 56
4601                            , srcInfoPoints =
4602                                [ SrcSpan "tests/examples/DerivingVia.hs" 100 24 100 25
4603                                , SrcSpan "tests/examples/DerivingVia.hs" 100 55 100 56
4604                                ]
4605                            }
4606                          (TyApp
4607                             SrcSpanInfo
4608                               { srcInfoSpan =
4609                                   SrcSpan "tests/examples/DerivingVia.hs" 100 25 100 55
4610                               , srcInfoPoints = []
4611                               }
4612                             (TyApp
4613                                SrcSpanInfo
4614                                  { srcInfoSpan =
4615                                      SrcSpan "tests/examples/DerivingVia.hs" 100 25 100 36
4616                                  , srcInfoPoints = []
4617                                  }
4618                                (TyCon
4619                                   SrcSpanInfo
4620                                     { srcInfoSpan =
4621                                         SrcSpan "tests/examples/DerivingVia.hs" 100 25 100 31
4622                                     , srcInfoPoints = []
4623                                     }
4624                                   (UnQual
4625                                      SrcSpanInfo
4626                                        { srcInfoSpan =
4627                                            SrcSpan "tests/examples/DerivingVia.hs" 100 25 100 31
4628                                        , srcInfoPoints = []
4629                                        }
4630                                      (Ident
4631                                         SrcSpanInfo
4632                                           { srcInfoSpan =
4633                                               SrcSpan "tests/examples/DerivingVia.hs" 100 25 100 31
4634                                           , srcInfoPoints = []
4635                                           }
4636                                         "StateT")))
4637                                (TyCon
4638                                   SrcSpanInfo
4639                                     { srcInfoSpan =
4640                                         SrcSpan "tests/examples/DerivingVia.hs" 100 32 100 36
4641                                     , srcInfoPoints = []
4642                                     }
4643                                   (UnQual
4644                                      SrcSpanInfo
4645                                        { srcInfoSpan =
4646                                            SrcSpan "tests/examples/DerivingVia.hs" 100 32 100 36
4647                                        , srcInfoPoints = []
4648                                        }
4649                                      (Ident
4650                                         SrcSpanInfo
4651                                           { srcInfoSpan =
4652                                               SrcSpan "tests/examples/DerivingVia.hs" 100 32 100 36
4653                                           , srcInfoPoints = []
4654                                           }
4655                                         "Bool"))))
4656                             (TyParen
4657                                SrcSpanInfo
4658                                  { srcInfoSpan =
4659                                      SrcSpan "tests/examples/DerivingVia.hs" 100 37 100 55
4660                                  , srcInfoPoints =
4661                                      [ SrcSpan "tests/examples/DerivingVia.hs" 100 37 100 38
4662                                      , SrcSpan "tests/examples/DerivingVia.hs" 100 54 100 55
4663                                      ]
4664                                  }
4665                                (TyApp
4666                                   SrcSpanInfo
4667                                     { srcInfoSpan =
4668                                         SrcSpan "tests/examples/DerivingVia.hs" 100 38 100 54
4669                                     , srcInfoPoints = []
4670                                     }
4671                                   (TyApp
4672                                      SrcSpanInfo
4673                                        { srcInfoSpan =
4674                                            SrcSpan "tests/examples/DerivingVia.hs" 100 38 100 52
4675                                        , srcInfoPoints = []
4676                                        }
4677                                      (TyCon
4678                                         SrcSpanInfo
4679                                           { srcInfoSpan =
4680                                               SrcSpan "tests/examples/DerivingVia.hs" 100 38 100 45
4681                                           , srcInfoPoints = []
4682                                           }
4683                                         (UnQual
4684                                            SrcSpanInfo
4685                                              { srcInfoSpan =
4686                                                  SrcSpan
4687                                                    "tests/examples/DerivingVia.hs" 100 38 100 45
4688                                              , srcInfoPoints = []
4689                                              }
4690                                            (Ident
4691                                               SrcSpanInfo
4692                                                 { srcInfoSpan =
4693                                                     SrcSpan
4694                                                       "tests/examples/DerivingVia.hs" 100 38 100 45
4695                                                 , srcInfoPoints = []
4696                                                 }
4697                                               "WriterT")))
4698                                      (TyCon
4699                                         SrcSpanInfo
4700                                           { srcInfoSpan =
4701                                               SrcSpan "tests/examples/DerivingVia.hs" 100 46 100 52
4702                                           , srcInfoPoints = []
4703                                           }
4704                                         (UnQual
4705                                            SrcSpanInfo
4706                                              { srcInfoSpan =
4707                                                  SrcSpan
4708                                                    "tests/examples/DerivingVia.hs" 100 46 100 52
4709                                              , srcInfoPoints = []
4710                                              }
4711                                            (Ident
4712                                               SrcSpanInfo
4713                                                 { srcInfoSpan =
4714                                                     SrcSpan
4715                                                       "tests/examples/DerivingVia.hs" 100 46 100 52
4716                                                 , srcInfoPoints = []
4717                                                 }
4718                                               "String"))))
4719                                   (TyVar
4720                                      SrcSpanInfo
4721                                        { srcInfoSpan =
4722                                            SrcSpan "tests/examples/DerivingVia.hs" 100 53 100 54
4723                                        , srcInfoPoints = []
4724                                        }
4725                                      (Ident
4726                                         SrcSpanInfo
4727                                           { srcInfoSpan =
4728                                               SrcSpan "tests/examples/DerivingVia.hs" 100 53 100 54
4729                                           , srcInfoPoints = []
4730                                           }
4731                                         "m")))))))
4732                    (TyVar
4733                       SrcSpanInfo
4734                         { srcInfoSpan =
4735                             SrcSpan "tests/examples/DerivingVia.hs" 100 57 100 58
4736                         , srcInfoPoints = []
4737                         }
4738                       (Ident
4739                          SrcSpanInfo
4740                            { srcInfoSpan =
4741                                SrcSpan "tests/examples/DerivingVia.hs" 100 57 100 58
4742                            , srcInfoPoints = []
4743                            }
4744                          "a")))
4745                 (TyApp
4746                    SrcSpanInfo
4747                      { srcInfoSpan =
4748                          SrcSpan "tests/examples/DerivingVia.hs" 100 62 100 71
4749                      , srcInfoPoints = []
4750                      }
4751                    (TyApp
4752                       SrcSpanInfo
4753                         { srcInfoSpan =
4754                             SrcSpan "tests/examples/DerivingVia.hs" 100 62 100 69
4755                         , srcInfoPoints = []
4756                         }
4757                       (TyCon
4758                          SrcSpanInfo
4759                            { srcInfoSpan =
4760                                SrcSpan "tests/examples/DerivingVia.hs" 100 62 100 67
4761                            , srcInfoPoints = []
4762                            }
4763                          (UnQual
4764                             SrcSpanInfo
4765                               { srcInfoSpan =
4766                                   SrcSpan "tests/examples/DerivingVia.hs" 100 62 100 67
4767                               , srcInfoPoints = []
4768                               }
4769                             (Ident
4770                                SrcSpanInfo
4771                                  { srcInfoSpan =
4772                                      SrcSpan "tests/examples/DerivingVia.hs" 100 62 100 67
4773                                  , srcInfoPoints = []
4774                                  }
4775                                "Stack")))
4776                       (TyVar
4777                          SrcSpanInfo
4778                            { srcInfoSpan =
4779                                SrcSpan "tests/examples/DerivingVia.hs" 100 68 100 69
4780                            , srcInfoPoints = []
4781                            }
4782                          (Ident
4783                             SrcSpanInfo
4784                               { srcInfoSpan =
4785                                   SrcSpan "tests/examples/DerivingVia.hs" 100 68 100 69
4786                               , srcInfoPoints = []
4787                               }
4788                             "m")))
4789                    (TyVar
4790                       SrcSpanInfo
4791                         { srcInfoSpan =
4792                             SrcSpan "tests/examples/DerivingVia.hs" 100 70 100 71
4793                         , srcInfoPoints = []
4794                         }
4795                       (Ident
4796                          SrcSpanInfo
4797                            { srcInfoSpan =
4798                                SrcSpan "tests/examples/DerivingVia.hs" 100 70 100 71
4799                            , srcInfoPoints = []
4800                            }
4801                          "a"))))
4802          ]
4803          [ Deriving
4804              SrcSpanInfo
4805                { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 101 3 108 6
4806                , srcInfoPoints =
4807                    [ SrcSpan "tests/examples/DerivingVia.hs" 101 3 101 11
4808                    , SrcSpan "tests/examples/DerivingVia.hs" 102 5 102 6
4809                    , SrcSpan "tests/examples/DerivingVia.hs" 103 5 103 6
4810                    , SrcSpan "tests/examples/DerivingVia.hs" 104 5 104 6
4811                    , SrcSpan "tests/examples/DerivingVia.hs" 105 5 105 6
4812                    , SrcSpan "tests/examples/DerivingVia.hs" 106 5 106 6
4813                    , SrcSpan "tests/examples/DerivingVia.hs" 107 5 107 6
4814                    , SrcSpan "tests/examples/DerivingVia.hs" 108 5 108 6
4815                    ]
4816                }
4817              (Just
4818                 (DerivNewtype
4819                    SrcSpanInfo
4820                      { srcInfoSpan =
4821                          SrcSpan "tests/examples/DerivingVia.hs" 101 12 101 19
4822                      , srcInfoPoints = []
4823                      }))
4824              [ IRule
4825                  SrcSpanInfo
4826                    { srcInfoSpan =
4827                        SrcSpan "tests/examples/DerivingVia.hs" 102 7 102 14
4828                    , srcInfoPoints = []
4829                    }
4830                  Nothing
4831                  Nothing
4832                  (IHCon
4833                     SrcSpanInfo
4834                       { srcInfoSpan =
4835                           SrcSpan "tests/examples/DerivingVia.hs" 102 7 102 14
4836                       , srcInfoPoints = []
4837                       }
4838                     (UnQual
4839                        SrcSpanInfo
4840                          { srcInfoSpan =
4841                              SrcSpan "tests/examples/DerivingVia.hs" 102 7 102 14
4842                          , srcInfoPoints = []
4843                          }
4844                        (Ident
4845                           SrcSpanInfo
4846                             { srcInfoSpan =
4847                                 SrcSpan "tests/examples/DerivingVia.hs" 102 7 102 14
4848                             , srcInfoPoints = []
4849                             }
4850                           "Functor")))
4851              , IRule
4852                  SrcSpanInfo
4853                    { srcInfoSpan =
4854                        SrcSpan "tests/examples/DerivingVia.hs" 103 7 103 18
4855                    , srcInfoPoints = []
4856                    }
4857                  Nothing
4858                  Nothing
4859                  (IHCon
4860                     SrcSpanInfo
4861                       { srcInfoSpan =
4862                           SrcSpan "tests/examples/DerivingVia.hs" 103 7 103 18
4863                       , srcInfoPoints = []
4864                       }
4865                     (UnQual
4866                        SrcSpanInfo
4867                          { srcInfoSpan =
4868                              SrcSpan "tests/examples/DerivingVia.hs" 103 7 103 18
4869                          , srcInfoPoints = []
4870                          }
4871                        (Ident
4872                           SrcSpanInfo
4873                             { srcInfoSpan =
4874                                 SrcSpan "tests/examples/DerivingVia.hs" 103 7 103 18
4875                             , srcInfoPoints = []
4876                             }
4877                           "Applicative")))
4878              , IRule
4879                  SrcSpanInfo
4880                    { srcInfoSpan =
4881                        SrcSpan "tests/examples/DerivingVia.hs" 104 7 104 12
4882                    , srcInfoPoints = []
4883                    }
4884                  Nothing
4885                  Nothing
4886                  (IHCon
4887                     SrcSpanInfo
4888                       { srcInfoSpan =
4889                           SrcSpan "tests/examples/DerivingVia.hs" 104 7 104 12
4890                       , srcInfoPoints = []
4891                       }
4892                     (UnQual
4893                        SrcSpanInfo
4894                          { srcInfoSpan =
4895                              SrcSpan "tests/examples/DerivingVia.hs" 104 7 104 12
4896                          , srcInfoPoints = []
4897                          }
4898                        (Ident
4899                           SrcSpanInfo
4900                             { srcInfoSpan =
4901                                 SrcSpan "tests/examples/DerivingVia.hs" 104 7 104 12
4902                             , srcInfoPoints = []
4903                             }
4904                           "Monad")))
4905              , IRule
4906                  SrcSpanInfo
4907                    { srcInfoSpan =
4908                        SrcSpan "tests/examples/DerivingVia.hs" 105 7 105 22
4909                    , srcInfoPoints = []
4910                    }
4911                  Nothing
4912                  Nothing
4913                  (IHApp
4914                     SrcSpanInfo
4915                       { srcInfoSpan =
4916                           SrcSpan "tests/examples/DerivingVia.hs" 105 7 105 22
4917                       , srcInfoPoints = []
4918                       }
4919                     (IHCon
4920                        SrcSpanInfo
4921                          { srcInfoSpan =
4922                              SrcSpan "tests/examples/DerivingVia.hs" 105 7 105 18
4923                          , srcInfoPoints = []
4924                          }
4925                        (UnQual
4926                           SrcSpanInfo
4927                             { srcInfoSpan =
4928                                 SrcSpan "tests/examples/DerivingVia.hs" 105 7 105 18
4929                             , srcInfoPoints = []
4930                             }
4931                           (Ident
4932                              SrcSpanInfo
4933                                { srcInfoSpan =
4934                                    SrcSpan "tests/examples/DerivingVia.hs" 105 7 105 18
4935                                , srcInfoPoints = []
4936                                }
4937                              "MonadReader")))
4938                     (TyCon
4939                        SrcSpanInfo
4940                          { srcInfoSpan =
4941                              SrcSpan "tests/examples/DerivingVia.hs" 105 19 105 22
4942                          , srcInfoPoints = []
4943                          }
4944                        (UnQual
4945                           SrcSpanInfo
4946                             { srcInfoSpan =
4947                                 SrcSpan "tests/examples/DerivingVia.hs" 105 19 105 22
4948                             , srcInfoPoints = []
4949                             }
4950                           (Ident
4951                              SrcSpanInfo
4952                                { srcInfoSpan =
4953                                    SrcSpan "tests/examples/DerivingVia.hs" 105 19 105 22
4954                                , srcInfoPoints = []
4955                                }
4956                              "Int"))))
4957              , IRule
4958                  SrcSpanInfo
4959                    { srcInfoSpan =
4960                        SrcSpan "tests/examples/DerivingVia.hs" 106 7 106 22
4961                    , srcInfoPoints = []
4962                    }
4963                  Nothing
4964                  Nothing
4965                  (IHApp
4966                     SrcSpanInfo
4967                       { srcInfoSpan =
4968                           SrcSpan "tests/examples/DerivingVia.hs" 106 7 106 22
4969                       , srcInfoPoints = []
4970                       }
4971                     (IHCon
4972                        SrcSpanInfo
4973                          { srcInfoSpan =
4974                              SrcSpan "tests/examples/DerivingVia.hs" 106 7 106 17
4975                          , srcInfoPoints = []
4976                          }
4977                        (UnQual
4978                           SrcSpanInfo
4979                             { srcInfoSpan =
4980                                 SrcSpan "tests/examples/DerivingVia.hs" 106 7 106 17
4981                             , srcInfoPoints = []
4982                             }
4983                           (Ident
4984                              SrcSpanInfo
4985                                { srcInfoSpan =
4986                                    SrcSpan "tests/examples/DerivingVia.hs" 106 7 106 17
4987                                , srcInfoPoints = []
4988                                }
4989                              "MonadState")))
4990                     (TyCon
4991                        SrcSpanInfo
4992                          { srcInfoSpan =
4993                              SrcSpan "tests/examples/DerivingVia.hs" 106 18 106 22
4994                          , srcInfoPoints = []
4995                          }
4996                        (UnQual
4997                           SrcSpanInfo
4998                             { srcInfoSpan =
4999                                 SrcSpan "tests/examples/DerivingVia.hs" 106 18 106 22
5000                             , srcInfoPoints = []
5001                             }
5002                           (Ident
5003                              SrcSpanInfo
5004                                { srcInfoSpan =
5005                                    SrcSpan "tests/examples/DerivingVia.hs" 106 18 106 22
5006                                , srcInfoPoints = []
5007                                }
5008                              "Bool"))))
5009              , IRule
5010                  SrcSpanInfo
5011                    { srcInfoSpan =
5012                        SrcSpan "tests/examples/DerivingVia.hs" 107 7 107 25
5013                    , srcInfoPoints = []
5014                    }
5015                  Nothing
5016                  Nothing
5017                  (IHApp
5018                     SrcSpanInfo
5019                       { srcInfoSpan =
5020                           SrcSpan "tests/examples/DerivingVia.hs" 107 7 107 25
5021                       , srcInfoPoints = []
5022                       }
5023                     (IHCon
5024                        SrcSpanInfo
5025                          { srcInfoSpan =
5026                              SrcSpan "tests/examples/DerivingVia.hs" 107 7 107 18
5027                          , srcInfoPoints = []
5028                          }
5029                        (UnQual
5030                           SrcSpanInfo
5031                             { srcInfoSpan =
5032                                 SrcSpan "tests/examples/DerivingVia.hs" 107 7 107 18
5033                             , srcInfoPoints = []
5034                             }
5035                           (Ident
5036                              SrcSpanInfo
5037                                { srcInfoSpan =
5038                                    SrcSpan "tests/examples/DerivingVia.hs" 107 7 107 18
5039                                , srcInfoPoints = []
5040                                }
5041                              "MonadWriter")))
5042                     (TyCon
5043                        SrcSpanInfo
5044                          { srcInfoSpan =
5045                              SrcSpan "tests/examples/DerivingVia.hs" 107 19 107 25
5046                          , srcInfoPoints = []
5047                          }
5048                        (UnQual
5049                           SrcSpanInfo
5050                             { srcInfoSpan =
5051                                 SrcSpan "tests/examples/DerivingVia.hs" 107 19 107 25
5052                             , srcInfoPoints = []
5053                             }
5054                           (Ident
5055                              SrcSpanInfo
5056                                { srcInfoSpan =
5057                                    SrcSpan "tests/examples/DerivingVia.hs" 107 19 107 25
5058                                , srcInfoPoints = []
5059                                }
5060                              "String"))))
5061              ]
5062          , Deriving
5063              SrcSpanInfo
5064                { srcInfoSpan =
5065                    SrcSpan "tests/examples/DerivingVia.hs" 109 3 109 34
5066                , srcInfoPoints =
5067                    [ SrcSpan "tests/examples/DerivingVia.hs" 109 3 109 11
5068                    , SrcSpan "tests/examples/DerivingVia.hs" 109 12 109 13
5069                    , SrcSpan "tests/examples/DerivingVia.hs" 109 23 109 24
5070                    , SrcSpan "tests/examples/DerivingVia.hs" 109 33 109 34
5071                    ]
5072                }
5073              (Just
5074                 (DerivVia
5075                    SrcSpanInfo
5076                      { srcInfoSpan =
5077                          SrcSpan "tests/examples/DerivingVia.hs" 110 8 110 11
5078                      , srcInfoPoints = []
5079                      }
5080                    (TyParen
5081                       SrcSpanInfo
5082                         { srcInfoSpan =
5083                             SrcSpan "tests/examples/DerivingVia.hs" 110 12 110 74
5084                         , srcInfoPoints =
5085                             [ SrcSpan "tests/examples/DerivingVia.hs" 110 12 110 13
5086                             , SrcSpan "tests/examples/DerivingVia.hs" 110 73 110 74
5087                             ]
5088                         }
5089                       (TyInfix
5090                          SrcSpanInfo
5091                            { srcInfoSpan =
5092                                SrcSpan "tests/examples/DerivingVia.hs" 110 13 110 73
5093                            , srcInfoPoints = []
5094                            }
5095                          (TyApp
5096                             SrcSpanInfo
5097                               { srcInfoSpan =
5098                                   SrcSpan "tests/examples/DerivingVia.hs" 110 13 110 24
5099                               , srcInfoPoints = []
5100                               }
5101                             (TyCon
5102                                SrcSpanInfo
5103                                  { srcInfoSpan =
5104                                      SrcSpan "tests/examples/DerivingVia.hs" 110 13 110 20
5105                                  , srcInfoPoints = []
5106                                  }
5107                                (UnQual
5108                                   SrcSpanInfo
5109                                     { srcInfoSpan =
5110                                         SrcSpan "tests/examples/DerivingVia.hs" 110 13 110 20
5111                                     , srcInfoPoints = []
5112                                     }
5113                                   (Ident
5114                                      SrcSpanInfo
5115                                        { srcInfoSpan =
5116                                            SrcSpan "tests/examples/DerivingVia.hs" 110 13 110 20
5117                                        , srcInfoPoints = []
5118                                        }
5119                                      "ReaderT")))
5120                             (TyCon
5121                                SrcSpanInfo
5122                                  { srcInfoSpan =
5123                                      SrcSpan "tests/examples/DerivingVia.hs" 110 21 110 24
5124                                  , srcInfoPoints = []
5125                                  }
5126                                (UnQual
5127                                   SrcSpanInfo
5128                                     { srcInfoSpan =
5129                                         SrcSpan "tests/examples/DerivingVia.hs" 110 21 110 24
5130                                     , srcInfoPoints = []
5131                                     }
5132                                   (Ident
5133                                      SrcSpanInfo
5134                                        { srcInfoSpan =
5135                                            SrcSpan "tests/examples/DerivingVia.hs" 110 21 110 24
5136                                        , srcInfoPoints = []
5137                                        }
5138                                      "Int"))))
5139                          (UnpromotedName
5140                             SrcSpanInfo
5141                               { srcInfoSpan =
5142                                   SrcSpan "tests/examples/DerivingVia.hs" 110 25 110 35
5143                               , srcInfoPoints =
5144                                   [ SrcSpan "tests/examples/DerivingVia.hs" 110 25 110 26
5145                                   , SrcSpan "tests/examples/DerivingVia.hs" 110 26 110 34
5146                                   , SrcSpan "tests/examples/DerivingVia.hs" 110 34 110 35
5147                                   ]
5148                               }
5149                             (UnQual
5150                                SrcSpanInfo
5151                                  { srcInfoSpan =
5152                                      SrcSpan "tests/examples/DerivingVia.hs" 110 25 110 35
5153                                  , srcInfoPoints =
5154                                      [ SrcSpan "tests/examples/DerivingVia.hs" 110 25 110 26
5155                                      , SrcSpan "tests/examples/DerivingVia.hs" 110 26 110 34
5156                                      , SrcSpan "tests/examples/DerivingVia.hs" 110 34 110 35
5157                                      ]
5158                                  }
5159                                (Ident
5160                                   SrcSpanInfo
5161                                     { srcInfoSpan =
5162                                         SrcSpan "tests/examples/DerivingVia.hs" 110 26 110 34
5163                                     , srcInfoPoints = []
5164                                     }
5165                                   "ComposeT")))
5166                          (TyInfix
5167                             SrcSpanInfo
5168                               { srcInfoSpan =
5169                                   SrcSpan "tests/examples/DerivingVia.hs" 110 36 110 73
5170                               , srcInfoPoints = []
5171                               }
5172                             (TyApp
5173                                SrcSpanInfo
5174                                  { srcInfoSpan =
5175                                      SrcSpan "tests/examples/DerivingVia.hs" 110 36 110 47
5176                                  , srcInfoPoints = []
5177                                  }
5178                                (TyCon
5179                                   SrcSpanInfo
5180                                     { srcInfoSpan =
5181                                         SrcSpan "tests/examples/DerivingVia.hs" 110 36 110 42
5182                                     , srcInfoPoints = []
5183                                     }
5184                                   (UnQual
5185                                      SrcSpanInfo
5186                                        { srcInfoSpan =
5187                                            SrcSpan "tests/examples/DerivingVia.hs" 110 36 110 42
5188                                        , srcInfoPoints = []
5189                                        }
5190                                      (Ident
5191                                         SrcSpanInfo
5192                                           { srcInfoSpan =
5193                                               SrcSpan "tests/examples/DerivingVia.hs" 110 36 110 42
5194                                           , srcInfoPoints = []
5195                                           }
5196                                         "StateT")))
5197                                (TyCon
5198                                   SrcSpanInfo
5199                                     { srcInfoSpan =
5200                                         SrcSpan "tests/examples/DerivingVia.hs" 110 43 110 47
5201                                     , srcInfoPoints = []
5202                                     }
5203                                   (UnQual
5204                                      SrcSpanInfo
5205                                        { srcInfoSpan =
5206                                            SrcSpan "tests/examples/DerivingVia.hs" 110 43 110 47
5207                                        , srcInfoPoints = []
5208                                        }
5209                                      (Ident
5210                                         SrcSpanInfo
5211                                           { srcInfoSpan =
5212                                               SrcSpan "tests/examples/DerivingVia.hs" 110 43 110 47
5213                                           , srcInfoPoints = []
5214                                           }
5215                                         "Bool"))))
5216                             (UnpromotedName
5217                                SrcSpanInfo
5218                                  { srcInfoSpan =
5219                                      SrcSpan "tests/examples/DerivingVia.hs" 110 48 110 58
5220                                  , srcInfoPoints =
5221                                      [ SrcSpan "tests/examples/DerivingVia.hs" 110 48 110 49
5222                                      , SrcSpan "tests/examples/DerivingVia.hs" 110 49 110 57
5223                                      , SrcSpan "tests/examples/DerivingVia.hs" 110 57 110 58
5224                                      ]
5225                                  }
5226                                (UnQual
5227                                   SrcSpanInfo
5228                                     { srcInfoSpan =
5229                                         SrcSpan "tests/examples/DerivingVia.hs" 110 48 110 58
5230                                     , srcInfoPoints =
5231                                         [ SrcSpan "tests/examples/DerivingVia.hs" 110 48 110 49
5232                                         , SrcSpan "tests/examples/DerivingVia.hs" 110 49 110 57
5233                                         , SrcSpan "tests/examples/DerivingVia.hs" 110 57 110 58
5234                                         ]
5235                                     }
5236                                   (Ident
5237                                      SrcSpanInfo
5238                                        { srcInfoSpan =
5239                                            SrcSpan "tests/examples/DerivingVia.hs" 110 49 110 57
5240                                        , srcInfoPoints = []
5241                                        }
5242                                      "ComposeT")))
5243                             (TyApp
5244                                SrcSpanInfo
5245                                  { srcInfoSpan =
5246                                      SrcSpan "tests/examples/DerivingVia.hs" 110 59 110 73
5247                                  , srcInfoPoints = []
5248                                  }
5249                                (TyCon
5250                                   SrcSpanInfo
5251                                     { srcInfoSpan =
5252                                         SrcSpan "tests/examples/DerivingVia.hs" 110 59 110 66
5253                                     , srcInfoPoints = []
5254                                     }
5255                                   (UnQual
5256                                      SrcSpanInfo
5257                                        { srcInfoSpan =
5258                                            SrcSpan "tests/examples/DerivingVia.hs" 110 59 110 66
5259                                        , srcInfoPoints = []
5260                                        }
5261                                      (Ident
5262                                         SrcSpanInfo
5263                                           { srcInfoSpan =
5264                                               SrcSpan "tests/examples/DerivingVia.hs" 110 59 110 66
5265                                           , srcInfoPoints = []
5266                                           }
5267                                         "WriterT")))
5268                                (TyCon
5269                                   SrcSpanInfo
5270                                     { srcInfoSpan =
5271                                         SrcSpan "tests/examples/DerivingVia.hs" 110 67 110 73
5272                                     , srcInfoPoints = []
5273                                     }
5274                                   (UnQual
5275                                      SrcSpanInfo
5276                                        { srcInfoSpan =
5277                                            SrcSpan "tests/examples/DerivingVia.hs" 110 67 110 73
5278                                        , srcInfoPoints = []
5279                                        }
5280                                      (Ident
5281                                         SrcSpanInfo
5282                                           { srcInfoSpan =
5283                                               SrcSpan "tests/examples/DerivingVia.hs" 110 67 110 73
5284                                           , srcInfoPoints = []
5285                                           }
5286                                         "String")))))))))
5287              [ IRule
5288                  SrcSpanInfo
5289                    { srcInfoSpan =
5290                        SrcSpan "tests/examples/DerivingVia.hs" 109 13 109 23
5291                    , srcInfoPoints = []
5292                    }
5293                  Nothing
5294                  Nothing
5295                  (IHCon
5296                     SrcSpanInfo
5297                       { srcInfoSpan =
5298                           SrcSpan "tests/examples/DerivingVia.hs" 109 13 109 23
5299                       , srcInfoPoints = []
5300                       }
5301                     (UnQual
5302                        SrcSpanInfo
5303                          { srcInfoSpan =
5304                              SrcSpan "tests/examples/DerivingVia.hs" 109 13 109 23
5305                          , srcInfoPoints = []
5306                          }
5307                        (Ident
5308                           SrcSpanInfo
5309                             { srcInfoSpan =
5310                                 SrcSpan "tests/examples/DerivingVia.hs" 109 13 109 23
5311                             , srcInfoPoints = []
5312                             }
5313                           "MonadTrans")))
5314              , IRule
5315                  SrcSpanInfo
5316                    { srcInfoSpan =
5317                        SrcSpan "tests/examples/DerivingVia.hs" 109 25 109 33
5318                    , srcInfoPoints = []
5319                    }
5320                  Nothing
5321                  Nothing
5322                  (IHCon
5323                     SrcSpanInfo
5324                       { srcInfoSpan =
5325                           SrcSpan "tests/examples/DerivingVia.hs" 109 25 109 33
5326                       , srcInfoPoints = []
5327                       }
5328                     (UnQual
5329                        SrcSpanInfo
5330                          { srcInfoSpan =
5331                              SrcSpan "tests/examples/DerivingVia.hs" 109 25 109 33
5332                          , srcInfoPoints = []
5333                          }
5334                        (Ident
5335                           SrcSpanInfo
5336                             { srcInfoSpan =
5337                                 SrcSpan "tests/examples/DerivingVia.hs" 109 25 109 33
5338                             , srcInfoPoints = []
5339                             }
5340                           "MFunctor")))
5341              ]
5342          ]
5343      , ClassDecl
5344          SrcSpanInfo
5345            { srcInfoSpan =
5346                SrcSpan "tests/examples/DerivingVia.hs" 112 1 113 57
5347            , srcInfoPoints =
5348                [ SrcSpan "tests/examples/DerivingVia.hs" 112 1 112 6
5349                , SrcSpan "tests/examples/DerivingVia.hs" 112 34 112 39
5350                , SrcSpan "tests/examples/DerivingVia.hs" 113 3 113 3
5351                , SrcSpan "tests/examples/DerivingVia.hs" 115 1 115 0
5352                ]
5353            }
5354          Nothing
5355          (DHApp
5356             SrcSpanInfo
5357               { srcInfoSpan =
5358                   SrcSpan "tests/examples/DerivingVia.hs" 112 7 112 33
5359               , srcInfoPoints = []
5360               }
5361             (DHead
5362                SrcSpanInfo
5363                  { srcInfoSpan =
5364                      SrcSpan "tests/examples/DerivingVia.hs" 112 7 112 15
5365                  , srcInfoPoints = []
5366                  }
5367                (Ident
5368                   SrcSpanInfo
5369                     { srcInfoSpan =
5370                         SrcSpan "tests/examples/DerivingVia.hs" 112 7 112 15
5371                     , srcInfoPoints = []
5372                     }
5373                   "MFunctor"))
5374             (KindedVar
5375                SrcSpanInfo
5376                  { srcInfoSpan =
5377                      SrcSpan "tests/examples/DerivingVia.hs" 112 16 112 33
5378                  , srcInfoPoints =
5379                      [ SrcSpan "tests/examples/DerivingVia.hs" 112 16 112 17
5380                      , SrcSpan "tests/examples/DerivingVia.hs" 112 23 112 25
5381                      , SrcSpan "tests/examples/DerivingVia.hs" 112 32 112 33
5382                      ]
5383                  }
5384                (Ident
5385                   SrcSpanInfo
5386                     { srcInfoSpan =
5387                         SrcSpan "tests/examples/DerivingVia.hs" 112 17 112 22
5388                     , srcInfoPoints = []
5389                     }
5390                   "trans")
5391                (TyCon
5392                   SrcSpanInfo
5393                     { srcInfoSpan =
5394                         SrcSpan "tests/examples/DerivingVia.hs" 112 26 112 32
5395                     , srcInfoPoints = []
5396                     }
5397                   (UnQual
5398                      SrcSpanInfo
5399                        { srcInfoSpan =
5400                            SrcSpan "tests/examples/DerivingVia.hs" 112 26 112 32
5401                        , srcInfoPoints = []
5402                        }
5403                      (Ident
5404                         SrcSpanInfo
5405                           { srcInfoSpan =
5406                               SrcSpan "tests/examples/DerivingVia.hs" 112 26 112 32
5407                           , srcInfoPoints = []
5408                           }
5409                         "MTrans")))))
5410          []
5411          (Just
5412             [ ClsDecl
5413                 SrcSpanInfo
5414                   { srcInfoSpan =
5415                       SrcSpan "tests/examples/DerivingVia.hs" 113 3 113 57
5416                   , srcInfoPoints =
5417                       [ SrcSpan "tests/examples/DerivingVia.hs" 113 9 113 11 ]
5418                   }
5419                 (TypeSig
5420                    SrcSpanInfo
5421                      { srcInfoSpan =
5422                          SrcSpan "tests/examples/DerivingVia.hs" 113 3 113 57
5423                      , srcInfoPoints =
5424                          [ SrcSpan "tests/examples/DerivingVia.hs" 113 9 113 11 ]
5425                      }
5426                    [ Ident
5427                        SrcSpanInfo
5428                          { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 113 3 113 8
5429                          , srcInfoPoints = []
5430                          }
5431                        "hoist"
5432                    ]
5433                    (TyForall
5434                       SrcSpanInfo
5435                         { srcInfoSpan =
5436                             SrcSpan "tests/examples/DerivingVia.hs" 113 12 113 57
5437                         , srcInfoPoints = []
5438                         }
5439                       Nothing
5440                       (Just
5441                          (CxSingle
5442                             SrcSpanInfo
5443                               { srcInfoSpan =
5444                                   SrcSpan "tests/examples/DerivingVia.hs" 113 12 113 22
5445                               , srcInfoPoints =
5446                                   [ SrcSpan "tests/examples/DerivingVia.hs" 113 20 113 22 ]
5447                               }
5448                             (TypeA
5449                                SrcSpanInfo
5450                                  { srcInfoSpan =
5451                                      SrcSpan "tests/examples/DerivingVia.hs" 113 12 113 22
5452                                  , srcInfoPoints =
5453                                      [ SrcSpan "tests/examples/DerivingVia.hs" 113 20 113 22 ]
5454                                  }
5455                                (TyApp
5456                                   SrcSpanInfo
5457                                     { srcInfoSpan =
5458                                         SrcSpan "tests/examples/DerivingVia.hs" 113 12 113 22
5459                                     , srcInfoPoints =
5460                                         [ SrcSpan "tests/examples/DerivingVia.hs" 113 20 113 22 ]
5461                                     }
5462                                   (TyCon
5463                                      SrcSpanInfo
5464                                        { srcInfoSpan =
5465                                            SrcSpan "tests/examples/DerivingVia.hs" 113 12 113 22
5466                                        , srcInfoPoints =
5467                                            [ SrcSpan "tests/examples/DerivingVia.hs" 113 20 113 22
5468                                            ]
5469                                        }
5470                                      (UnQual
5471                                         SrcSpanInfo
5472                                           { srcInfoSpan =
5473                                               SrcSpan "tests/examples/DerivingVia.hs" 113 12 113 17
5474                                           , srcInfoPoints = []
5475                                           }
5476                                         (Ident
5477                                            SrcSpanInfo
5478                                              { srcInfoSpan =
5479                                                  SrcSpan
5480                                                    "tests/examples/DerivingVia.hs" 113 12 113 17
5481                                              , srcInfoPoints = []
5482                                              }
5483                                            "Monad")))
5484                                   (TyVar
5485                                      SrcSpanInfo
5486                                        { srcInfoSpan =
5487                                            SrcSpan "tests/examples/DerivingVia.hs" 113 18 113 19
5488                                        , srcInfoPoints = []
5489                                        }
5490                                      (Ident
5491                                         SrcSpanInfo
5492                                           { srcInfoSpan =
5493                                               SrcSpan "tests/examples/DerivingVia.hs" 113 18 113 19
5494                                           , srcInfoPoints = []
5495                                           }
5496                                         "m"))))))
5497                       (TyFun
5498                          SrcSpanInfo
5499                            { srcInfoSpan =
5500                                SrcSpan "tests/examples/DerivingVia.hs" 113 23 113 57
5501                            , srcInfoPoints =
5502                                [ SrcSpan "tests/examples/DerivingVia.hs" 113 33 113 35 ]
5503                            }
5504                          (TyParen
5505                             SrcSpanInfo
5506                               { srcInfoSpan =
5507                                   SrcSpan "tests/examples/DerivingVia.hs" 113 23 113 32
5508                               , srcInfoPoints =
5509                                   [ SrcSpan "tests/examples/DerivingVia.hs" 113 23 113 24
5510                                   , SrcSpan "tests/examples/DerivingVia.hs" 113 31 113 32
5511                                   ]
5512                               }
5513                             (TyInfix
5514                                SrcSpanInfo
5515                                  { srcInfoSpan =
5516                                      SrcSpan "tests/examples/DerivingVia.hs" 113 24 113 31
5517                                  , srcInfoPoints = []
5518                                  }
5519                                (TyVar
5520                                   SrcSpanInfo
5521                                     { srcInfoSpan =
5522                                         SrcSpan "tests/examples/DerivingVia.hs" 113 24 113 25
5523                                     , srcInfoPoints = []
5524                                     }
5525                                   (Ident
5526                                      SrcSpanInfo
5527                                        { srcInfoSpan =
5528                                            SrcSpan "tests/examples/DerivingVia.hs" 113 24 113 25
5529                                        , srcInfoPoints = []
5530                                        }
5531                                      "m"))
5532                                (UnpromotedName
5533                                   SrcSpanInfo
5534                                     { srcInfoSpan =
5535                                         SrcSpan "tests/examples/DerivingVia.hs" 113 26 113 28
5536                                     , srcInfoPoints = []
5537                                     }
5538                                   (UnQual
5539                                      SrcSpanInfo
5540                                        { srcInfoSpan =
5541                                            SrcSpan "tests/examples/DerivingVia.hs" 113 26 113 28
5542                                        , srcInfoPoints = []
5543                                        }
5544                                      (Symbol
5545                                         SrcSpanInfo
5546                                           { srcInfoSpan =
5547                                               SrcSpan "tests/examples/DerivingVia.hs" 113 26 113 28
5548                                           , srcInfoPoints = []
5549                                           }
5550                                         "~>")))
5551                                (TyVar
5552                                   SrcSpanInfo
5553                                     { srcInfoSpan =
5554                                         SrcSpan "tests/examples/DerivingVia.hs" 113 29 113 31
5555                                     , srcInfoPoints = []
5556                                     }
5557                                   (Ident
5558                                      SrcSpanInfo
5559                                        { srcInfoSpan =
5560                                            SrcSpan "tests/examples/DerivingVia.hs" 113 29 113 31
5561                                        , srcInfoPoints = []
5562                                        }
5563                                      "m'"))))
5564                          (TyParen
5565                             SrcSpanInfo
5566                               { srcInfoSpan =
5567                                   SrcSpan "tests/examples/DerivingVia.hs" 113 36 113 57
5568                               , srcInfoPoints =
5569                                   [ SrcSpan "tests/examples/DerivingVia.hs" 113 36 113 37
5570                                   , SrcSpan "tests/examples/DerivingVia.hs" 113 56 113 57
5571                                   ]
5572                               }
5573                             (TyInfix
5574                                SrcSpanInfo
5575                                  { srcInfoSpan =
5576                                      SrcSpan "tests/examples/DerivingVia.hs" 113 37 113 56
5577                                  , srcInfoPoints = []
5578                                  }
5579                                (TyApp
5580                                   SrcSpanInfo
5581                                     { srcInfoSpan =
5582                                         SrcSpan "tests/examples/DerivingVia.hs" 113 37 113 44
5583                                     , srcInfoPoints = []
5584                                     }
5585                                   (TyVar
5586                                      SrcSpanInfo
5587                                        { srcInfoSpan =
5588                                            SrcSpan "tests/examples/DerivingVia.hs" 113 37 113 42
5589                                        , srcInfoPoints = []
5590                                        }
5591                                      (Ident
5592                                         SrcSpanInfo
5593                                           { srcInfoSpan =
5594                                               SrcSpan "tests/examples/DerivingVia.hs" 113 37 113 42
5595                                           , srcInfoPoints = []
5596                                           }
5597                                         "trans"))
5598                                   (TyVar
5599                                      SrcSpanInfo
5600                                        { srcInfoSpan =
5601                                            SrcSpan "tests/examples/DerivingVia.hs" 113 43 113 44
5602                                        , srcInfoPoints = []
5603                                        }
5604                                      (Ident
5605                                         SrcSpanInfo
5606                                           { srcInfoSpan =
5607                                               SrcSpan "tests/examples/DerivingVia.hs" 113 43 113 44
5608                                           , srcInfoPoints = []
5609                                           }
5610                                         "m")))
5611                                (UnpromotedName
5612                                   SrcSpanInfo
5613                                     { srcInfoSpan =
5614                                         SrcSpan "tests/examples/DerivingVia.hs" 113 45 113 47
5615                                     , srcInfoPoints = []
5616                                     }
5617                                   (UnQual
5618                                      SrcSpanInfo
5619                                        { srcInfoSpan =
5620                                            SrcSpan "tests/examples/DerivingVia.hs" 113 45 113 47
5621                                        , srcInfoPoints = []
5622                                        }
5623                                      (Symbol
5624                                         SrcSpanInfo
5625                                           { srcInfoSpan =
5626                                               SrcSpan "tests/examples/DerivingVia.hs" 113 45 113 47
5627                                           , srcInfoPoints = []
5628                                           }
5629                                         "~>")))
5630                                (TyApp
5631                                   SrcSpanInfo
5632                                     { srcInfoSpan =
5633                                         SrcSpan "tests/examples/DerivingVia.hs" 113 48 113 56
5634                                     , srcInfoPoints = []
5635                                     }
5636                                   (TyVar
5637                                      SrcSpanInfo
5638                                        { srcInfoSpan =
5639                                            SrcSpan "tests/examples/DerivingVia.hs" 113 48 113 53
5640                                        , srcInfoPoints = []
5641                                        }
5642                                      (Ident
5643                                         SrcSpanInfo
5644                                           { srcInfoSpan =
5645                                               SrcSpan "tests/examples/DerivingVia.hs" 113 48 113 53
5646                                           , srcInfoPoints = []
5647                                           }
5648                                         "trans"))
5649                                   (TyVar
5650                                      SrcSpanInfo
5651                                        { srcInfoSpan =
5652                                            SrcSpan "tests/examples/DerivingVia.hs" 113 54 113 56
5653                                        , srcInfoPoints = []
5654                                        }
5655                                      (Ident
5656                                         SrcSpanInfo
5657                                           { srcInfoSpan =
5658                                               SrcSpan "tests/examples/DerivingVia.hs" 113 54 113 56
5659                                           , srcInfoPoints = []
5660                                           }
5661                                         "m'"))))))))
5662             ])
5663      , InstDecl
5664          SrcSpanInfo
5665            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 115 1 119 0
5666            , srcInfoPoints =
5667                [ SrcSpan "tests/examples/DerivingVia.hs" 115 1 115 9
5668                , SrcSpan "tests/examples/DerivingVia.hs" 115 41 115 46
5669                , SrcSpan "tests/examples/DerivingVia.hs" 116 3 116 3
5670                , SrcSpan "tests/examples/DerivingVia.hs" 117 3 117 3
5671                , SrcSpan "tests/examples/DerivingVia.hs" 119 1 119 0
5672                ]
5673            }
5674          Nothing
5675          (IRule
5676             SrcSpanInfo
5677               { srcInfoSpan =
5678                   SrcSpan "tests/examples/DerivingVia.hs" 115 10 115 40
5679               , srcInfoPoints = []
5680               }
5681             Nothing
5682             Nothing
5683             (IHApp
5684                SrcSpanInfo
5685                  { srcInfoSpan =
5686                      SrcSpan "tests/examples/DerivingVia.hs" 115 10 115 40
5687                  , srcInfoPoints = []
5688                  }
5689                (IHCon
5690                   SrcSpanInfo
5691                     { srcInfoSpan =
5692                         SrcSpan "tests/examples/DerivingVia.hs" 115 10 115 18
5693                     , srcInfoPoints = []
5694                     }
5695                   (UnQual
5696                      SrcSpanInfo
5697                        { srcInfoSpan =
5698                            SrcSpan "tests/examples/DerivingVia.hs" 115 10 115 18
5699                        , srcInfoPoints = []
5700                        }
5701                      (Ident
5702                         SrcSpanInfo
5703                           { srcInfoSpan =
5704                               SrcSpan "tests/examples/DerivingVia.hs" 115 10 115 18
5705                           , srcInfoPoints = []
5706                           }
5707                         "MFunctor")))
5708                (TyKind
5709                   SrcSpanInfo
5710                     { srcInfoSpan =
5711                         SrcSpan "tests/examples/DerivingVia.hs" 115 19 115 40
5712                     , srcInfoPoints =
5713                         [ SrcSpan "tests/examples/DerivingVia.hs" 115 19 115 20
5714                         , SrcSpan "tests/examples/DerivingVia.hs" 115 30 115 32
5715                         , SrcSpan "tests/examples/DerivingVia.hs" 115 39 115 40
5716                         ]
5717                     }
5718                   (TyApp
5719                      SrcSpanInfo
5720                        { srcInfoSpan =
5721                            SrcSpan "tests/examples/DerivingVia.hs" 115 20 115 29
5722                        , srcInfoPoints = []
5723                        }
5724                      (TyCon
5725                         SrcSpanInfo
5726                           { srcInfoSpan =
5727                               SrcSpan "tests/examples/DerivingVia.hs" 115 20 115 27
5728                           , srcInfoPoints = []
5729                           }
5730                         (UnQual
5731                            SrcSpanInfo
5732                              { srcInfoSpan =
5733                                  SrcSpan "tests/examples/DerivingVia.hs" 115 20 115 27
5734                              , srcInfoPoints = []
5735                              }
5736                            (Ident
5737                               SrcSpanInfo
5738                                 { srcInfoSpan =
5739                                     SrcSpan "tests/examples/DerivingVia.hs" 115 20 115 27
5740                                 , srcInfoPoints = []
5741                                 }
5742                               "ReaderT")))
5743                      (TyVar
5744                         SrcSpanInfo
5745                           { srcInfoSpan =
5746                               SrcSpan "tests/examples/DerivingVia.hs" 115 28 115 29
5747                           , srcInfoPoints = []
5748                           }
5749                         (Ident
5750                            SrcSpanInfo
5751                              { srcInfoSpan =
5752                                  SrcSpan "tests/examples/DerivingVia.hs" 115 28 115 29
5753                              , srcInfoPoints = []
5754                              }
5755                            "r")))
5756                   (TyCon
5757                      SrcSpanInfo
5758                        { srcInfoSpan =
5759                            SrcSpan "tests/examples/DerivingVia.hs" 115 33 115 39
5760                        , srcInfoPoints = []
5761                        }
5762                      (UnQual
5763                         SrcSpanInfo
5764                           { srcInfoSpan =
5765                               SrcSpan "tests/examples/DerivingVia.hs" 115 33 115 39
5766                           , srcInfoPoints = []
5767                           }
5768                         (Ident
5769                            SrcSpanInfo
5770                              { srcInfoSpan =
5771                                  SrcSpan "tests/examples/DerivingVia.hs" 115 33 115 39
5772                              , srcInfoPoints = []
5773                              }
5774                            "MTrans"))))))
5775          (Just
5776             [ InsDecl
5777                 SrcSpanInfo
5778                   { srcInfoSpan =
5779                       SrcSpan "tests/examples/DerivingVia.hs" 116 3 116 65
5780                   , srcInfoPoints =
5781                       [ SrcSpan "tests/examples/DerivingVia.hs" 116 9 116 11 ]
5782                   }
5783                 (TypeSig
5784                    SrcSpanInfo
5785                      { srcInfoSpan =
5786                          SrcSpan "tests/examples/DerivingVia.hs" 116 3 116 65
5787                      , srcInfoPoints =
5788                          [ SrcSpan "tests/examples/DerivingVia.hs" 116 9 116 11 ]
5789                      }
5790                    [ Ident
5791                        SrcSpanInfo
5792                          { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 116 3 116 8
5793                          , srcInfoPoints = []
5794                          }
5795                        "hoist"
5796                    ]
5797                    (TyForall
5798                       SrcSpanInfo
5799                         { srcInfoSpan =
5800                             SrcSpan "tests/examples/DerivingVia.hs" 116 12 116 65
5801                         , srcInfoPoints = []
5802                         }
5803                       Nothing
5804                       (Just
5805                          (CxSingle
5806                             SrcSpanInfo
5807                               { srcInfoSpan =
5808                                   SrcSpan "tests/examples/DerivingVia.hs" 116 12 116 22
5809                               , srcInfoPoints =
5810                                   [ SrcSpan "tests/examples/DerivingVia.hs" 116 20 116 22 ]
5811                               }
5812                             (TypeA
5813                                SrcSpanInfo
5814                                  { srcInfoSpan =
5815                                      SrcSpan "tests/examples/DerivingVia.hs" 116 12 116 22
5816                                  , srcInfoPoints =
5817                                      [ SrcSpan "tests/examples/DerivingVia.hs" 116 20 116 22 ]
5818                                  }
5819                                (TyApp
5820                                   SrcSpanInfo
5821                                     { srcInfoSpan =
5822                                         SrcSpan "tests/examples/DerivingVia.hs" 116 12 116 22
5823                                     , srcInfoPoints =
5824                                         [ SrcSpan "tests/examples/DerivingVia.hs" 116 20 116 22 ]
5825                                     }
5826                                   (TyCon
5827                                      SrcSpanInfo
5828                                        { srcInfoSpan =
5829                                            SrcSpan "tests/examples/DerivingVia.hs" 116 12 116 22
5830                                        , srcInfoPoints =
5831                                            [ SrcSpan "tests/examples/DerivingVia.hs" 116 20 116 22
5832                                            ]
5833                                        }
5834                                      (UnQual
5835                                         SrcSpanInfo
5836                                           { srcInfoSpan =
5837                                               SrcSpan "tests/examples/DerivingVia.hs" 116 12 116 17
5838                                           , srcInfoPoints = []
5839                                           }
5840                                         (Ident
5841                                            SrcSpanInfo
5842                                              { srcInfoSpan =
5843                                                  SrcSpan
5844                                                    "tests/examples/DerivingVia.hs" 116 12 116 17
5845                                              , srcInfoPoints = []
5846                                              }
5847                                            "Monad")))
5848                                   (TyVar
5849                                      SrcSpanInfo
5850                                        { srcInfoSpan =
5851                                            SrcSpan "tests/examples/DerivingVia.hs" 116 18 116 19
5852                                        , srcInfoPoints = []
5853                                        }
5854                                      (Ident
5855                                         SrcSpanInfo
5856                                           { srcInfoSpan =
5857                                               SrcSpan "tests/examples/DerivingVia.hs" 116 18 116 19
5858                                           , srcInfoPoints = []
5859                                           }
5860                                         "m"))))))
5861                       (TyFun
5862                          SrcSpanInfo
5863                            { srcInfoSpan =
5864                                SrcSpan "tests/examples/DerivingVia.hs" 116 23 116 65
5865                            , srcInfoPoints =
5866                                [ SrcSpan "tests/examples/DerivingVia.hs" 116 33 116 35 ]
5867                            }
5868                          (TyParen
5869                             SrcSpanInfo
5870                               { srcInfoSpan =
5871                                   SrcSpan "tests/examples/DerivingVia.hs" 116 23 116 32
5872                               , srcInfoPoints =
5873                                   [ SrcSpan "tests/examples/DerivingVia.hs" 116 23 116 24
5874                                   , SrcSpan "tests/examples/DerivingVia.hs" 116 31 116 32
5875                                   ]
5876                               }
5877                             (TyInfix
5878                                SrcSpanInfo
5879                                  { srcInfoSpan =
5880                                      SrcSpan "tests/examples/DerivingVia.hs" 116 24 116 31
5881                                  , srcInfoPoints = []
5882                                  }
5883                                (TyVar
5884                                   SrcSpanInfo
5885                                     { srcInfoSpan =
5886                                         SrcSpan "tests/examples/DerivingVia.hs" 116 24 116 25
5887                                     , srcInfoPoints = []
5888                                     }
5889                                   (Ident
5890                                      SrcSpanInfo
5891                                        { srcInfoSpan =
5892                                            SrcSpan "tests/examples/DerivingVia.hs" 116 24 116 25
5893                                        , srcInfoPoints = []
5894                                        }
5895                                      "m"))
5896                                (UnpromotedName
5897                                   SrcSpanInfo
5898                                     { srcInfoSpan =
5899                                         SrcSpan "tests/examples/DerivingVia.hs" 116 26 116 28
5900                                     , srcInfoPoints = []
5901                                     }
5902                                   (UnQual
5903                                      SrcSpanInfo
5904                                        { srcInfoSpan =
5905                                            SrcSpan "tests/examples/DerivingVia.hs" 116 26 116 28
5906                                        , srcInfoPoints = []
5907                                        }
5908                                      (Symbol
5909                                         SrcSpanInfo
5910                                           { srcInfoSpan =
5911                                               SrcSpan "tests/examples/DerivingVia.hs" 116 26 116 28
5912                                           , srcInfoPoints = []
5913                                           }
5914                                         "~>")))
5915                                (TyVar
5916                                   SrcSpanInfo
5917                                     { srcInfoSpan =
5918                                         SrcSpan "tests/examples/DerivingVia.hs" 116 29 116 31
5919                                     , srcInfoPoints = []
5920                                     }
5921                                   (Ident
5922                                      SrcSpanInfo
5923                                        { srcInfoSpan =
5924                                            SrcSpan "tests/examples/DerivingVia.hs" 116 29 116 31
5925                                        , srcInfoPoints = []
5926                                        }
5927                                      "m'"))))
5928                          (TyParen
5929                             SrcSpanInfo
5930                               { srcInfoSpan =
5931                                   SrcSpan "tests/examples/DerivingVia.hs" 116 36 116 65
5932                               , srcInfoPoints =
5933                                   [ SrcSpan "tests/examples/DerivingVia.hs" 116 36 116 37
5934                                   , SrcSpan "tests/examples/DerivingVia.hs" 116 64 116 65
5935                                   ]
5936                               }
5937                             (TyInfix
5938                                SrcSpanInfo
5939                                  { srcInfoSpan =
5940                                      SrcSpan "tests/examples/DerivingVia.hs" 116 37 116 64
5941                                  , srcInfoPoints = []
5942                                  }
5943                                (TyApp
5944                                   SrcSpanInfo
5945                                     { srcInfoSpan =
5946                                         SrcSpan "tests/examples/DerivingVia.hs" 116 37 116 48
5947                                     , srcInfoPoints = []
5948                                     }
5949                                   (TyApp
5950                                      SrcSpanInfo
5951                                        { srcInfoSpan =
5952                                            SrcSpan "tests/examples/DerivingVia.hs" 116 37 116 46
5953                                        , srcInfoPoints = []
5954                                        }
5955                                      (TyCon
5956                                         SrcSpanInfo
5957                                           { srcInfoSpan =
5958                                               SrcSpan "tests/examples/DerivingVia.hs" 116 37 116 44
5959                                           , srcInfoPoints = []
5960                                           }
5961                                         (UnQual
5962                                            SrcSpanInfo
5963                                              { srcInfoSpan =
5964                                                  SrcSpan
5965                                                    "tests/examples/DerivingVia.hs" 116 37 116 44
5966                                              , srcInfoPoints = []
5967                                              }
5968                                            (Ident
5969                                               SrcSpanInfo
5970                                                 { srcInfoSpan =
5971                                                     SrcSpan
5972                                                       "tests/examples/DerivingVia.hs" 116 37 116 44
5973                                                 , srcInfoPoints = []
5974                                                 }
5975                                               "ReaderT")))
5976                                      (TyVar
5977                                         SrcSpanInfo
5978                                           { srcInfoSpan =
5979                                               SrcSpan "tests/examples/DerivingVia.hs" 116 45 116 46
5980                                           , srcInfoPoints = []
5981                                           }
5982                                         (Ident
5983                                            SrcSpanInfo
5984                                              { srcInfoSpan =
5985                                                  SrcSpan
5986                                                    "tests/examples/DerivingVia.hs" 116 45 116 46
5987                                              , srcInfoPoints = []
5988                                              }
5989                                            "r")))
5990                                   (TyVar
5991                                      SrcSpanInfo
5992                                        { srcInfoSpan =
5993                                            SrcSpan "tests/examples/DerivingVia.hs" 116 47 116 48
5994                                        , srcInfoPoints = []
5995                                        }
5996                                      (Ident
5997                                         SrcSpanInfo
5998                                           { srcInfoSpan =
5999                                               SrcSpan "tests/examples/DerivingVia.hs" 116 47 116 48
6000                                           , srcInfoPoints = []
6001                                           }
6002                                         "m")))
6003                                (UnpromotedName
6004                                   SrcSpanInfo
6005                                     { srcInfoSpan =
6006                                         SrcSpan "tests/examples/DerivingVia.hs" 116 49 116 51
6007                                     , srcInfoPoints = []
6008                                     }
6009                                   (UnQual
6010                                      SrcSpanInfo
6011                                        { srcInfoSpan =
6012                                            SrcSpan "tests/examples/DerivingVia.hs" 116 49 116 51
6013                                        , srcInfoPoints = []
6014                                        }
6015                                      (Symbol
6016                                         SrcSpanInfo
6017                                           { srcInfoSpan =
6018                                               SrcSpan "tests/examples/DerivingVia.hs" 116 49 116 51
6019                                           , srcInfoPoints = []
6020                                           }
6021                                         "~>")))
6022                                (TyApp
6023                                   SrcSpanInfo
6024                                     { srcInfoSpan =
6025                                         SrcSpan "tests/examples/DerivingVia.hs" 116 52 116 64
6026                                     , srcInfoPoints = []
6027                                     }
6028                                   (TyApp
6029                                      SrcSpanInfo
6030                                        { srcInfoSpan =
6031                                            SrcSpan "tests/examples/DerivingVia.hs" 116 52 116 61
6032                                        , srcInfoPoints = []
6033                                        }
6034                                      (TyCon
6035                                         SrcSpanInfo
6036                                           { srcInfoSpan =
6037                                               SrcSpan "tests/examples/DerivingVia.hs" 116 52 116 59
6038                                           , srcInfoPoints = []
6039                                           }
6040                                         (UnQual
6041                                            SrcSpanInfo
6042                                              { srcInfoSpan =
6043                                                  SrcSpan
6044                                                    "tests/examples/DerivingVia.hs" 116 52 116 59
6045                                              , srcInfoPoints = []
6046                                              }
6047                                            (Ident
6048                                               SrcSpanInfo
6049                                                 { srcInfoSpan =
6050                                                     SrcSpan
6051                                                       "tests/examples/DerivingVia.hs" 116 52 116 59
6052                                                 , srcInfoPoints = []
6053                                                 }
6054                                               "ReaderT")))
6055                                      (TyVar
6056                                         SrcSpanInfo
6057                                           { srcInfoSpan =
6058                                               SrcSpan "tests/examples/DerivingVia.hs" 116 60 116 61
6059                                           , srcInfoPoints = []
6060                                           }
6061                                         (Ident
6062                                            SrcSpanInfo
6063                                              { srcInfoSpan =
6064                                                  SrcSpan
6065                                                    "tests/examples/DerivingVia.hs" 116 60 116 61
6066                                              , srcInfoPoints = []
6067                                              }
6068                                            "r")))
6069                                   (TyVar
6070                                      SrcSpanInfo
6071                                        { srcInfoSpan =
6072                                            SrcSpan "tests/examples/DerivingVia.hs" 116 62 116 64
6073                                        , srcInfoPoints = []
6074                                        }
6075                                      (Ident
6076                                         SrcSpanInfo
6077                                           { srcInfoSpan =
6078                                               SrcSpan "tests/examples/DerivingVia.hs" 116 62 116 64
6079                                           , srcInfoPoints = []
6080                                           }
6081                                         "m'"))))))))
6082             , InsDecl
6083                 SrcSpanInfo
6084                   { srcInfoSpan =
6085                       SrcSpan "tests/examples/DerivingVia.hs" 117 3 117 46
6086                   , srcInfoPoints = []
6087                   }
6088                 (FunBind
6089                    SrcSpanInfo
6090                      { srcInfoSpan =
6091                          SrcSpan "tests/examples/DerivingVia.hs" 117 3 117 46
6092                      , srcInfoPoints = []
6093                      }
6094                    [ Match
6095                        SrcSpanInfo
6096                          { srcInfoSpan =
6097                              SrcSpan "tests/examples/DerivingVia.hs" 117 3 117 46
6098                          , srcInfoPoints = []
6099                          }
6100                        (Ident
6101                           SrcSpanInfo
6102                             { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 117 3 117 8
6103                             , srcInfoPoints = []
6104                             }
6105                           "hoist")
6106                        [ PVar
6107                            SrcSpanInfo
6108                              { srcInfoSpan =
6109                                  SrcSpan "tests/examples/DerivingVia.hs" 117 9 117 12
6110                              , srcInfoPoints = []
6111                              }
6112                            (Ident
6113                               SrcSpanInfo
6114                                 { srcInfoSpan =
6115                                     SrcSpan "tests/examples/DerivingVia.hs" 117 9 117 12
6116                                 , srcInfoPoints = []
6117                                 }
6118                               "nat")
6119                        ]
6120                        (UnGuardedRhs
6121                           SrcSpanInfo
6122                             { srcInfoSpan =
6123                                 SrcSpan "tests/examples/DerivingVia.hs" 117 13 117 46
6124                             , srcInfoPoints =
6125                                 [ SrcSpan "tests/examples/DerivingVia.hs" 117 13 117 14 ]
6126                             }
6127                           (InfixApp
6128                              SrcSpanInfo
6129                                { srcInfoSpan =
6130                                    SrcSpan "tests/examples/DerivingVia.hs" 117 15 117 46
6131                                , srcInfoPoints = []
6132                                }
6133                              (Con
6134                                 SrcSpanInfo
6135                                   { srcInfoSpan =
6136                                       SrcSpan "tests/examples/DerivingVia.hs" 117 15 117 22
6137                                   , srcInfoPoints = []
6138                                   }
6139                                 (UnQual
6140                                    SrcSpanInfo
6141                                      { srcInfoSpan =
6142                                          SrcSpan "tests/examples/DerivingVia.hs" 117 15 117 22
6143                                      , srcInfoPoints = []
6144                                      }
6145                                    (Ident
6146                                       SrcSpanInfo
6147                                         { srcInfoSpan =
6148                                             SrcSpan "tests/examples/DerivingVia.hs" 117 15 117 22
6149                                         , srcInfoPoints = []
6150                                         }
6151                                       "ReaderT")))
6152                              (QVarOp
6153                                 SrcSpanInfo
6154                                   { srcInfoSpan =
6155                                       SrcSpan "tests/examples/DerivingVia.hs" 117 23 117 24
6156                                   , srcInfoPoints = []
6157                                   }
6158                                 (UnQual
6159                                    SrcSpanInfo
6160                                      { srcInfoSpan =
6161                                          SrcSpan "tests/examples/DerivingVia.hs" 117 23 117 24
6162                                      , srcInfoPoints = []
6163                                      }
6164                                    (Symbol
6165                                       SrcSpanInfo
6166                                         { srcInfoSpan =
6167                                             SrcSpan "tests/examples/DerivingVia.hs" 117 23 117 24
6168                                         , srcInfoPoints = []
6169                                         }
6170                                       ".")))
6171                              (InfixApp
6172                                 SrcSpanInfo
6173                                   { srcInfoSpan =
6174                                       SrcSpan "tests/examples/DerivingVia.hs" 117 25 117 46
6175                                   , srcInfoPoints = []
6176                                   }
6177                                 (App
6178                                    SrcSpanInfo
6179                                      { srcInfoSpan =
6180                                          SrcSpan "tests/examples/DerivingVia.hs" 117 25 117 33
6181                                      , srcInfoPoints = []
6182                                      }
6183                                    (Var
6184                                       SrcSpanInfo
6185                                         { srcInfoSpan =
6186                                             SrcSpan "tests/examples/DerivingVia.hs" 117 25 117 29
6187                                         , srcInfoPoints = []
6188                                         }
6189                                       (UnQual
6190                                          SrcSpanInfo
6191                                            { srcInfoSpan =
6192                                                SrcSpan
6193                                                  "tests/examples/DerivingVia.hs" 117 25 117 29
6194                                            , srcInfoPoints = []
6195                                            }
6196                                          (Ident
6197                                             SrcSpanInfo
6198                                               { srcInfoSpan =
6199                                                   SrcSpan
6200                                                     "tests/examples/DerivingVia.hs" 117 25 117 29
6201                                               , srcInfoPoints = []
6202                                               }
6203                                             "fmap")))
6204                                    (Var
6205                                       SrcSpanInfo
6206                                         { srcInfoSpan =
6207                                             SrcSpan "tests/examples/DerivingVia.hs" 117 30 117 33
6208                                         , srcInfoPoints = []
6209                                         }
6210                                       (UnQual
6211                                          SrcSpanInfo
6212                                            { srcInfoSpan =
6213                                                SrcSpan
6214                                                  "tests/examples/DerivingVia.hs" 117 30 117 33
6215                                            , srcInfoPoints = []
6216                                            }
6217                                          (Ident
6218                                             SrcSpanInfo
6219                                               { srcInfoSpan =
6220                                                   SrcSpan
6221                                                     "tests/examples/DerivingVia.hs" 117 30 117 33
6222                                               , srcInfoPoints = []
6223                                               }
6224                                             "nat"))))
6225                                 (QVarOp
6226                                    SrcSpanInfo
6227                                      { srcInfoSpan =
6228                                          SrcSpan "tests/examples/DerivingVia.hs" 117 34 117 35
6229                                      , srcInfoPoints = []
6230                                      }
6231                                    (UnQual
6232                                       SrcSpanInfo
6233                                         { srcInfoSpan =
6234                                             SrcSpan "tests/examples/DerivingVia.hs" 117 34 117 35
6235                                         , srcInfoPoints = []
6236                                         }
6237                                       (Symbol
6238                                          SrcSpanInfo
6239                                            { srcInfoSpan =
6240                                                SrcSpan
6241                                                  "tests/examples/DerivingVia.hs" 117 34 117 35
6242                                            , srcInfoPoints = []
6243                                            }
6244                                          ".")))
6245                                 (Var
6246                                    SrcSpanInfo
6247                                      { srcInfoSpan =
6248                                          SrcSpan "tests/examples/DerivingVia.hs" 117 36 117 46
6249                                      , srcInfoPoints = []
6250                                      }
6251                                    (UnQual
6252                                       SrcSpanInfo
6253                                         { srcInfoSpan =
6254                                             SrcSpan "tests/examples/DerivingVia.hs" 117 36 117 46
6255                                         , srcInfoPoints = []
6256                                         }
6257                                       (Ident
6258                                          SrcSpanInfo
6259                                            { srcInfoSpan =
6260                                                SrcSpan
6261                                                  "tests/examples/DerivingVia.hs" 117 36 117 46
6262                                            , srcInfoPoints = []
6263                                            }
6264                                          "runReaderT"))))))
6265                        Nothing
6266                    ])
6267             ])
6268      , InstDecl
6269          SrcSpanInfo
6270            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 119 1 123 0
6271            , srcInfoPoints =
6272                [ SrcSpan "tests/examples/DerivingVia.hs" 119 1 119 9
6273                , SrcSpan "tests/examples/DerivingVia.hs" 119 40 119 45
6274                , SrcSpan "tests/examples/DerivingVia.hs" 120 3 120 3
6275                , SrcSpan "tests/examples/DerivingVia.hs" 121 3 121 3
6276                , SrcSpan "tests/examples/DerivingVia.hs" 123 1 123 0
6277                ]
6278            }
6279          Nothing
6280          (IRule
6281             SrcSpanInfo
6282               { srcInfoSpan =
6283                   SrcSpan "tests/examples/DerivingVia.hs" 119 10 119 39
6284               , srcInfoPoints = []
6285               }
6286             Nothing
6287             Nothing
6288             (IHApp
6289                SrcSpanInfo
6290                  { srcInfoSpan =
6291                      SrcSpan "tests/examples/DerivingVia.hs" 119 10 119 39
6292                  , srcInfoPoints = []
6293                  }
6294                (IHCon
6295                   SrcSpanInfo
6296                     { srcInfoSpan =
6297                         SrcSpan "tests/examples/DerivingVia.hs" 119 10 119 18
6298                     , srcInfoPoints = []
6299                     }
6300                   (UnQual
6301                      SrcSpanInfo
6302                        { srcInfoSpan =
6303                            SrcSpan "tests/examples/DerivingVia.hs" 119 10 119 18
6304                        , srcInfoPoints = []
6305                        }
6306                      (Ident
6307                         SrcSpanInfo
6308                           { srcInfoSpan =
6309                               SrcSpan "tests/examples/DerivingVia.hs" 119 10 119 18
6310                           , srcInfoPoints = []
6311                           }
6312                         "MFunctor")))
6313                (TyKind
6314                   SrcSpanInfo
6315                     { srcInfoSpan =
6316                         SrcSpan "tests/examples/DerivingVia.hs" 119 19 119 39
6317                     , srcInfoPoints =
6318                         [ SrcSpan "tests/examples/DerivingVia.hs" 119 19 119 20
6319                         , SrcSpan "tests/examples/DerivingVia.hs" 119 29 119 31
6320                         , SrcSpan "tests/examples/DerivingVia.hs" 119 38 119 39
6321                         ]
6322                     }
6323                   (TyApp
6324                      SrcSpanInfo
6325                        { srcInfoSpan =
6326                            SrcSpan "tests/examples/DerivingVia.hs" 119 20 119 28
6327                        , srcInfoPoints = []
6328                        }
6329                      (TyCon
6330                         SrcSpanInfo
6331                           { srcInfoSpan =
6332                               SrcSpan "tests/examples/DerivingVia.hs" 119 20 119 26
6333                           , srcInfoPoints = []
6334                           }
6335                         (UnQual
6336                            SrcSpanInfo
6337                              { srcInfoSpan =
6338                                  SrcSpan "tests/examples/DerivingVia.hs" 119 20 119 26
6339                              , srcInfoPoints = []
6340                              }
6341                            (Ident
6342                               SrcSpanInfo
6343                                 { srcInfoSpan =
6344                                     SrcSpan "tests/examples/DerivingVia.hs" 119 20 119 26
6345                                 , srcInfoPoints = []
6346                                 }
6347                               "StateT")))
6348                      (TyVar
6349                         SrcSpanInfo
6350                           { srcInfoSpan =
6351                               SrcSpan "tests/examples/DerivingVia.hs" 119 27 119 28
6352                           , srcInfoPoints = []
6353                           }
6354                         (Ident
6355                            SrcSpanInfo
6356                              { srcInfoSpan =
6357                                  SrcSpan "tests/examples/DerivingVia.hs" 119 27 119 28
6358                              , srcInfoPoints = []
6359                              }
6360                            "s")))
6361                   (TyCon
6362                      SrcSpanInfo
6363                        { srcInfoSpan =
6364                            SrcSpan "tests/examples/DerivingVia.hs" 119 32 119 38
6365                        , srcInfoPoints = []
6366                        }
6367                      (UnQual
6368                         SrcSpanInfo
6369                           { srcInfoSpan =
6370                               SrcSpan "tests/examples/DerivingVia.hs" 119 32 119 38
6371                           , srcInfoPoints = []
6372                           }
6373                         (Ident
6374                            SrcSpanInfo
6375                              { srcInfoSpan =
6376                                  SrcSpan "tests/examples/DerivingVia.hs" 119 32 119 38
6377                              , srcInfoPoints = []
6378                              }
6379                            "MTrans"))))))
6380          (Just
6381             [ InsDecl
6382                 SrcSpanInfo
6383                   { srcInfoSpan =
6384                       SrcSpan "tests/examples/DerivingVia.hs" 120 3 120 63
6385                   , srcInfoPoints =
6386                       [ SrcSpan "tests/examples/DerivingVia.hs" 120 9 120 11 ]
6387                   }
6388                 (TypeSig
6389                    SrcSpanInfo
6390                      { srcInfoSpan =
6391                          SrcSpan "tests/examples/DerivingVia.hs" 120 3 120 63
6392                      , srcInfoPoints =
6393                          [ SrcSpan "tests/examples/DerivingVia.hs" 120 9 120 11 ]
6394                      }
6395                    [ Ident
6396                        SrcSpanInfo
6397                          { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 120 3 120 8
6398                          , srcInfoPoints = []
6399                          }
6400                        "hoist"
6401                    ]
6402                    (TyForall
6403                       SrcSpanInfo
6404                         { srcInfoSpan =
6405                             SrcSpan "tests/examples/DerivingVia.hs" 120 12 120 63
6406                         , srcInfoPoints = []
6407                         }
6408                       Nothing
6409                       (Just
6410                          (CxSingle
6411                             SrcSpanInfo
6412                               { srcInfoSpan =
6413                                   SrcSpan "tests/examples/DerivingVia.hs" 120 12 120 22
6414                               , srcInfoPoints =
6415                                   [ SrcSpan "tests/examples/DerivingVia.hs" 120 20 120 22 ]
6416                               }
6417                             (TypeA
6418                                SrcSpanInfo
6419                                  { srcInfoSpan =
6420                                      SrcSpan "tests/examples/DerivingVia.hs" 120 12 120 22
6421                                  , srcInfoPoints =
6422                                      [ SrcSpan "tests/examples/DerivingVia.hs" 120 20 120 22 ]
6423                                  }
6424                                (TyApp
6425                                   SrcSpanInfo
6426                                     { srcInfoSpan =
6427                                         SrcSpan "tests/examples/DerivingVia.hs" 120 12 120 22
6428                                     , srcInfoPoints =
6429                                         [ SrcSpan "tests/examples/DerivingVia.hs" 120 20 120 22 ]
6430                                     }
6431                                   (TyCon
6432                                      SrcSpanInfo
6433                                        { srcInfoSpan =
6434                                            SrcSpan "tests/examples/DerivingVia.hs" 120 12 120 22
6435                                        , srcInfoPoints =
6436                                            [ SrcSpan "tests/examples/DerivingVia.hs" 120 20 120 22
6437                                            ]
6438                                        }
6439                                      (UnQual
6440                                         SrcSpanInfo
6441                                           { srcInfoSpan =
6442                                               SrcSpan "tests/examples/DerivingVia.hs" 120 12 120 17
6443                                           , srcInfoPoints = []
6444                                           }
6445                                         (Ident
6446                                            SrcSpanInfo
6447                                              { srcInfoSpan =
6448                                                  SrcSpan
6449                                                    "tests/examples/DerivingVia.hs" 120 12 120 17
6450                                              , srcInfoPoints = []
6451                                              }
6452                                            "Monad")))
6453                                   (TyVar
6454                                      SrcSpanInfo
6455                                        { srcInfoSpan =
6456                                            SrcSpan "tests/examples/DerivingVia.hs" 120 18 120 19
6457                                        , srcInfoPoints = []
6458                                        }
6459                                      (Ident
6460                                         SrcSpanInfo
6461                                           { srcInfoSpan =
6462                                               SrcSpan "tests/examples/DerivingVia.hs" 120 18 120 19
6463                                           , srcInfoPoints = []
6464                                           }
6465                                         "m"))))))
6466                       (TyFun
6467                          SrcSpanInfo
6468                            { srcInfoSpan =
6469                                SrcSpan "tests/examples/DerivingVia.hs" 120 23 120 63
6470                            , srcInfoPoints =
6471                                [ SrcSpan "tests/examples/DerivingVia.hs" 120 33 120 35 ]
6472                            }
6473                          (TyParen
6474                             SrcSpanInfo
6475                               { srcInfoSpan =
6476                                   SrcSpan "tests/examples/DerivingVia.hs" 120 23 120 32
6477                               , srcInfoPoints =
6478                                   [ SrcSpan "tests/examples/DerivingVia.hs" 120 23 120 24
6479                                   , SrcSpan "tests/examples/DerivingVia.hs" 120 31 120 32
6480                                   ]
6481                               }
6482                             (TyInfix
6483                                SrcSpanInfo
6484                                  { srcInfoSpan =
6485                                      SrcSpan "tests/examples/DerivingVia.hs" 120 24 120 31
6486                                  , srcInfoPoints = []
6487                                  }
6488                                (TyVar
6489                                   SrcSpanInfo
6490                                     { srcInfoSpan =
6491                                         SrcSpan "tests/examples/DerivingVia.hs" 120 24 120 25
6492                                     , srcInfoPoints = []
6493                                     }
6494                                   (Ident
6495                                      SrcSpanInfo
6496                                        { srcInfoSpan =
6497                                            SrcSpan "tests/examples/DerivingVia.hs" 120 24 120 25
6498                                        , srcInfoPoints = []
6499                                        }
6500                                      "m"))
6501                                (UnpromotedName
6502                                   SrcSpanInfo
6503                                     { srcInfoSpan =
6504                                         SrcSpan "tests/examples/DerivingVia.hs" 120 26 120 28
6505                                     , srcInfoPoints = []
6506                                     }
6507                                   (UnQual
6508                                      SrcSpanInfo
6509                                        { srcInfoSpan =
6510                                            SrcSpan "tests/examples/DerivingVia.hs" 120 26 120 28
6511                                        , srcInfoPoints = []
6512                                        }
6513                                      (Symbol
6514                                         SrcSpanInfo
6515                                           { srcInfoSpan =
6516                                               SrcSpan "tests/examples/DerivingVia.hs" 120 26 120 28
6517                                           , srcInfoPoints = []
6518                                           }
6519                                         "~>")))
6520                                (TyVar
6521                                   SrcSpanInfo
6522                                     { srcInfoSpan =
6523                                         SrcSpan "tests/examples/DerivingVia.hs" 120 29 120 31
6524                                     , srcInfoPoints = []
6525                                     }
6526                                   (Ident
6527                                      SrcSpanInfo
6528                                        { srcInfoSpan =
6529                                            SrcSpan "tests/examples/DerivingVia.hs" 120 29 120 31
6530                                        , srcInfoPoints = []
6531                                        }
6532                                      "m'"))))
6533                          (TyParen
6534                             SrcSpanInfo
6535                               { srcInfoSpan =
6536                                   SrcSpan "tests/examples/DerivingVia.hs" 120 36 120 63
6537                               , srcInfoPoints =
6538                                   [ SrcSpan "tests/examples/DerivingVia.hs" 120 36 120 37
6539                                   , SrcSpan "tests/examples/DerivingVia.hs" 120 62 120 63
6540                                   ]
6541                               }
6542                             (TyInfix
6543                                SrcSpanInfo
6544                                  { srcInfoSpan =
6545                                      SrcSpan "tests/examples/DerivingVia.hs" 120 37 120 62
6546                                  , srcInfoPoints = []
6547                                  }
6548                                (TyApp
6549                                   SrcSpanInfo
6550                                     { srcInfoSpan =
6551                                         SrcSpan "tests/examples/DerivingVia.hs" 120 37 120 47
6552                                     , srcInfoPoints = []
6553                                     }
6554                                   (TyApp
6555                                      SrcSpanInfo
6556                                        { srcInfoSpan =
6557                                            SrcSpan "tests/examples/DerivingVia.hs" 120 37 120 45
6558                                        , srcInfoPoints = []
6559                                        }
6560                                      (TyCon
6561                                         SrcSpanInfo
6562                                           { srcInfoSpan =
6563                                               SrcSpan "tests/examples/DerivingVia.hs" 120 37 120 43
6564                                           , srcInfoPoints = []
6565                                           }
6566                                         (UnQual
6567                                            SrcSpanInfo
6568                                              { srcInfoSpan =
6569                                                  SrcSpan
6570                                                    "tests/examples/DerivingVia.hs" 120 37 120 43
6571                                              , srcInfoPoints = []
6572                                              }
6573                                            (Ident
6574                                               SrcSpanInfo
6575                                                 { srcInfoSpan =
6576                                                     SrcSpan
6577                                                       "tests/examples/DerivingVia.hs" 120 37 120 43
6578                                                 , srcInfoPoints = []
6579                                                 }
6580                                               "StateT")))
6581                                      (TyVar
6582                                         SrcSpanInfo
6583                                           { srcInfoSpan =
6584                                               SrcSpan "tests/examples/DerivingVia.hs" 120 44 120 45
6585                                           , srcInfoPoints = []
6586                                           }
6587                                         (Ident
6588                                            SrcSpanInfo
6589                                              { srcInfoSpan =
6590                                                  SrcSpan
6591                                                    "tests/examples/DerivingVia.hs" 120 44 120 45
6592                                              , srcInfoPoints = []
6593                                              }
6594                                            "s")))
6595                                   (TyVar
6596                                      SrcSpanInfo
6597                                        { srcInfoSpan =
6598                                            SrcSpan "tests/examples/DerivingVia.hs" 120 46 120 47
6599                                        , srcInfoPoints = []
6600                                        }
6601                                      (Ident
6602                                         SrcSpanInfo
6603                                           { srcInfoSpan =
6604                                               SrcSpan "tests/examples/DerivingVia.hs" 120 46 120 47
6605                                           , srcInfoPoints = []
6606                                           }
6607                                         "m")))
6608                                (UnpromotedName
6609                                   SrcSpanInfo
6610                                     { srcInfoSpan =
6611                                         SrcSpan "tests/examples/DerivingVia.hs" 120 48 120 50
6612                                     , srcInfoPoints = []
6613                                     }
6614                                   (UnQual
6615                                      SrcSpanInfo
6616                                        { srcInfoSpan =
6617                                            SrcSpan "tests/examples/DerivingVia.hs" 120 48 120 50
6618                                        , srcInfoPoints = []
6619                                        }
6620                                      (Symbol
6621                                         SrcSpanInfo
6622                                           { srcInfoSpan =
6623                                               SrcSpan "tests/examples/DerivingVia.hs" 120 48 120 50
6624                                           , srcInfoPoints = []
6625                                           }
6626                                         "~>")))
6627                                (TyApp
6628                                   SrcSpanInfo
6629                                     { srcInfoSpan =
6630                                         SrcSpan "tests/examples/DerivingVia.hs" 120 51 120 62
6631                                     , srcInfoPoints = []
6632                                     }
6633                                   (TyApp
6634                                      SrcSpanInfo
6635                                        { srcInfoSpan =
6636                                            SrcSpan "tests/examples/DerivingVia.hs" 120 51 120 59
6637                                        , srcInfoPoints = []
6638                                        }
6639                                      (TyCon
6640                                         SrcSpanInfo
6641                                           { srcInfoSpan =
6642                                               SrcSpan "tests/examples/DerivingVia.hs" 120 51 120 57
6643                                           , srcInfoPoints = []
6644                                           }
6645                                         (UnQual
6646                                            SrcSpanInfo
6647                                              { srcInfoSpan =
6648                                                  SrcSpan
6649                                                    "tests/examples/DerivingVia.hs" 120 51 120 57
6650                                              , srcInfoPoints = []
6651                                              }
6652                                            (Ident
6653                                               SrcSpanInfo
6654                                                 { srcInfoSpan =
6655                                                     SrcSpan
6656                                                       "tests/examples/DerivingVia.hs" 120 51 120 57
6657                                                 , srcInfoPoints = []
6658                                                 }
6659                                               "StateT")))
6660                                      (TyVar
6661                                         SrcSpanInfo
6662                                           { srcInfoSpan =
6663                                               SrcSpan "tests/examples/DerivingVia.hs" 120 58 120 59
6664                                           , srcInfoPoints = []
6665                                           }
6666                                         (Ident
6667                                            SrcSpanInfo
6668                                              { srcInfoSpan =
6669                                                  SrcSpan
6670                                                    "tests/examples/DerivingVia.hs" 120 58 120 59
6671                                              , srcInfoPoints = []
6672                                              }
6673                                            "s")))
6674                                   (TyVar
6675                                      SrcSpanInfo
6676                                        { srcInfoSpan =
6677                                            SrcSpan "tests/examples/DerivingVia.hs" 120 60 120 62
6678                                        , srcInfoPoints = []
6679                                        }
6680                                      (Ident
6681                                         SrcSpanInfo
6682                                           { srcInfoSpan =
6683                                               SrcSpan "tests/examples/DerivingVia.hs" 120 60 120 62
6684                                           , srcInfoPoints = []
6685                                           }
6686                                         "m'"))))))))
6687             , InsDecl
6688                 SrcSpanInfo
6689                   { srcInfoSpan =
6690                       SrcSpan "tests/examples/DerivingVia.hs" 121 3 121 44
6691                   , srcInfoPoints = []
6692                   }
6693                 (FunBind
6694                    SrcSpanInfo
6695                      { srcInfoSpan =
6696                          SrcSpan "tests/examples/DerivingVia.hs" 121 3 121 44
6697                      , srcInfoPoints = []
6698                      }
6699                    [ Match
6700                        SrcSpanInfo
6701                          { srcInfoSpan =
6702                              SrcSpan "tests/examples/DerivingVia.hs" 121 3 121 44
6703                          , srcInfoPoints = []
6704                          }
6705                        (Ident
6706                           SrcSpanInfo
6707                             { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 121 3 121 8
6708                             , srcInfoPoints = []
6709                             }
6710                           "hoist")
6711                        [ PVar
6712                            SrcSpanInfo
6713                              { srcInfoSpan =
6714                                  SrcSpan "tests/examples/DerivingVia.hs" 121 9 121 12
6715                              , srcInfoPoints = []
6716                              }
6717                            (Ident
6718                               SrcSpanInfo
6719                                 { srcInfoSpan =
6720                                     SrcSpan "tests/examples/DerivingVia.hs" 121 9 121 12
6721                                 , srcInfoPoints = []
6722                                 }
6723                               "nat")
6724                        ]
6725                        (UnGuardedRhs
6726                           SrcSpanInfo
6727                             { srcInfoSpan =
6728                                 SrcSpan "tests/examples/DerivingVia.hs" 121 13 121 44
6729                             , srcInfoPoints =
6730                                 [ SrcSpan "tests/examples/DerivingVia.hs" 121 13 121 14 ]
6731                             }
6732                           (InfixApp
6733                              SrcSpanInfo
6734                                { srcInfoSpan =
6735                                    SrcSpan "tests/examples/DerivingVia.hs" 121 15 121 44
6736                                , srcInfoPoints = []
6737                                }
6738                              (Con
6739                                 SrcSpanInfo
6740                                   { srcInfoSpan =
6741                                       SrcSpan "tests/examples/DerivingVia.hs" 121 15 121 21
6742                                   , srcInfoPoints = []
6743                                   }
6744                                 (UnQual
6745                                    SrcSpanInfo
6746                                      { srcInfoSpan =
6747                                          SrcSpan "tests/examples/DerivingVia.hs" 121 15 121 21
6748                                      , srcInfoPoints = []
6749                                      }
6750                                    (Ident
6751                                       SrcSpanInfo
6752                                         { srcInfoSpan =
6753                                             SrcSpan "tests/examples/DerivingVia.hs" 121 15 121 21
6754                                         , srcInfoPoints = []
6755                                         }
6756                                       "StateT")))
6757                              (QVarOp
6758                                 SrcSpanInfo
6759                                   { srcInfoSpan =
6760                                       SrcSpan "tests/examples/DerivingVia.hs" 121 22 121 23
6761                                   , srcInfoPoints = []
6762                                   }
6763                                 (UnQual
6764                                    SrcSpanInfo
6765                                      { srcInfoSpan =
6766                                          SrcSpan "tests/examples/DerivingVia.hs" 121 22 121 23
6767                                      , srcInfoPoints = []
6768                                      }
6769                                    (Symbol
6770                                       SrcSpanInfo
6771                                         { srcInfoSpan =
6772                                             SrcSpan "tests/examples/DerivingVia.hs" 121 22 121 23
6773                                         , srcInfoPoints = []
6774                                         }
6775                                       ".")))
6776                              (InfixApp
6777                                 SrcSpanInfo
6778                                   { srcInfoSpan =
6779                                       SrcSpan "tests/examples/DerivingVia.hs" 121 24 121 44
6780                                   , srcInfoPoints = []
6781                                   }
6782                                 (App
6783                                    SrcSpanInfo
6784                                      { srcInfoSpan =
6785                                          SrcSpan "tests/examples/DerivingVia.hs" 121 24 121 32
6786                                      , srcInfoPoints = []
6787                                      }
6788                                    (Var
6789                                       SrcSpanInfo
6790                                         { srcInfoSpan =
6791                                             SrcSpan "tests/examples/DerivingVia.hs" 121 24 121 28
6792                                         , srcInfoPoints = []
6793                                         }
6794                                       (UnQual
6795                                          SrcSpanInfo
6796                                            { srcInfoSpan =
6797                                                SrcSpan
6798                                                  "tests/examples/DerivingVia.hs" 121 24 121 28
6799                                            , srcInfoPoints = []
6800                                            }
6801                                          (Ident
6802                                             SrcSpanInfo
6803                                               { srcInfoSpan =
6804                                                   SrcSpan
6805                                                     "tests/examples/DerivingVia.hs" 121 24 121 28
6806                                               , srcInfoPoints = []
6807                                               }
6808                                             "fmap")))
6809                                    (Var
6810                                       SrcSpanInfo
6811                                         { srcInfoSpan =
6812                                             SrcSpan "tests/examples/DerivingVia.hs" 121 29 121 32
6813                                         , srcInfoPoints = []
6814                                         }
6815                                       (UnQual
6816                                          SrcSpanInfo
6817                                            { srcInfoSpan =
6818                                                SrcSpan
6819                                                  "tests/examples/DerivingVia.hs" 121 29 121 32
6820                                            , srcInfoPoints = []
6821                                            }
6822                                          (Ident
6823                                             SrcSpanInfo
6824                                               { srcInfoSpan =
6825                                                   SrcSpan
6826                                                     "tests/examples/DerivingVia.hs" 121 29 121 32
6827                                               , srcInfoPoints = []
6828                                               }
6829                                             "nat"))))
6830                                 (QVarOp
6831                                    SrcSpanInfo
6832                                      { srcInfoSpan =
6833                                          SrcSpan "tests/examples/DerivingVia.hs" 121 33 121 34
6834                                      , srcInfoPoints = []
6835                                      }
6836                                    (UnQual
6837                                       SrcSpanInfo
6838                                         { srcInfoSpan =
6839                                             SrcSpan "tests/examples/DerivingVia.hs" 121 33 121 34
6840                                         , srcInfoPoints = []
6841                                         }
6842                                       (Symbol
6843                                          SrcSpanInfo
6844                                            { srcInfoSpan =
6845                                                SrcSpan
6846                                                  "tests/examples/DerivingVia.hs" 121 33 121 34
6847                                            , srcInfoPoints = []
6848                                            }
6849                                          ".")))
6850                                 (Var
6851                                    SrcSpanInfo
6852                                      { srcInfoSpan =
6853                                          SrcSpan "tests/examples/DerivingVia.hs" 121 35 121 44
6854                                      , srcInfoPoints = []
6855                                      }
6856                                    (UnQual
6857                                       SrcSpanInfo
6858                                         { srcInfoSpan =
6859                                             SrcSpan "tests/examples/DerivingVia.hs" 121 35 121 44
6860                                         , srcInfoPoints = []
6861                                         }
6862                                       (Ident
6863                                          SrcSpanInfo
6864                                            { srcInfoSpan =
6865                                                SrcSpan
6866                                                  "tests/examples/DerivingVia.hs" 121 35 121 44
6867                                            , srcInfoPoints = []
6868                                            }
6869                                          "runStateT"))))))
6870                        Nothing
6871                    ])
6872             ])
6873      , InstDecl
6874          SrcSpanInfo
6875            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 123 1 127 0
6876            , srcInfoPoints =
6877                [ SrcSpan "tests/examples/DerivingVia.hs" 123 1 123 9
6878                , SrcSpan "tests/examples/DerivingVia.hs" 123 41 123 46
6879                , SrcSpan "tests/examples/DerivingVia.hs" 124 3 124 3
6880                , SrcSpan "tests/examples/DerivingVia.hs" 125 3 125 3
6881                , SrcSpan "tests/examples/DerivingVia.hs" 127 1 127 0
6882                ]
6883            }
6884          Nothing
6885          (IRule
6886             SrcSpanInfo
6887               { srcInfoSpan =
6888                   SrcSpan "tests/examples/DerivingVia.hs" 123 10 123 40
6889               , srcInfoPoints = []
6890               }
6891             Nothing
6892             Nothing
6893             (IHApp
6894                SrcSpanInfo
6895                  { srcInfoSpan =
6896                      SrcSpan "tests/examples/DerivingVia.hs" 123 10 123 40
6897                  , srcInfoPoints = []
6898                  }
6899                (IHCon
6900                   SrcSpanInfo
6901                     { srcInfoSpan =
6902                         SrcSpan "tests/examples/DerivingVia.hs" 123 10 123 18
6903                     , srcInfoPoints = []
6904                     }
6905                   (UnQual
6906                      SrcSpanInfo
6907                        { srcInfoSpan =
6908                            SrcSpan "tests/examples/DerivingVia.hs" 123 10 123 18
6909                        , srcInfoPoints = []
6910                        }
6911                      (Ident
6912                         SrcSpanInfo
6913                           { srcInfoSpan =
6914                               SrcSpan "tests/examples/DerivingVia.hs" 123 10 123 18
6915                           , srcInfoPoints = []
6916                           }
6917                         "MFunctor")))
6918                (TyKind
6919                   SrcSpanInfo
6920                     { srcInfoSpan =
6921                         SrcSpan "tests/examples/DerivingVia.hs" 123 19 123 40
6922                     , srcInfoPoints =
6923                         [ SrcSpan "tests/examples/DerivingVia.hs" 123 19 123 20
6924                         , SrcSpan "tests/examples/DerivingVia.hs" 123 30 123 32
6925                         , SrcSpan "tests/examples/DerivingVia.hs" 123 39 123 40
6926                         ]
6927                     }
6928                   (TyApp
6929                      SrcSpanInfo
6930                        { srcInfoSpan =
6931                            SrcSpan "tests/examples/DerivingVia.hs" 123 20 123 29
6932                        , srcInfoPoints = []
6933                        }
6934                      (TyCon
6935                         SrcSpanInfo
6936                           { srcInfoSpan =
6937                               SrcSpan "tests/examples/DerivingVia.hs" 123 20 123 27
6938                           , srcInfoPoints = []
6939                           }
6940                         (UnQual
6941                            SrcSpanInfo
6942                              { srcInfoSpan =
6943                                  SrcSpan "tests/examples/DerivingVia.hs" 123 20 123 27
6944                              , srcInfoPoints = []
6945                              }
6946                            (Ident
6947                               SrcSpanInfo
6948                                 { srcInfoSpan =
6949                                     SrcSpan "tests/examples/DerivingVia.hs" 123 20 123 27
6950                                 , srcInfoPoints = []
6951                                 }
6952                               "WriterT")))
6953                      (TyVar
6954                         SrcSpanInfo
6955                           { srcInfoSpan =
6956                               SrcSpan "tests/examples/DerivingVia.hs" 123 28 123 29
6957                           , srcInfoPoints = []
6958                           }
6959                         (Ident
6960                            SrcSpanInfo
6961                              { srcInfoSpan =
6962                                  SrcSpan "tests/examples/DerivingVia.hs" 123 28 123 29
6963                              , srcInfoPoints = []
6964                              }
6965                            "w")))
6966                   (TyCon
6967                      SrcSpanInfo
6968                        { srcInfoSpan =
6969                            SrcSpan "tests/examples/DerivingVia.hs" 123 33 123 39
6970                        , srcInfoPoints = []
6971                        }
6972                      (UnQual
6973                         SrcSpanInfo
6974                           { srcInfoSpan =
6975                               SrcSpan "tests/examples/DerivingVia.hs" 123 33 123 39
6976                           , srcInfoPoints = []
6977                           }
6978                         (Ident
6979                            SrcSpanInfo
6980                              { srcInfoSpan =
6981                                  SrcSpan "tests/examples/DerivingVia.hs" 123 33 123 39
6982                              , srcInfoPoints = []
6983                              }
6984                            "MTrans"))))))
6985          (Just
6986             [ InsDecl
6987                 SrcSpanInfo
6988                   { srcInfoSpan =
6989                       SrcSpan "tests/examples/DerivingVia.hs" 124 3 124 65
6990                   , srcInfoPoints =
6991                       [ SrcSpan "tests/examples/DerivingVia.hs" 124 9 124 11 ]
6992                   }
6993                 (TypeSig
6994                    SrcSpanInfo
6995                      { srcInfoSpan =
6996                          SrcSpan "tests/examples/DerivingVia.hs" 124 3 124 65
6997                      , srcInfoPoints =
6998                          [ SrcSpan "tests/examples/DerivingVia.hs" 124 9 124 11 ]
6999                      }
7000                    [ Ident
7001                        SrcSpanInfo
7002                          { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 124 3 124 8
7003                          , srcInfoPoints = []
7004                          }
7005                        "hoist"
7006                    ]
7007                    (TyForall
7008                       SrcSpanInfo
7009                         { srcInfoSpan =
7010                             SrcSpan "tests/examples/DerivingVia.hs" 124 12 124 65
7011                         , srcInfoPoints = []
7012                         }
7013                       Nothing
7014                       (Just
7015                          (CxSingle
7016                             SrcSpanInfo
7017                               { srcInfoSpan =
7018                                   SrcSpan "tests/examples/DerivingVia.hs" 124 12 124 22
7019                               , srcInfoPoints =
7020                                   [ SrcSpan "tests/examples/DerivingVia.hs" 124 20 124 22 ]
7021                               }
7022                             (TypeA
7023                                SrcSpanInfo
7024                                  { srcInfoSpan =
7025                                      SrcSpan "tests/examples/DerivingVia.hs" 124 12 124 22
7026                                  , srcInfoPoints =
7027                                      [ SrcSpan "tests/examples/DerivingVia.hs" 124 20 124 22 ]
7028                                  }
7029                                (TyApp
7030                                   SrcSpanInfo
7031                                     { srcInfoSpan =
7032                                         SrcSpan "tests/examples/DerivingVia.hs" 124 12 124 22
7033                                     , srcInfoPoints =
7034                                         [ SrcSpan "tests/examples/DerivingVia.hs" 124 20 124 22 ]
7035                                     }
7036                                   (TyCon
7037                                      SrcSpanInfo
7038                                        { srcInfoSpan =
7039                                            SrcSpan "tests/examples/DerivingVia.hs" 124 12 124 22
7040                                        , srcInfoPoints =
7041                                            [ SrcSpan "tests/examples/DerivingVia.hs" 124 20 124 22
7042                                            ]
7043                                        }
7044                                      (UnQual
7045                                         SrcSpanInfo
7046                                           { srcInfoSpan =
7047                                               SrcSpan "tests/examples/DerivingVia.hs" 124 12 124 17
7048                                           , srcInfoPoints = []
7049                                           }
7050                                         (Ident
7051                                            SrcSpanInfo
7052                                              { srcInfoSpan =
7053                                                  SrcSpan
7054                                                    "tests/examples/DerivingVia.hs" 124 12 124 17
7055                                              , srcInfoPoints = []
7056                                              }
7057                                            "Monad")))
7058                                   (TyVar
7059                                      SrcSpanInfo
7060                                        { srcInfoSpan =
7061                                            SrcSpan "tests/examples/DerivingVia.hs" 124 18 124 19
7062                                        , srcInfoPoints = []
7063                                        }
7064                                      (Ident
7065                                         SrcSpanInfo
7066                                           { srcInfoSpan =
7067                                               SrcSpan "tests/examples/DerivingVia.hs" 124 18 124 19
7068                                           , srcInfoPoints = []
7069                                           }
7070                                         "m"))))))
7071                       (TyFun
7072                          SrcSpanInfo
7073                            { srcInfoSpan =
7074                                SrcSpan "tests/examples/DerivingVia.hs" 124 23 124 65
7075                            , srcInfoPoints =
7076                                [ SrcSpan "tests/examples/DerivingVia.hs" 124 33 124 35 ]
7077                            }
7078                          (TyParen
7079                             SrcSpanInfo
7080                               { srcInfoSpan =
7081                                   SrcSpan "tests/examples/DerivingVia.hs" 124 23 124 32
7082                               , srcInfoPoints =
7083                                   [ SrcSpan "tests/examples/DerivingVia.hs" 124 23 124 24
7084                                   , SrcSpan "tests/examples/DerivingVia.hs" 124 31 124 32
7085                                   ]
7086                               }
7087                             (TyInfix
7088                                SrcSpanInfo
7089                                  { srcInfoSpan =
7090                                      SrcSpan "tests/examples/DerivingVia.hs" 124 24 124 31
7091                                  , srcInfoPoints = []
7092                                  }
7093                                (TyVar
7094                                   SrcSpanInfo
7095                                     { srcInfoSpan =
7096                                         SrcSpan "tests/examples/DerivingVia.hs" 124 24 124 25
7097                                     , srcInfoPoints = []
7098                                     }
7099                                   (Ident
7100                                      SrcSpanInfo
7101                                        { srcInfoSpan =
7102                                            SrcSpan "tests/examples/DerivingVia.hs" 124 24 124 25
7103                                        , srcInfoPoints = []
7104                                        }
7105                                      "m"))
7106                                (UnpromotedName
7107                                   SrcSpanInfo
7108                                     { srcInfoSpan =
7109                                         SrcSpan "tests/examples/DerivingVia.hs" 124 26 124 28
7110                                     , srcInfoPoints = []
7111                                     }
7112                                   (UnQual
7113                                      SrcSpanInfo
7114                                        { srcInfoSpan =
7115                                            SrcSpan "tests/examples/DerivingVia.hs" 124 26 124 28
7116                                        , srcInfoPoints = []
7117                                        }
7118                                      (Symbol
7119                                         SrcSpanInfo
7120                                           { srcInfoSpan =
7121                                               SrcSpan "tests/examples/DerivingVia.hs" 124 26 124 28
7122                                           , srcInfoPoints = []
7123                                           }
7124                                         "~>")))
7125                                (TyVar
7126                                   SrcSpanInfo
7127                                     { srcInfoSpan =
7128                                         SrcSpan "tests/examples/DerivingVia.hs" 124 29 124 31
7129                                     , srcInfoPoints = []
7130                                     }
7131                                   (Ident
7132                                      SrcSpanInfo
7133                                        { srcInfoSpan =
7134                                            SrcSpan "tests/examples/DerivingVia.hs" 124 29 124 31
7135                                        , srcInfoPoints = []
7136                                        }
7137                                      "m'"))))
7138                          (TyParen
7139                             SrcSpanInfo
7140                               { srcInfoSpan =
7141                                   SrcSpan "tests/examples/DerivingVia.hs" 124 36 124 65
7142                               , srcInfoPoints =
7143                                   [ SrcSpan "tests/examples/DerivingVia.hs" 124 36 124 37
7144                                   , SrcSpan "tests/examples/DerivingVia.hs" 124 64 124 65
7145                                   ]
7146                               }
7147                             (TyInfix
7148                                SrcSpanInfo
7149                                  { srcInfoSpan =
7150                                      SrcSpan "tests/examples/DerivingVia.hs" 124 37 124 64
7151                                  , srcInfoPoints = []
7152                                  }
7153                                (TyApp
7154                                   SrcSpanInfo
7155                                     { srcInfoSpan =
7156                                         SrcSpan "tests/examples/DerivingVia.hs" 124 37 124 48
7157                                     , srcInfoPoints = []
7158                                     }
7159                                   (TyApp
7160                                      SrcSpanInfo
7161                                        { srcInfoSpan =
7162                                            SrcSpan "tests/examples/DerivingVia.hs" 124 37 124 46
7163                                        , srcInfoPoints = []
7164                                        }
7165                                      (TyCon
7166                                         SrcSpanInfo
7167                                           { srcInfoSpan =
7168                                               SrcSpan "tests/examples/DerivingVia.hs" 124 37 124 44
7169                                           , srcInfoPoints = []
7170                                           }
7171                                         (UnQual
7172                                            SrcSpanInfo
7173                                              { srcInfoSpan =
7174                                                  SrcSpan
7175                                                    "tests/examples/DerivingVia.hs" 124 37 124 44
7176                                              , srcInfoPoints = []
7177                                              }
7178                                            (Ident
7179                                               SrcSpanInfo
7180                                                 { srcInfoSpan =
7181                                                     SrcSpan
7182                                                       "tests/examples/DerivingVia.hs" 124 37 124 44
7183                                                 , srcInfoPoints = []
7184                                                 }
7185                                               "WriterT")))
7186                                      (TyVar
7187                                         SrcSpanInfo
7188                                           { srcInfoSpan =
7189                                               SrcSpan "tests/examples/DerivingVia.hs" 124 45 124 46
7190                                           , srcInfoPoints = []
7191                                           }
7192                                         (Ident
7193                                            SrcSpanInfo
7194                                              { srcInfoSpan =
7195                                                  SrcSpan
7196                                                    "tests/examples/DerivingVia.hs" 124 45 124 46
7197                                              , srcInfoPoints = []
7198                                              }
7199                                            "w")))
7200                                   (TyVar
7201                                      SrcSpanInfo
7202                                        { srcInfoSpan =
7203                                            SrcSpan "tests/examples/DerivingVia.hs" 124 47 124 48
7204                                        , srcInfoPoints = []
7205                                        }
7206                                      (Ident
7207                                         SrcSpanInfo
7208                                           { srcInfoSpan =
7209                                               SrcSpan "tests/examples/DerivingVia.hs" 124 47 124 48
7210                                           , srcInfoPoints = []
7211                                           }
7212                                         "m")))
7213                                (UnpromotedName
7214                                   SrcSpanInfo
7215                                     { srcInfoSpan =
7216                                         SrcSpan "tests/examples/DerivingVia.hs" 124 49 124 51
7217                                     , srcInfoPoints = []
7218                                     }
7219                                   (UnQual
7220                                      SrcSpanInfo
7221                                        { srcInfoSpan =
7222                                            SrcSpan "tests/examples/DerivingVia.hs" 124 49 124 51
7223                                        , srcInfoPoints = []
7224                                        }
7225                                      (Symbol
7226                                         SrcSpanInfo
7227                                           { srcInfoSpan =
7228                                               SrcSpan "tests/examples/DerivingVia.hs" 124 49 124 51
7229                                           , srcInfoPoints = []
7230                                           }
7231                                         "~>")))
7232                                (TyApp
7233                                   SrcSpanInfo
7234                                     { srcInfoSpan =
7235                                         SrcSpan "tests/examples/DerivingVia.hs" 124 52 124 64
7236                                     , srcInfoPoints = []
7237                                     }
7238                                   (TyApp
7239                                      SrcSpanInfo
7240                                        { srcInfoSpan =
7241                                            SrcSpan "tests/examples/DerivingVia.hs" 124 52 124 61
7242                                        , srcInfoPoints = []
7243                                        }
7244                                      (TyCon
7245                                         SrcSpanInfo
7246                                           { srcInfoSpan =
7247                                               SrcSpan "tests/examples/DerivingVia.hs" 124 52 124 59
7248                                           , srcInfoPoints = []
7249                                           }
7250                                         (UnQual
7251                                            SrcSpanInfo
7252                                              { srcInfoSpan =
7253                                                  SrcSpan
7254                                                    "tests/examples/DerivingVia.hs" 124 52 124 59
7255                                              , srcInfoPoints = []
7256                                              }
7257                                            (Ident
7258                                               SrcSpanInfo
7259                                                 { srcInfoSpan =
7260                                                     SrcSpan
7261                                                       "tests/examples/DerivingVia.hs" 124 52 124 59
7262                                                 , srcInfoPoints = []
7263                                                 }
7264                                               "WriterT")))
7265                                      (TyVar
7266                                         SrcSpanInfo
7267                                           { srcInfoSpan =
7268                                               SrcSpan "tests/examples/DerivingVia.hs" 124 60 124 61
7269                                           , srcInfoPoints = []
7270                                           }
7271                                         (Ident
7272                                            SrcSpanInfo
7273                                              { srcInfoSpan =
7274                                                  SrcSpan
7275                                                    "tests/examples/DerivingVia.hs" 124 60 124 61
7276                                              , srcInfoPoints = []
7277                                              }
7278                                            "w")))
7279                                   (TyVar
7280                                      SrcSpanInfo
7281                                        { srcInfoSpan =
7282                                            SrcSpan "tests/examples/DerivingVia.hs" 124 62 124 64
7283                                        , srcInfoPoints = []
7284                                        }
7285                                      (Ident
7286                                         SrcSpanInfo
7287                                           { srcInfoSpan =
7288                                               SrcSpan "tests/examples/DerivingVia.hs" 124 62 124 64
7289                                           , srcInfoPoints = []
7290                                           }
7291                                         "m'"))))))))
7292             , InsDecl
7293                 SrcSpanInfo
7294                   { srcInfoSpan =
7295                       SrcSpan "tests/examples/DerivingVia.hs" 125 3 125 41
7296                   , srcInfoPoints = []
7297                   }
7298                 (FunBind
7299                    SrcSpanInfo
7300                      { srcInfoSpan =
7301                          SrcSpan "tests/examples/DerivingVia.hs" 125 3 125 41
7302                      , srcInfoPoints = []
7303                      }
7304                    [ Match
7305                        SrcSpanInfo
7306                          { srcInfoSpan =
7307                              SrcSpan "tests/examples/DerivingVia.hs" 125 3 125 41
7308                          , srcInfoPoints = []
7309                          }
7310                        (Ident
7311                           SrcSpanInfo
7312                             { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 125 3 125 8
7313                             , srcInfoPoints = []
7314                             }
7315                           "hoist")
7316                        [ PVar
7317                            SrcSpanInfo
7318                              { srcInfoSpan =
7319                                  SrcSpan "tests/examples/DerivingVia.hs" 125 9 125 12
7320                              , srcInfoPoints = []
7321                              }
7322                            (Ident
7323                               SrcSpanInfo
7324                                 { srcInfoSpan =
7325                                     SrcSpan "tests/examples/DerivingVia.hs" 125 9 125 12
7326                                 , srcInfoPoints = []
7327                                 }
7328                               "nat")
7329                        ]
7330                        (UnGuardedRhs
7331                           SrcSpanInfo
7332                             { srcInfoSpan =
7333                                 SrcSpan "tests/examples/DerivingVia.hs" 125 13 125 41
7334                             , srcInfoPoints =
7335                                 [ SrcSpan "tests/examples/DerivingVia.hs" 125 13 125 14 ]
7336                             }
7337                           (InfixApp
7338                              SrcSpanInfo
7339                                { srcInfoSpan =
7340                                    SrcSpan "tests/examples/DerivingVia.hs" 125 15 125 41
7341                                , srcInfoPoints = []
7342                                }
7343                              (Con
7344                                 SrcSpanInfo
7345                                   { srcInfoSpan =
7346                                       SrcSpan "tests/examples/DerivingVia.hs" 125 15 125 22
7347                                   , srcInfoPoints = []
7348                                   }
7349                                 (UnQual
7350                                    SrcSpanInfo
7351                                      { srcInfoSpan =
7352                                          SrcSpan "tests/examples/DerivingVia.hs" 125 15 125 22
7353                                      , srcInfoPoints = []
7354                                      }
7355                                    (Ident
7356                                       SrcSpanInfo
7357                                         { srcInfoSpan =
7358                                             SrcSpan "tests/examples/DerivingVia.hs" 125 15 125 22
7359                                         , srcInfoPoints = []
7360                                         }
7361                                       "WriterT")))
7362                              (QVarOp
7363                                 SrcSpanInfo
7364                                   { srcInfoSpan =
7365                                       SrcSpan "tests/examples/DerivingVia.hs" 125 23 125 24
7366                                   , srcInfoPoints = []
7367                                   }
7368                                 (UnQual
7369                                    SrcSpanInfo
7370                                      { srcInfoSpan =
7371                                          SrcSpan "tests/examples/DerivingVia.hs" 125 23 125 24
7372                                      , srcInfoPoints = []
7373                                      }
7374                                    (Symbol
7375                                       SrcSpanInfo
7376                                         { srcInfoSpan =
7377                                             SrcSpan "tests/examples/DerivingVia.hs" 125 23 125 24
7378                                         , srcInfoPoints = []
7379                                         }
7380                                       ".")))
7381                              (InfixApp
7382                                 SrcSpanInfo
7383                                   { srcInfoSpan =
7384                                       SrcSpan "tests/examples/DerivingVia.hs" 125 25 125 41
7385                                   , srcInfoPoints = []
7386                                   }
7387                                 (Var
7388                                    SrcSpanInfo
7389                                      { srcInfoSpan =
7390                                          SrcSpan "tests/examples/DerivingVia.hs" 125 25 125 28
7391                                      , srcInfoPoints = []
7392                                      }
7393                                    (UnQual
7394                                       SrcSpanInfo
7395                                         { srcInfoSpan =
7396                                             SrcSpan "tests/examples/DerivingVia.hs" 125 25 125 28
7397                                         , srcInfoPoints = []
7398                                         }
7399                                       (Ident
7400                                          SrcSpanInfo
7401                                            { srcInfoSpan =
7402                                                SrcSpan
7403                                                  "tests/examples/DerivingVia.hs" 125 25 125 28
7404                                            , srcInfoPoints = []
7405                                            }
7406                                          "nat")))
7407                                 (QVarOp
7408                                    SrcSpanInfo
7409                                      { srcInfoSpan =
7410                                          SrcSpan "tests/examples/DerivingVia.hs" 125 29 125 30
7411                                      , srcInfoPoints = []
7412                                      }
7413                                    (UnQual
7414                                       SrcSpanInfo
7415                                         { srcInfoSpan =
7416                                             SrcSpan "tests/examples/DerivingVia.hs" 125 29 125 30
7417                                         , srcInfoPoints = []
7418                                         }
7419                                       (Symbol
7420                                          SrcSpanInfo
7421                                            { srcInfoSpan =
7422                                                SrcSpan
7423                                                  "tests/examples/DerivingVia.hs" 125 29 125 30
7424                                            , srcInfoPoints = []
7425                                            }
7426                                          ".")))
7427                                 (Var
7428                                    SrcSpanInfo
7429                                      { srcInfoSpan =
7430                                          SrcSpan "tests/examples/DerivingVia.hs" 125 31 125 41
7431                                      , srcInfoPoints = []
7432                                      }
7433                                    (UnQual
7434                                       SrcSpanInfo
7435                                         { srcInfoSpan =
7436                                             SrcSpan "tests/examples/DerivingVia.hs" 125 31 125 41
7437                                         , srcInfoPoints = []
7438                                         }
7439                                       (Ident
7440                                          SrcSpanInfo
7441                                            { srcInfoSpan =
7442                                                SrcSpan
7443                                                  "tests/examples/DerivingVia.hs" 125 31 125 41
7444                                            , srcInfoPoints = []
7445                                            }
7446                                          "runWriterT"))))))
7447                        Nothing
7448                    ])
7449             ])
7450      , InfixDecl
7451          SrcSpanInfo
7452            { srcInfoSpan =
7453                SrcSpan "tests/examples/DerivingVia.hs" 127 1 127 20
7454            , srcInfoPoints =
7455                [ SrcSpan "tests/examples/DerivingVia.hs" 127 8 127 9 ]
7456            }
7457          (AssocRight
7458             SrcSpanInfo
7459               { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 127 1 127 7
7460               , srcInfoPoints = []
7461               })
7462          (Just 9)
7463          [ ConOp
7464              SrcSpanInfo
7465                { srcInfoSpan =
7466                    SrcSpan "tests/examples/DerivingVia.hs" 127 10 127 20
7467                , srcInfoPoints =
7468                    [ SrcSpan "tests/examples/DerivingVia.hs" 127 10 127 11
7469                    , SrcSpan "tests/examples/DerivingVia.hs" 127 11 127 19
7470                    , SrcSpan "tests/examples/DerivingVia.hs" 127 19 127 20
7471                    ]
7472                }
7473              (Ident
7474                 SrcSpanInfo
7475                   { srcInfoSpan =
7476                       SrcSpan "tests/examples/DerivingVia.hs" 127 10 127 20
7477                   , srcInfoPoints =
7478                       [ SrcSpan "tests/examples/DerivingVia.hs" 127 10 127 11
7479                       , SrcSpan "tests/examples/DerivingVia.hs" 127 11 127 19
7480                       , SrcSpan "tests/examples/DerivingVia.hs" 127 19 127 20
7481                       ]
7482                   }
7483                 "ComposeT")
7484          ]
7485      , GDataDecl
7486          SrcSpanInfo
7487            { srcInfoSpan =
7488                SrcSpan "tests/examples/DerivingVia.hs" 128 1 130 49
7489            , srcInfoPoints =
7490                [ SrcSpan "tests/examples/DerivingVia.hs" 128 18 128 20
7491                , SrcSpan "tests/examples/DerivingVia.hs" 128 48 128 53
7492                , SrcSpan "tests/examples/DerivingVia.hs" 129 3 129 3
7493                , SrcSpan "tests/examples/DerivingVia.hs" 130 3 130 3
7494                , SrcSpan "tests/examples/DerivingVia.hs" 130 3 130 3
7495                ]
7496            }
7497          (NewType
7498             SrcSpanInfo
7499               { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 128 1 128 8
7500               , srcInfoPoints = []
7501               })
7502          Nothing
7503          (DHead
7504             SrcSpanInfo
7505               { srcInfoSpan =
7506                   SrcSpan "tests/examples/DerivingVia.hs" 128 9 128 17
7507               , srcInfoPoints = []
7508               }
7509             (Ident
7510                SrcSpanInfo
7511                  { srcInfoSpan =
7512                      SrcSpan "tests/examples/DerivingVia.hs" 128 9 128 17
7513                  , srcInfoPoints = []
7514                  }
7515                "ComposeT"))
7516          (Just
7517             (TyFun
7518                SrcSpanInfo
7519                  { srcInfoSpan =
7520                      SrcSpan "tests/examples/DerivingVia.hs" 128 21 128 47
7521                  , srcInfoPoints =
7522                      [ SrcSpan "tests/examples/DerivingVia.hs" 128 28 128 30 ]
7523                  }
7524                (TyCon
7525                   SrcSpanInfo
7526                     { srcInfoSpan =
7527                         SrcSpan "tests/examples/DerivingVia.hs" 128 21 128 27
7528                     , srcInfoPoints = []
7529                     }
7530                   (UnQual
7531                      SrcSpanInfo
7532                        { srcInfoSpan =
7533                            SrcSpan "tests/examples/DerivingVia.hs" 128 21 128 27
7534                        , srcInfoPoints = []
7535                        }
7536                      (Ident
7537                         SrcSpanInfo
7538                           { srcInfoSpan =
7539                               SrcSpan "tests/examples/DerivingVia.hs" 128 21 128 27
7540                           , srcInfoPoints = []
7541                           }
7542                         "MTrans")))
7543                (TyFun
7544                   SrcSpanInfo
7545                     { srcInfoSpan =
7546                         SrcSpan "tests/examples/DerivingVia.hs" 128 31 128 47
7547                     , srcInfoPoints =
7548                         [ SrcSpan "tests/examples/DerivingVia.hs" 128 38 128 40 ]
7549                     }
7550                   (TyCon
7551                      SrcSpanInfo
7552                        { srcInfoSpan =
7553                            SrcSpan "tests/examples/DerivingVia.hs" 128 31 128 37
7554                        , srcInfoPoints = []
7555                        }
7556                      (UnQual
7557                         SrcSpanInfo
7558                           { srcInfoSpan =
7559                               SrcSpan "tests/examples/DerivingVia.hs" 128 31 128 37
7560                           , srcInfoPoints = []
7561                           }
7562                         (Ident
7563                            SrcSpanInfo
7564                              { srcInfoSpan =
7565                                  SrcSpan "tests/examples/DerivingVia.hs" 128 31 128 37
7566                              , srcInfoPoints = []
7567                              }
7568                            "MTrans")))
7569                   (TyCon
7570                      SrcSpanInfo
7571                        { srcInfoSpan =
7572                            SrcSpan "tests/examples/DerivingVia.hs" 128 41 128 47
7573                        , srcInfoPoints = []
7574                        }
7575                      (UnQual
7576                         SrcSpanInfo
7577                           { srcInfoSpan =
7578                               SrcSpan "tests/examples/DerivingVia.hs" 128 41 128 47
7579                           , srcInfoPoints = []
7580                           }
7581                         (Ident
7582                            SrcSpanInfo
7583                              { srcInfoSpan =
7584                                  SrcSpan "tests/examples/DerivingVia.hs" 128 41 128 47
7585                              , srcInfoPoints = []
7586                              }
7587                            "MTrans"))))))
7588          [ GadtDecl
7589              SrcSpanInfo
7590                { srcInfoSpan =
7591                    SrcSpan "tests/examples/DerivingVia.hs" 129 3 129 63
7592                , srcInfoPoints =
7593                    [ SrcSpan "tests/examples/DerivingVia.hs" 129 12 129 14
7594                    , SrcSpan "tests/examples/DerivingVia.hs" 129 15 129 16
7595                    , SrcSpan "tests/examples/DerivingVia.hs" 129 42 129 43
7596                    , SrcSpan "tests/examples/DerivingVia.hs" 129 44 129 46
7597                    ]
7598                }
7599              (Ident
7600                 SrcSpanInfo
7601                   { srcInfoSpan =
7602                       SrcSpan "tests/examples/DerivingVia.hs" 129 3 129 11
7603                   , srcInfoPoints = []
7604                   }
7605                 "ComposeT")
7606              Nothing
7607              Nothing
7608              (Just
7609                 [ FieldDecl
7610                     SrcSpanInfo
7611                       { srcInfoSpan =
7612                           SrcSpan "tests/examples/DerivingVia.hs" 129 17 129 41
7613                       , srcInfoPoints =
7614                           [ SrcSpan "tests/examples/DerivingVia.hs" 129 29 129 31 ]
7615                       }
7616                     [ Ident
7617                         SrcSpanInfo
7618                           { srcInfoSpan =
7619                               SrcSpan "tests/examples/DerivingVia.hs" 129 17 129 28
7620                           , srcInfoPoints = []
7621                           }
7622                         "getComposeT"
7623                     ]
7624                     (TyApp
7625                        SrcSpanInfo
7626                          { srcInfoSpan =
7627                              SrcSpan "tests/examples/DerivingVia.hs" 129 32 129 41
7628                          , srcInfoPoints = []
7629                          }
7630                        (TyApp
7631                           SrcSpanInfo
7632                             { srcInfoSpan =
7633                                 SrcSpan "tests/examples/DerivingVia.hs" 129 32 129 39
7634                             , srcInfoPoints = []
7635                             }
7636                           (TyVar
7637                              SrcSpanInfo
7638                                { srcInfoSpan =
7639                                    SrcSpan "tests/examples/DerivingVia.hs" 129 32 129 33
7640                                , srcInfoPoints = []
7641                                }
7642                              (Ident
7643                                 SrcSpanInfo
7644                                   { srcInfoSpan =
7645                                       SrcSpan "tests/examples/DerivingVia.hs" 129 32 129 33
7646                                   , srcInfoPoints = []
7647                                   }
7648                                 "f"))
7649                           (TyParen
7650                              SrcSpanInfo
7651                                { srcInfoSpan =
7652                                    SrcSpan "tests/examples/DerivingVia.hs" 129 34 129 39
7653                                , srcInfoPoints =
7654                                    [ SrcSpan "tests/examples/DerivingVia.hs" 129 34 129 35
7655                                    , SrcSpan "tests/examples/DerivingVia.hs" 129 38 129 39
7656                                    ]
7657                                }
7658                              (TyApp
7659                                 SrcSpanInfo
7660                                   { srcInfoSpan =
7661                                       SrcSpan "tests/examples/DerivingVia.hs" 129 35 129 38
7662                                   , srcInfoPoints = []
7663                                   }
7664                                 (TyVar
7665                                    SrcSpanInfo
7666                                      { srcInfoSpan =
7667                                          SrcSpan "tests/examples/DerivingVia.hs" 129 35 129 36
7668                                      , srcInfoPoints = []
7669                                      }
7670                                    (Ident
7671                                       SrcSpanInfo
7672                                         { srcInfoSpan =
7673                                             SrcSpan "tests/examples/DerivingVia.hs" 129 35 129 36
7674                                         , srcInfoPoints = []
7675                                         }
7676                                       "g"))
7677                                 (TyVar
7678                                    SrcSpanInfo
7679                                      { srcInfoSpan =
7680                                          SrcSpan "tests/examples/DerivingVia.hs" 129 37 129 38
7681                                      , srcInfoPoints = []
7682                                      }
7683                                    (Ident
7684                                       SrcSpanInfo
7685                                         { srcInfoSpan =
7686                                             SrcSpan "tests/examples/DerivingVia.hs" 129 37 129 38
7687                                         , srcInfoPoints = []
7688                                         }
7689                                       "m")))))
7690                        (TyVar
7691                           SrcSpanInfo
7692                             { srcInfoSpan =
7693                                 SrcSpan "tests/examples/DerivingVia.hs" 129 40 129 41
7694                             , srcInfoPoints = []
7695                             }
7696                           (Ident
7697                              SrcSpanInfo
7698                                { srcInfoSpan =
7699                                    SrcSpan "tests/examples/DerivingVia.hs" 129 40 129 41
7700                                , srcInfoPoints = []
7701                                }
7702                              "a")))
7703                 ])
7704              (TyApp
7705                 SrcSpanInfo
7706                   { srcInfoSpan =
7707                       SrcSpan "tests/examples/DerivingVia.hs" 129 47 129 63
7708                   , srcInfoPoints = []
7709                   }
7710                 (TyApp
7711                    SrcSpanInfo
7712                      { srcInfoSpan =
7713                          SrcSpan "tests/examples/DerivingVia.hs" 129 47 129 61
7714                      , srcInfoPoints = []
7715                      }
7716                    (TyApp
7717                       SrcSpanInfo
7718                         { srcInfoSpan =
7719                             SrcSpan "tests/examples/DerivingVia.hs" 129 47 129 59
7720                         , srcInfoPoints = []
7721                         }
7722                       (TyApp
7723                          SrcSpanInfo
7724                            { srcInfoSpan =
7725                                SrcSpan "tests/examples/DerivingVia.hs" 129 47 129 57
7726                            , srcInfoPoints = []
7727                            }
7728                          (TyCon
7729                             SrcSpanInfo
7730                               { srcInfoSpan =
7731                                   SrcSpan "tests/examples/DerivingVia.hs" 129 47 129 55
7732                               , srcInfoPoints = []
7733                               }
7734                             (UnQual
7735                                SrcSpanInfo
7736                                  { srcInfoSpan =
7737                                      SrcSpan "tests/examples/DerivingVia.hs" 129 47 129 55
7738                                  , srcInfoPoints = []
7739                                  }
7740                                (Ident
7741                                   SrcSpanInfo
7742                                     { srcInfoSpan =
7743                                         SrcSpan "tests/examples/DerivingVia.hs" 129 47 129 55
7744                                     , srcInfoPoints = []
7745                                     }
7746                                   "ComposeT")))
7747                          (TyVar
7748                             SrcSpanInfo
7749                               { srcInfoSpan =
7750                                   SrcSpan "tests/examples/DerivingVia.hs" 129 56 129 57
7751                               , srcInfoPoints = []
7752                               }
7753                             (Ident
7754                                SrcSpanInfo
7755                                  { srcInfoSpan =
7756                                      SrcSpan "tests/examples/DerivingVia.hs" 129 56 129 57
7757                                  , srcInfoPoints = []
7758                                  }
7759                                "f")))
7760                       (TyVar
7761                          SrcSpanInfo
7762                            { srcInfoSpan =
7763                                SrcSpan "tests/examples/DerivingVia.hs" 129 58 129 59
7764                            , srcInfoPoints = []
7765                            }
7766                          (Ident
7767                             SrcSpanInfo
7768                               { srcInfoSpan =
7769                                   SrcSpan "tests/examples/DerivingVia.hs" 129 58 129 59
7770                               , srcInfoPoints = []
7771                               }
7772                             "g")))
7773                    (TyVar
7774                       SrcSpanInfo
7775                         { srcInfoSpan =
7776                             SrcSpan "tests/examples/DerivingVia.hs" 129 60 129 61
7777                         , srcInfoPoints = []
7778                         }
7779                       (Ident
7780                          SrcSpanInfo
7781                            { srcInfoSpan =
7782                                SrcSpan "tests/examples/DerivingVia.hs" 129 60 129 61
7783                            , srcInfoPoints = []
7784                            }
7785                          "m")))
7786                 (TyVar
7787                    SrcSpanInfo
7788                      { srcInfoSpan =
7789                          SrcSpan "tests/examples/DerivingVia.hs" 129 62 129 63
7790                      , srcInfoPoints = []
7791                      }
7792                    (Ident
7793                       SrcSpanInfo
7794                         { srcInfoSpan =
7795                             SrcSpan "tests/examples/DerivingVia.hs" 129 62 129 63
7796                         , srcInfoPoints = []
7797                         }
7798                       "a")))
7799          ]
7800          [ Deriving
7801              SrcSpanInfo
7802                { srcInfoSpan =
7803                    SrcSpan "tests/examples/DerivingVia.hs" 130 3 130 49
7804                , srcInfoPoints =
7805                    [ SrcSpan "tests/examples/DerivingVia.hs" 130 3 130 11
7806                    , SrcSpan "tests/examples/DerivingVia.hs" 130 20 130 21
7807                    , SrcSpan "tests/examples/DerivingVia.hs" 130 28 130 29
7808                    , SrcSpan "tests/examples/DerivingVia.hs" 130 41 130 42
7809                    , SrcSpan "tests/examples/DerivingVia.hs" 130 48 130 49
7810                    ]
7811                }
7812              (Just
7813                 (DerivNewtype
7814                    SrcSpanInfo
7815                      { srcInfoSpan =
7816                          SrcSpan "tests/examples/DerivingVia.hs" 130 12 130 19
7817                      , srcInfoPoints = []
7818                      }))
7819              [ IRule
7820                  SrcSpanInfo
7821                    { srcInfoSpan =
7822                        SrcSpan "tests/examples/DerivingVia.hs" 130 21 130 28
7823                    , srcInfoPoints = []
7824                    }
7825                  Nothing
7826                  Nothing
7827                  (IHCon
7828                     SrcSpanInfo
7829                       { srcInfoSpan =
7830                           SrcSpan "tests/examples/DerivingVia.hs" 130 21 130 28
7831                       , srcInfoPoints = []
7832                       }
7833                     (UnQual
7834                        SrcSpanInfo
7835                          { srcInfoSpan =
7836                              SrcSpan "tests/examples/DerivingVia.hs" 130 21 130 28
7837                          , srcInfoPoints = []
7838                          }
7839                        (Ident
7840                           SrcSpanInfo
7841                             { srcInfoSpan =
7842                                 SrcSpan "tests/examples/DerivingVia.hs" 130 21 130 28
7843                             , srcInfoPoints = []
7844                             }
7845                           "Functor")))
7846              , IRule
7847                  SrcSpanInfo
7848                    { srcInfoSpan =
7849                        SrcSpan "tests/examples/DerivingVia.hs" 130 30 130 41
7850                    , srcInfoPoints = []
7851                    }
7852                  Nothing
7853                  Nothing
7854                  (IHCon
7855                     SrcSpanInfo
7856                       { srcInfoSpan =
7857                           SrcSpan "tests/examples/DerivingVia.hs" 130 30 130 41
7858                       , srcInfoPoints = []
7859                       }
7860                     (UnQual
7861                        SrcSpanInfo
7862                          { srcInfoSpan =
7863                              SrcSpan "tests/examples/DerivingVia.hs" 130 30 130 41
7864                          , srcInfoPoints = []
7865                          }
7866                        (Ident
7867                           SrcSpanInfo
7868                             { srcInfoSpan =
7869                                 SrcSpan "tests/examples/DerivingVia.hs" 130 30 130 41
7870                             , srcInfoPoints = []
7871                             }
7872                           "Applicative")))
7873              , IRule
7874                  SrcSpanInfo
7875                    { srcInfoSpan =
7876                        SrcSpan "tests/examples/DerivingVia.hs" 130 43 130 48
7877                    , srcInfoPoints = []
7878                    }
7879                  Nothing
7880                  Nothing
7881                  (IHCon
7882                     SrcSpanInfo
7883                       { srcInfoSpan =
7884                           SrcSpan "tests/examples/DerivingVia.hs" 130 43 130 48
7885                       , srcInfoPoints = []
7886                       }
7887                     (UnQual
7888                        SrcSpanInfo
7889                          { srcInfoSpan =
7890                              SrcSpan "tests/examples/DerivingVia.hs" 130 43 130 48
7891                          , srcInfoPoints = []
7892                          }
7893                        (Ident
7894                           SrcSpanInfo
7895                             { srcInfoSpan =
7896                                 SrcSpan "tests/examples/DerivingVia.hs" 130 43 130 48
7897                             , srcInfoPoints = []
7898                             }
7899                           "Monad")))
7900              ]
7901          ]
7902      , InstDecl
7903          SrcSpanInfo
7904            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 132 1 137 0
7905            , srcInfoPoints =
7906                [ SrcSpan "tests/examples/DerivingVia.hs" 132 1 132 9
7907                , SrcSpan "tests/examples/DerivingVia.hs" 132 84 132 89
7908                , SrcSpan "tests/examples/DerivingVia.hs" 133 3 133 3
7909                , SrcSpan "tests/examples/DerivingVia.hs" 134 3 134 3
7910                , SrcSpan "tests/examples/DerivingVia.hs" 137 1 137 0
7911                ]
7912            }
7913          Nothing
7914          (IRule
7915             SrcSpanInfo
7916               { srcInfoSpan =
7917                   SrcSpan "tests/examples/DerivingVia.hs" 132 10 132 83
7918               , srcInfoPoints = []
7919               }
7920             Nothing
7921             (Just
7922                (CxTuple
7923                   SrcSpanInfo
7924                     { srcInfoSpan =
7925                         SrcSpan "tests/examples/DerivingVia.hs" 132 10 132 57
7926                     , srcInfoPoints =
7927                         [ SrcSpan "tests/examples/DerivingVia.hs" 132 10 132 11
7928                         , SrcSpan "tests/examples/DerivingVia.hs" 132 23 132 24
7929                         , SrcSpan "tests/examples/DerivingVia.hs" 132 37 132 38
7930                         , SrcSpan "tests/examples/DerivingVia.hs" 132 53 132 54
7931                         , SrcSpan "tests/examples/DerivingVia.hs" 132 55 132 57
7932                         ]
7933                     }
7934                   [ TypeA
7935                       SrcSpanInfo
7936                         { srcInfoSpan =
7937                             SrcSpan "tests/examples/DerivingVia.hs" 132 11 132 23
7938                         , srcInfoPoints = []
7939                         }
7940                       (TyApp
7941                          SrcSpanInfo
7942                            { srcInfoSpan =
7943                                SrcSpan "tests/examples/DerivingVia.hs" 132 11 132 23
7944                            , srcInfoPoints = []
7945                            }
7946                          (TyCon
7947                             SrcSpanInfo
7948                               { srcInfoSpan =
7949                                   SrcSpan "tests/examples/DerivingVia.hs" 132 11 132 23
7950                               , srcInfoPoints = []
7951                               }
7952                             (UnQual
7953                                SrcSpanInfo
7954                                  { srcInfoSpan =
7955                                      SrcSpan "tests/examples/DerivingVia.hs" 132 11 132 21
7956                                  , srcInfoPoints = []
7957                                  }
7958                                (Ident
7959                                   SrcSpanInfo
7960                                     { srcInfoSpan =
7961                                         SrcSpan "tests/examples/DerivingVia.hs" 132 11 132 21
7962                                     , srcInfoPoints = []
7963                                     }
7964                                   "MonadTrans")))
7965                          (TyVar
7966                             SrcSpanInfo
7967                               { srcInfoSpan =
7968                                   SrcSpan "tests/examples/DerivingVia.hs" 132 22 132 23
7969                               , srcInfoPoints = []
7970                               }
7971                             (Ident
7972                                SrcSpanInfo
7973                                  { srcInfoSpan =
7974                                      SrcSpan "tests/examples/DerivingVia.hs" 132 22 132 23
7975                                  , srcInfoPoints = []
7976                                  }
7977                                "f")))
7978                   , TypeA
7979                       SrcSpanInfo
7980                         { srcInfoSpan =
7981                             SrcSpan "tests/examples/DerivingVia.hs" 132 25 132 37
7982                         , srcInfoPoints = []
7983                         }
7984                       (TyApp
7985                          SrcSpanInfo
7986                            { srcInfoSpan =
7987                                SrcSpan "tests/examples/DerivingVia.hs" 132 25 132 37
7988                            , srcInfoPoints = []
7989                            }
7990                          (TyCon
7991                             SrcSpanInfo
7992                               { srcInfoSpan =
7993                                   SrcSpan "tests/examples/DerivingVia.hs" 132 25 132 37
7994                               , srcInfoPoints = []
7995                               }
7996                             (UnQual
7997                                SrcSpanInfo
7998                                  { srcInfoSpan =
7999                                      SrcSpan "tests/examples/DerivingVia.hs" 132 25 132 35
8000                                  , srcInfoPoints = []
8001                                  }
8002                                (Ident
8003                                   SrcSpanInfo
8004                                     { srcInfoSpan =
8005                                         SrcSpan "tests/examples/DerivingVia.hs" 132 25 132 35
8006                                     , srcInfoPoints = []
8007                                     }
8008                                   "MonadTrans")))
8009                          (TyVar
8010                             SrcSpanInfo
8011                               { srcInfoSpan =
8012                                   SrcSpan "tests/examples/DerivingVia.hs" 132 36 132 37
8013                               , srcInfoPoints = []
8014                               }
8015                             (Ident
8016                                SrcSpanInfo
8017                                  { srcInfoSpan =
8018                                      SrcSpan "tests/examples/DerivingVia.hs" 132 36 132 37
8019                                  , srcInfoPoints = []
8020                                  }
8021                                "g")))
8022                   , TypeA
8023                       SrcSpanInfo
8024                         { srcInfoSpan =
8025                             SrcSpan "tests/examples/DerivingVia.hs" 132 39 132 53
8026                         , srcInfoPoints = []
8027                         }
8028                       (TyApp
8029                          SrcSpanInfo
8030                            { srcInfoSpan =
8031                                SrcSpan "tests/examples/DerivingVia.hs" 132 39 132 53
8032                            , srcInfoPoints = []
8033                            }
8034                          (TyCon
8035                             SrcSpanInfo
8036                               { srcInfoSpan =
8037                                   SrcSpan "tests/examples/DerivingVia.hs" 132 39 132 53
8038                               , srcInfoPoints = []
8039                               }
8040                             (UnQual
8041                                SrcSpanInfo
8042                                  { srcInfoSpan =
8043                                      SrcSpan "tests/examples/DerivingVia.hs" 132 39 132 51
8044                                  , srcInfoPoints = []
8045                                  }
8046                                (Ident
8047                                   SrcSpanInfo
8048                                     { srcInfoSpan =
8049                                         SrcSpan "tests/examples/DerivingVia.hs" 132 39 132 51
8050                                     , srcInfoPoints = []
8051                                     }
8052                                   "LiftingMonad")))
8053                          (TyVar
8054                             SrcSpanInfo
8055                               { srcInfoSpan =
8056                                   SrcSpan "tests/examples/DerivingVia.hs" 132 52 132 53
8057                               , srcInfoPoints = []
8058                               }
8059                             (Ident
8060                                SrcSpanInfo
8061                                  { srcInfoSpan =
8062                                      SrcSpan "tests/examples/DerivingVia.hs" 132 52 132 53
8063                                  , srcInfoPoints = []
8064                                  }
8065                                "g")))
8066                   ]))
8067             (IHApp
8068                SrcSpanInfo
8069                  { srcInfoSpan =
8070                      SrcSpan "tests/examples/DerivingVia.hs" 132 58 132 83
8071                  , srcInfoPoints = []
8072                  }
8073                (IHCon
8074                   SrcSpanInfo
8075                     { srcInfoSpan =
8076                         SrcSpan "tests/examples/DerivingVia.hs" 132 58 132 68
8077                     , srcInfoPoints = []
8078                     }
8079                   (UnQual
8080                      SrcSpanInfo
8081                        { srcInfoSpan =
8082                            SrcSpan "tests/examples/DerivingVia.hs" 132 58 132 68
8083                        , srcInfoPoints = []
8084                        }
8085                      (Ident
8086                         SrcSpanInfo
8087                           { srcInfoSpan =
8088                               SrcSpan "tests/examples/DerivingVia.hs" 132 58 132 68
8089                           , srcInfoPoints = []
8090                           }
8091                         "MonadTrans")))
8092                (TyParen
8093                   SrcSpanInfo
8094                     { srcInfoSpan =
8095                         SrcSpan "tests/examples/DerivingVia.hs" 132 69 132 83
8096                     , srcInfoPoints =
8097                         [ SrcSpan "tests/examples/DerivingVia.hs" 132 69 132 70
8098                         , SrcSpan "tests/examples/DerivingVia.hs" 132 82 132 83
8099                         ]
8100                     }
8101                   (TyApp
8102                      SrcSpanInfo
8103                        { srcInfoSpan =
8104                            SrcSpan "tests/examples/DerivingVia.hs" 132 70 132 82
8105                        , srcInfoPoints = []
8106                        }
8107                      (TyApp
8108                         SrcSpanInfo
8109                           { srcInfoSpan =
8110                               SrcSpan "tests/examples/DerivingVia.hs" 132 70 132 80
8111                           , srcInfoPoints = []
8112                           }
8113                         (TyCon
8114                            SrcSpanInfo
8115                              { srcInfoSpan =
8116                                  SrcSpan "tests/examples/DerivingVia.hs" 132 70 132 78
8117                              , srcInfoPoints = []
8118                              }
8119                            (UnQual
8120                               SrcSpanInfo
8121                                 { srcInfoSpan =
8122                                     SrcSpan "tests/examples/DerivingVia.hs" 132 70 132 78
8123                                 , srcInfoPoints = []
8124                                 }
8125                               (Ident
8126                                  SrcSpanInfo
8127                                    { srcInfoSpan =
8128                                        SrcSpan "tests/examples/DerivingVia.hs" 132 70 132 78
8129                                    , srcInfoPoints = []
8130                                    }
8131                                  "ComposeT")))
8132                         (TyVar
8133                            SrcSpanInfo
8134                              { srcInfoSpan =
8135                                  SrcSpan "tests/examples/DerivingVia.hs" 132 79 132 80
8136                              , srcInfoPoints = []
8137                              }
8138                            (Ident
8139                               SrcSpanInfo
8140                                 { srcInfoSpan =
8141                                     SrcSpan "tests/examples/DerivingVia.hs" 132 79 132 80
8142                                 , srcInfoPoints = []
8143                                 }
8144                               "f")))
8145                      (TyVar
8146                         SrcSpanInfo
8147                           { srcInfoSpan =
8148                               SrcSpan "tests/examples/DerivingVia.hs" 132 81 132 82
8149                           , srcInfoPoints = []
8150                           }
8151                         (Ident
8152                            SrcSpanInfo
8153                              { srcInfoSpan =
8154                                  SrcSpan "tests/examples/DerivingVia.hs" 132 81 132 82
8155                              , srcInfoPoints = []
8156                              }
8157                            "g"))))))
8158          (Just
8159             [ InsDecl
8160                 SrcSpanInfo
8161                   { srcInfoSpan =
8162                       SrcSpan "tests/examples/DerivingVia.hs" 133 3 133 51
8163                   , srcInfoPoints =
8164                       [ SrcSpan "tests/examples/DerivingVia.hs" 133 8 133 10 ]
8165                   }
8166                 (TypeSig
8167                    SrcSpanInfo
8168                      { srcInfoSpan =
8169                          SrcSpan "tests/examples/DerivingVia.hs" 133 3 133 51
8170                      , srcInfoPoints =
8171                          [ SrcSpan "tests/examples/DerivingVia.hs" 133 8 133 10 ]
8172                      }
8173                    [ Ident
8174                        SrcSpanInfo
8175                          { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 133 3 133 7
8176                          , srcInfoPoints = []
8177                          }
8178                        "lift"
8179                    ]
8180                    (TyForall
8181                       SrcSpanInfo
8182                         { srcInfoSpan =
8183                             SrcSpan "tests/examples/DerivingVia.hs" 133 11 133 51
8184                         , srcInfoPoints =
8185                             [ SrcSpan "tests/examples/DerivingVia.hs" 133 11 133 17
8186                             , SrcSpan "tests/examples/DerivingVia.hs" 133 19 133 20
8187                             ]
8188                         }
8189                       (Just
8190                          [ UnkindedVar
8191                              SrcSpanInfo
8192                                { srcInfoSpan =
8193                                    SrcSpan "tests/examples/DerivingVia.hs" 133 18 133 19
8194                                , srcInfoPoints = []
8195                                }
8196                              (Ident
8197                                 SrcSpanInfo
8198                                   { srcInfoSpan =
8199                                       SrcSpan "tests/examples/DerivingVia.hs" 133 18 133 19
8200                                   , srcInfoPoints = []
8201                                   }
8202                                 "m")
8203                          ])
8204                       (Just
8205                          (CxSingle
8206                             SrcSpanInfo
8207                               { srcInfoSpan =
8208                                   SrcSpan "tests/examples/DerivingVia.hs" 133 21 133 31
8209                               , srcInfoPoints =
8210                                   [ SrcSpan "tests/examples/DerivingVia.hs" 133 29 133 31 ]
8211                               }
8212                             (TypeA
8213                                SrcSpanInfo
8214                                  { srcInfoSpan =
8215                                      SrcSpan "tests/examples/DerivingVia.hs" 133 21 133 31
8216                                  , srcInfoPoints =
8217                                      [ SrcSpan "tests/examples/DerivingVia.hs" 133 29 133 31 ]
8218                                  }
8219                                (TyApp
8220                                   SrcSpanInfo
8221                                     { srcInfoSpan =
8222                                         SrcSpan "tests/examples/DerivingVia.hs" 133 21 133 31
8223                                     , srcInfoPoints =
8224                                         [ SrcSpan "tests/examples/DerivingVia.hs" 133 29 133 31 ]
8225                                     }
8226                                   (TyCon
8227                                      SrcSpanInfo
8228                                        { srcInfoSpan =
8229                                            SrcSpan "tests/examples/DerivingVia.hs" 133 21 133 31
8230                                        , srcInfoPoints =
8231                                            [ SrcSpan "tests/examples/DerivingVia.hs" 133 29 133 31
8232                                            ]
8233                                        }
8234                                      (UnQual
8235                                         SrcSpanInfo
8236                                           { srcInfoSpan =
8237                                               SrcSpan "tests/examples/DerivingVia.hs" 133 21 133 26
8238                                           , srcInfoPoints = []
8239                                           }
8240                                         (Ident
8241                                            SrcSpanInfo
8242                                              { srcInfoSpan =
8243                                                  SrcSpan
8244                                                    "tests/examples/DerivingVia.hs" 133 21 133 26
8245                                              , srcInfoPoints = []
8246                                              }
8247                                            "Monad")))
8248                                   (TyVar
8249                                      SrcSpanInfo
8250                                        { srcInfoSpan =
8251                                            SrcSpan "tests/examples/DerivingVia.hs" 133 27 133 28
8252                                        , srcInfoPoints = []
8253                                        }
8254                                      (Ident
8255                                         SrcSpanInfo
8256                                           { srcInfoSpan =
8257                                               SrcSpan "tests/examples/DerivingVia.hs" 133 27 133 28
8258                                           , srcInfoPoints = []
8259                                           }
8260                                         "m"))))))
8261                       (TyInfix
8262                          SrcSpanInfo
8263                            { srcInfoSpan =
8264                                SrcSpan "tests/examples/DerivingVia.hs" 133 32 133 51
8265                            , srcInfoPoints = []
8266                            }
8267                          (TyVar
8268                             SrcSpanInfo
8269                               { srcInfoSpan =
8270                                   SrcSpan "tests/examples/DerivingVia.hs" 133 32 133 33
8271                               , srcInfoPoints = []
8272                               }
8273                             (Ident
8274                                SrcSpanInfo
8275                                  { srcInfoSpan =
8276                                      SrcSpan "tests/examples/DerivingVia.hs" 133 32 133 33
8277                                  , srcInfoPoints = []
8278                                  }
8279                                "m"))
8280                          (UnpromotedName
8281                             SrcSpanInfo
8282                               { srcInfoSpan =
8283                                   SrcSpan "tests/examples/DerivingVia.hs" 133 34 133 36
8284                               , srcInfoPoints = []
8285                               }
8286                             (UnQual
8287                                SrcSpanInfo
8288                                  { srcInfoSpan =
8289                                      SrcSpan "tests/examples/DerivingVia.hs" 133 34 133 36
8290                                  , srcInfoPoints = []
8291                                  }
8292                                (Symbol
8293                                   SrcSpanInfo
8294                                     { srcInfoSpan =
8295                                         SrcSpan "tests/examples/DerivingVia.hs" 133 34 133 36
8296                                     , srcInfoPoints = []
8297                                     }
8298                                   "~>")))
8299                          (TyApp
8300                             SrcSpanInfo
8301                               { srcInfoSpan =
8302                                   SrcSpan "tests/examples/DerivingVia.hs" 133 37 133 51
8303                               , srcInfoPoints = []
8304                               }
8305                             (TyApp
8306                                SrcSpanInfo
8307                                  { srcInfoSpan =
8308                                      SrcSpan "tests/examples/DerivingVia.hs" 133 37 133 49
8309                                  , srcInfoPoints = []
8310                                  }
8311                                (TyApp
8312                                   SrcSpanInfo
8313                                     { srcInfoSpan =
8314                                         SrcSpan "tests/examples/DerivingVia.hs" 133 37 133 47
8315                                     , srcInfoPoints = []
8316                                     }
8317                                   (TyCon
8318                                      SrcSpanInfo
8319                                        { srcInfoSpan =
8320                                            SrcSpan "tests/examples/DerivingVia.hs" 133 37 133 45
8321                                        , srcInfoPoints = []
8322                                        }
8323                                      (UnQual
8324                                         SrcSpanInfo
8325                                           { srcInfoSpan =
8326                                               SrcSpan "tests/examples/DerivingVia.hs" 133 37 133 45
8327                                           , srcInfoPoints = []
8328                                           }
8329                                         (Ident
8330                                            SrcSpanInfo
8331                                              { srcInfoSpan =
8332                                                  SrcSpan
8333                                                    "tests/examples/DerivingVia.hs" 133 37 133 45
8334                                              , srcInfoPoints = []
8335                                              }
8336                                            "ComposeT")))
8337                                   (TyVar
8338                                      SrcSpanInfo
8339                                        { srcInfoSpan =
8340                                            SrcSpan "tests/examples/DerivingVia.hs" 133 46 133 47
8341                                        , srcInfoPoints = []
8342                                        }
8343                                      (Ident
8344                                         SrcSpanInfo
8345                                           { srcInfoSpan =
8346                                               SrcSpan "tests/examples/DerivingVia.hs" 133 46 133 47
8347                                           , srcInfoPoints = []
8348                                           }
8349                                         "f")))
8350                                (TyVar
8351                                   SrcSpanInfo
8352                                     { srcInfoSpan =
8353                                         SrcSpan "tests/examples/DerivingVia.hs" 133 48 133 49
8354                                     , srcInfoPoints = []
8355                                     }
8356                                   (Ident
8357                                      SrcSpanInfo
8358                                        { srcInfoSpan =
8359                                            SrcSpan "tests/examples/DerivingVia.hs" 133 48 133 49
8360                                        , srcInfoPoints = []
8361                                        }
8362                                      "g")))
8363                             (TyVar
8364                                SrcSpanInfo
8365                                  { srcInfoSpan =
8366                                      SrcSpan "tests/examples/DerivingVia.hs" 133 50 133 51
8367                                  , srcInfoPoints = []
8368                                  }
8369                                (Ident
8370                                   SrcSpanInfo
8371                                     { srcInfoSpan =
8372                                         SrcSpan "tests/examples/DerivingVia.hs" 133 50 133 51
8373                                     , srcInfoPoints = []
8374                                     }
8375                                   "m"))))))
8376             , InsDecl
8377                 SrcSpanInfo
8378                   { srcInfoSpan =
8379                       SrcSpan "tests/examples/DerivingVia.hs" 134 3 135 19
8380                   , srcInfoPoints = []
8381                   }
8382                 (PatBind
8383                    SrcSpanInfo
8384                      { srcInfoSpan =
8385                          SrcSpan "tests/examples/DerivingVia.hs" 134 3 135 19
8386                      , srcInfoPoints = []
8387                      }
8388                    (PVar
8389                       SrcSpanInfo
8390                         { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 134 3 134 7
8391                         , srcInfoPoints = []
8392                         }
8393                       (Ident
8394                          SrcSpanInfo
8395                            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 134 3 134 7
8396                            , srcInfoPoints = []
8397                            }
8398                          "lift"))
8399                    (UnGuardedRhs
8400                       SrcSpanInfo
8401                         { srcInfoSpan =
8402                             SrcSpan "tests/examples/DerivingVia.hs" 134 8 135 19
8403                         , srcInfoPoints =
8404                             [ SrcSpan "tests/examples/DerivingVia.hs" 134 8 134 9 ]
8405                         }
8406                       (InfixApp
8407                          SrcSpanInfo
8408                            { srcInfoSpan =
8409                                SrcSpan "tests/examples/DerivingVia.hs" 134 10 135 19
8410                            , srcInfoPoints = []
8411                            }
8412                          (InfixApp
8413                             SrcSpanInfo
8414                               { srcInfoSpan =
8415                                   SrcSpan "tests/examples/DerivingVia.hs" 134 10 134 32
8416                               , srcInfoPoints = []
8417                               }
8418                             (Con
8419                                SrcSpanInfo
8420                                  { srcInfoSpan =
8421                                      SrcSpan "tests/examples/DerivingVia.hs" 134 10 134 18
8422                                  , srcInfoPoints = []
8423                                  }
8424                                (UnQual
8425                                   SrcSpanInfo
8426                                     { srcInfoSpan =
8427                                         SrcSpan "tests/examples/DerivingVia.hs" 134 10 134 18
8428                                     , srcInfoPoints = []
8429                                     }
8430                                   (Ident
8431                                      SrcSpanInfo
8432                                        { srcInfoSpan =
8433                                            SrcSpan "tests/examples/DerivingVia.hs" 134 10 134 18
8434                                        , srcInfoPoints = []
8435                                        }
8436                                      "ComposeT")))
8437                             (QVarOp
8438                                SrcSpanInfo
8439                                  { srcInfoSpan =
8440                                      SrcSpan "tests/examples/DerivingVia.hs" 134 19 134 20
8441                                  , srcInfoPoints = []
8442                                  }
8443                                (UnQual
8444                                   SrcSpanInfo
8445                                     { srcInfoSpan =
8446                                         SrcSpan "tests/examples/DerivingVia.hs" 134 19 134 20
8447                                     , srcInfoPoints = []
8448                                     }
8449                                   (Symbol
8450                                      SrcSpanInfo
8451                                        { srcInfoSpan =
8452                                            SrcSpan "tests/examples/DerivingVia.hs" 134 19 134 20
8453                                        , srcInfoPoints = []
8454                                        }
8455                                      ".")))
8456                             (InfixApp
8457                                SrcSpanInfo
8458                                  { srcInfoSpan =
8459                                      SrcSpan "tests/examples/DerivingVia.hs" 134 21 134 32
8460                                  , srcInfoPoints = []
8461                                  }
8462                                (Var
8463                                   SrcSpanInfo
8464                                     { srcInfoSpan =
8465                                         SrcSpan "tests/examples/DerivingVia.hs" 134 21 134 25
8466                                     , srcInfoPoints = []
8467                                     }
8468                                   (UnQual
8469                                      SrcSpanInfo
8470                                        { srcInfoSpan =
8471                                            SrcSpan "tests/examples/DerivingVia.hs" 134 21 134 25
8472                                        , srcInfoPoints = []
8473                                        }
8474                                      (Ident
8475                                         SrcSpanInfo
8476                                           { srcInfoSpan =
8477                                               SrcSpan "tests/examples/DerivingVia.hs" 134 21 134 25
8478                                           , srcInfoPoints = []
8479                                           }
8480                                         "lift")))
8481                                (QVarOp
8482                                   SrcSpanInfo
8483                                     { srcInfoSpan =
8484                                         SrcSpan "tests/examples/DerivingVia.hs" 134 26 134 27
8485                                     , srcInfoPoints = []
8486                                     }
8487                                   (UnQual
8488                                      SrcSpanInfo
8489                                        { srcInfoSpan =
8490                                            SrcSpan "tests/examples/DerivingVia.hs" 134 26 134 27
8491                                        , srcInfoPoints = []
8492                                        }
8493                                      (Symbol
8494                                         SrcSpanInfo
8495                                           { srcInfoSpan =
8496                                               SrcSpan "tests/examples/DerivingVia.hs" 134 26 134 27
8497                                           , srcInfoPoints = []
8498                                           }
8499                                         ".")))
8500                                (Var
8501                                   SrcSpanInfo
8502                                     { srcInfoSpan =
8503                                         SrcSpan "tests/examples/DerivingVia.hs" 134 28 134 32
8504                                     , srcInfoPoints = []
8505                                     }
8506                                   (UnQual
8507                                      SrcSpanInfo
8508                                        { srcInfoSpan =
8509                                            SrcSpan "tests/examples/DerivingVia.hs" 134 28 134 32
8510                                        , srcInfoPoints = []
8511                                        }
8512                                      (Ident
8513                                         SrcSpanInfo
8514                                           { srcInfoSpan =
8515                                               SrcSpan "tests/examples/DerivingVia.hs" 134 28 134 32
8516                                           , srcInfoPoints = []
8517                                           }
8518                                         "lift")))))
8519                          (QVarOp
8520                             SrcSpanInfo
8521                               { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 135 5 135 7
8522                               , srcInfoPoints = []
8523                               }
8524                             (UnQual
8525                                SrcSpanInfo
8526                                  { srcInfoSpan =
8527                                      SrcSpan "tests/examples/DerivingVia.hs" 135 5 135 7
8528                                  , srcInfoPoints = []
8529                                  }
8530                                (Symbol
8531                                   SrcSpanInfo
8532                                     { srcInfoSpan =
8533                                         SrcSpan "tests/examples/DerivingVia.hs" 135 5 135 7
8534                                     , srcInfoPoints = []
8535                                     }
8536                                   "\\\\")))
8537                          (App
8538                             SrcSpanInfo
8539                               { srcInfoSpan =
8540                                   SrcSpan "tests/examples/DerivingVia.hs" 135 8 135 19
8541                               , srcInfoPoints = []
8542                               }
8543                             (App
8544                                SrcSpanInfo
8545                                  { srcInfoSpan =
8546                                      SrcSpan "tests/examples/DerivingVia.hs" 135 8 135 16
8547                                  , srcInfoPoints = []
8548                                  }
8549                                (Var
8550                                   SrcSpanInfo
8551                                     { srcInfoSpan =
8552                                         SrcSpan "tests/examples/DerivingVia.hs" 135 8 135 13
8553                                     , srcInfoPoints = []
8554                                     }
8555                                   (UnQual
8556                                      SrcSpanInfo
8557                                        { srcInfoSpan =
8558                                            SrcSpan "tests/examples/DerivingVia.hs" 135 8 135 13
8559                                        , srcInfoPoints = []
8560                                        }
8561                                      (Ident
8562                                         SrcSpanInfo
8563                                           { srcInfoSpan =
8564                                               SrcSpan "tests/examples/DerivingVia.hs" 135 8 135 13
8565                                           , srcInfoPoints = []
8566                                           }
8567                                         "proof")))
8568                                (TypeApp
8569                                   SrcSpanInfo
8570                                     { srcInfoSpan =
8571                                         SrcSpan "tests/examples/DerivingVia.hs" 135 14 135 16
8572                                     , srcInfoPoints =
8573                                         [ SrcSpan "tests/examples/DerivingVia.hs" 135 14 135 15 ]
8574                                     }
8575                                   (TyVar
8576                                      SrcSpanInfo
8577                                        { srcInfoSpan =
8578                                            SrcSpan "tests/examples/DerivingVia.hs" 135 15 135 16
8579                                        , srcInfoPoints = []
8580                                        }
8581                                      (Ident
8582                                         SrcSpanInfo
8583                                           { srcInfoSpan =
8584                                               SrcSpan "tests/examples/DerivingVia.hs" 135 15 135 16
8585                                           , srcInfoPoints = []
8586                                           }
8587                                         "g"))))
8588                             (TypeApp
8589                                SrcSpanInfo
8590                                  { srcInfoSpan =
8591                                      SrcSpan "tests/examples/DerivingVia.hs" 135 17 135 19
8592                                  , srcInfoPoints =
8593                                      [ SrcSpan "tests/examples/DerivingVia.hs" 135 17 135 18 ]
8594                                  }
8595                                (TyVar
8596                                   SrcSpanInfo
8597                                     { srcInfoSpan =
8598                                         SrcSpan "tests/examples/DerivingVia.hs" 135 18 135 19
8599                                     , srcInfoPoints = []
8600                                     }
8601                                   (Ident
8602                                      SrcSpanInfo
8603                                        { srcInfoSpan =
8604                                            SrcSpan "tests/examples/DerivingVia.hs" 135 18 135 19
8605                                        , srcInfoPoints = []
8606                                        }
8607                                      "m"))))))
8608                    Nothing)
8609             ])
8610      , InstDecl
8611          SrcSpanInfo
8612            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 137 1 146 0
8613            , srcInfoPoints =
8614                [ SrcSpan "tests/examples/DerivingVia.hs" 137 1 137 9
8615                , SrcSpan "tests/examples/DerivingVia.hs" 137 78 137 83
8616                , SrcSpan "tests/examples/DerivingVia.hs" 138 3 138 3
8617                , SrcSpan "tests/examples/DerivingVia.hs" 139 3 139 3
8618                , SrcSpan "tests/examples/DerivingVia.hs" 146 1 146 0
8619                ]
8620            }
8621          Nothing
8622          (IRule
8623             SrcSpanInfo
8624               { srcInfoSpan =
8625                   SrcSpan "tests/examples/DerivingVia.hs" 137 10 137 77
8626               , srcInfoPoints = []
8627               }
8628             Nothing
8629             (Just
8630                (CxTuple
8631                   SrcSpanInfo
8632                     { srcInfoSpan =
8633                         SrcSpan "tests/examples/DerivingVia.hs" 137 10 137 53
8634                     , srcInfoPoints =
8635                         [ SrcSpan "tests/examples/DerivingVia.hs" 137 10 137 11
8636                         , SrcSpan "tests/examples/DerivingVia.hs" 137 21 137 22
8637                         , SrcSpan "tests/examples/DerivingVia.hs" 137 33 137 34
8638                         , SrcSpan "tests/examples/DerivingVia.hs" 137 49 137 50
8639                         , SrcSpan "tests/examples/DerivingVia.hs" 137 51 137 53
8640                         ]
8641                     }
8642                   [ TypeA
8643                       SrcSpanInfo
8644                         { srcInfoSpan =
8645                             SrcSpan "tests/examples/DerivingVia.hs" 137 11 137 21
8646                         , srcInfoPoints = []
8647                         }
8648                       (TyApp
8649                          SrcSpanInfo
8650                            { srcInfoSpan =
8651                                SrcSpan "tests/examples/DerivingVia.hs" 137 11 137 21
8652                            , srcInfoPoints = []
8653                            }
8654                          (TyCon
8655                             SrcSpanInfo
8656                               { srcInfoSpan =
8657                                   SrcSpan "tests/examples/DerivingVia.hs" 137 11 137 21
8658                               , srcInfoPoints = []
8659                               }
8660                             (UnQual
8661                                SrcSpanInfo
8662                                  { srcInfoSpan =
8663                                      SrcSpan "tests/examples/DerivingVia.hs" 137 11 137 19
8664                                  , srcInfoPoints = []
8665                                  }
8666                                (Ident
8667                                   SrcSpanInfo
8668                                     { srcInfoSpan =
8669                                         SrcSpan "tests/examples/DerivingVia.hs" 137 11 137 19
8670                                     , srcInfoPoints = []
8671                                     }
8672                                   "MFunctor")))
8673                          (TyVar
8674                             SrcSpanInfo
8675                               { srcInfoSpan =
8676                                   SrcSpan "tests/examples/DerivingVia.hs" 137 20 137 21
8677                               , srcInfoPoints = []
8678                               }
8679                             (Ident
8680                                SrcSpanInfo
8681                                  { srcInfoSpan =
8682                                      SrcSpan "tests/examples/DerivingVia.hs" 137 20 137 21
8683                                  , srcInfoPoints = []
8684                                  }
8685                                "f")))
8686                   , TypeA
8687                       SrcSpanInfo
8688                         { srcInfoSpan =
8689                             SrcSpan "tests/examples/DerivingVia.hs" 137 23 137 33
8690                         , srcInfoPoints = []
8691                         }
8692                       (TyApp
8693                          SrcSpanInfo
8694                            { srcInfoSpan =
8695                                SrcSpan "tests/examples/DerivingVia.hs" 137 23 137 33
8696                            , srcInfoPoints = []
8697                            }
8698                          (TyCon
8699                             SrcSpanInfo
8700                               { srcInfoSpan =
8701                                   SrcSpan "tests/examples/DerivingVia.hs" 137 23 137 33
8702                               , srcInfoPoints = []
8703                               }
8704                             (UnQual
8705                                SrcSpanInfo
8706                                  { srcInfoSpan =
8707                                      SrcSpan "tests/examples/DerivingVia.hs" 137 23 137 31
8708                                  , srcInfoPoints = []
8709                                  }
8710                                (Ident
8711                                   SrcSpanInfo
8712                                     { srcInfoSpan =
8713                                         SrcSpan "tests/examples/DerivingVia.hs" 137 23 137 31
8714                                     , srcInfoPoints = []
8715                                     }
8716                                   "MFunctor")))
8717                          (TyVar
8718                             SrcSpanInfo
8719                               { srcInfoSpan =
8720                                   SrcSpan "tests/examples/DerivingVia.hs" 137 32 137 33
8721                               , srcInfoPoints = []
8722                               }
8723                             (Ident
8724                                SrcSpanInfo
8725                                  { srcInfoSpan =
8726                                      SrcSpan "tests/examples/DerivingVia.hs" 137 32 137 33
8727                                  , srcInfoPoints = []
8728                                  }
8729                                "g")))
8730                   , TypeA
8731                       SrcSpanInfo
8732                         { srcInfoSpan =
8733                             SrcSpan "tests/examples/DerivingVia.hs" 137 35 137 49
8734                         , srcInfoPoints = []
8735                         }
8736                       (TyApp
8737                          SrcSpanInfo
8738                            { srcInfoSpan =
8739                                SrcSpan "tests/examples/DerivingVia.hs" 137 35 137 49
8740                            , srcInfoPoints = []
8741                            }
8742                          (TyCon
8743                             SrcSpanInfo
8744                               { srcInfoSpan =
8745                                   SrcSpan "tests/examples/DerivingVia.hs" 137 35 137 49
8746                               , srcInfoPoints = []
8747                               }
8748                             (UnQual
8749                                SrcSpanInfo
8750                                  { srcInfoSpan =
8751                                      SrcSpan "tests/examples/DerivingVia.hs" 137 35 137 47
8752                                  , srcInfoPoints = []
8753                                  }
8754                                (Ident
8755                                   SrcSpanInfo
8756                                     { srcInfoSpan =
8757                                         SrcSpan "tests/examples/DerivingVia.hs" 137 35 137 47
8758                                     , srcInfoPoints = []
8759                                     }
8760                                   "LiftingMonad")))
8761                          (TyVar
8762                             SrcSpanInfo
8763                               { srcInfoSpan =
8764                                   SrcSpan "tests/examples/DerivingVia.hs" 137 48 137 49
8765                               , srcInfoPoints = []
8766                               }
8767                             (Ident
8768                                SrcSpanInfo
8769                                  { srcInfoSpan =
8770                                      SrcSpan "tests/examples/DerivingVia.hs" 137 48 137 49
8771                                  , srcInfoPoints = []
8772                                  }
8773                                "g")))
8774                   ]))
8775             (IHApp
8776                SrcSpanInfo
8777                  { srcInfoSpan =
8778                      SrcSpan "tests/examples/DerivingVia.hs" 137 54 137 77
8779                  , srcInfoPoints = []
8780                  }
8781                (IHCon
8782                   SrcSpanInfo
8783                     { srcInfoSpan =
8784                         SrcSpan "tests/examples/DerivingVia.hs" 137 54 137 62
8785                     , srcInfoPoints = []
8786                     }
8787                   (UnQual
8788                      SrcSpanInfo
8789                        { srcInfoSpan =
8790                            SrcSpan "tests/examples/DerivingVia.hs" 137 54 137 62
8791                        , srcInfoPoints = []
8792                        }
8793                      (Ident
8794                         SrcSpanInfo
8795                           { srcInfoSpan =
8796                               SrcSpan "tests/examples/DerivingVia.hs" 137 54 137 62
8797                           , srcInfoPoints = []
8798                           }
8799                         "MFunctor")))
8800                (TyParen
8801                   SrcSpanInfo
8802                     { srcInfoSpan =
8803                         SrcSpan "tests/examples/DerivingVia.hs" 137 63 137 77
8804                     , srcInfoPoints =
8805                         [ SrcSpan "tests/examples/DerivingVia.hs" 137 63 137 64
8806                         , SrcSpan "tests/examples/DerivingVia.hs" 137 76 137 77
8807                         ]
8808                     }
8809                   (TyApp
8810                      SrcSpanInfo
8811                        { srcInfoSpan =
8812                            SrcSpan "tests/examples/DerivingVia.hs" 137 64 137 76
8813                        , srcInfoPoints = []
8814                        }
8815                      (TyApp
8816                         SrcSpanInfo
8817                           { srcInfoSpan =
8818                               SrcSpan "tests/examples/DerivingVia.hs" 137 64 137 74
8819                           , srcInfoPoints = []
8820                           }
8821                         (TyCon
8822                            SrcSpanInfo
8823                              { srcInfoSpan =
8824                                  SrcSpan "tests/examples/DerivingVia.hs" 137 64 137 72
8825                              , srcInfoPoints = []
8826                              }
8827                            (UnQual
8828                               SrcSpanInfo
8829                                 { srcInfoSpan =
8830                                     SrcSpan "tests/examples/DerivingVia.hs" 137 64 137 72
8831                                 , srcInfoPoints = []
8832                                 }
8833                               (Ident
8834                                  SrcSpanInfo
8835                                    { srcInfoSpan =
8836                                        SrcSpan "tests/examples/DerivingVia.hs" 137 64 137 72
8837                                    , srcInfoPoints = []
8838                                    }
8839                                  "ComposeT")))
8840                         (TyVar
8841                            SrcSpanInfo
8842                              { srcInfoSpan =
8843                                  SrcSpan "tests/examples/DerivingVia.hs" 137 73 137 74
8844                              , srcInfoPoints = []
8845                              }
8846                            (Ident
8847                               SrcSpanInfo
8848                                 { srcInfoSpan =
8849                                     SrcSpan "tests/examples/DerivingVia.hs" 137 73 137 74
8850                                 , srcInfoPoints = []
8851                                 }
8852                               "f")))
8853                      (TyVar
8854                         SrcSpanInfo
8855                           { srcInfoSpan =
8856                               SrcSpan "tests/examples/DerivingVia.hs" 137 75 137 76
8857                           , srcInfoPoints = []
8858                           }
8859                         (Ident
8860                            SrcSpanInfo
8861                              { srcInfoSpan =
8862                                  SrcSpan "tests/examples/DerivingVia.hs" 137 75 137 76
8863                              , srcInfoPoints = []
8864                              }
8865                            "g"))))))
8866          (Just
8867             [ InsDecl
8868                 SrcSpanInfo
8869                   { srcInfoSpan =
8870                       SrcSpan "tests/examples/DerivingVia.hs" 138 3 138 84
8871                   , srcInfoPoints =
8872                       [ SrcSpan "tests/examples/DerivingVia.hs" 138 9 138 11 ]
8873                   }
8874                 (TypeSig
8875                    SrcSpanInfo
8876                      { srcInfoSpan =
8877                          SrcSpan "tests/examples/DerivingVia.hs" 138 3 138 84
8878                      , srcInfoPoints =
8879                          [ SrcSpan "tests/examples/DerivingVia.hs" 138 9 138 11 ]
8880                      }
8881                    [ Ident
8882                        SrcSpanInfo
8883                          { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 138 3 138 8
8884                          , srcInfoPoints = []
8885                          }
8886                        "hoist"
8887                    ]
8888                    (TyForall
8889                       SrcSpanInfo
8890                         { srcInfoSpan =
8891                             SrcSpan "tests/examples/DerivingVia.hs" 138 12 138 84
8892                         , srcInfoPoints =
8893                             [ SrcSpan "tests/examples/DerivingVia.hs" 138 12 138 18
8894                             , SrcSpan "tests/examples/DerivingVia.hs" 138 23 138 24
8895                             ]
8896                         }
8897                       (Just
8898                          [ UnkindedVar
8899                              SrcSpanInfo
8900                                { srcInfoSpan =
8901                                    SrcSpan "tests/examples/DerivingVia.hs" 138 19 138 20
8902                                , srcInfoPoints = []
8903                                }
8904                              (Ident
8905                                 SrcSpanInfo
8906                                   { srcInfoSpan =
8907                                       SrcSpan "tests/examples/DerivingVia.hs" 138 19 138 20
8908                                   , srcInfoPoints = []
8909                                   }
8910                                 "m")
8911                          , UnkindedVar
8912                              SrcSpanInfo
8913                                { srcInfoSpan =
8914                                    SrcSpan "tests/examples/DerivingVia.hs" 138 21 138 23
8915                                , srcInfoPoints = []
8916                                }
8917                              (Ident
8918                                 SrcSpanInfo
8919                                   { srcInfoSpan =
8920                                       SrcSpan "tests/examples/DerivingVia.hs" 138 21 138 23
8921                                   , srcInfoPoints = []
8922                                   }
8923                                 "m'")
8924                          ])
8925                       (Just
8926                          (CxSingle
8927                             SrcSpanInfo
8928                               { srcInfoSpan =
8929                                   SrcSpan "tests/examples/DerivingVia.hs" 138 25 138 35
8930                               , srcInfoPoints =
8931                                   [ SrcSpan "tests/examples/DerivingVia.hs" 138 33 138 35 ]
8932                               }
8933                             (TypeA
8934                                SrcSpanInfo
8935                                  { srcInfoSpan =
8936                                      SrcSpan "tests/examples/DerivingVia.hs" 138 25 138 35
8937                                  , srcInfoPoints =
8938                                      [ SrcSpan "tests/examples/DerivingVia.hs" 138 33 138 35 ]
8939                                  }
8940                                (TyApp
8941                                   SrcSpanInfo
8942                                     { srcInfoSpan =
8943                                         SrcSpan "tests/examples/DerivingVia.hs" 138 25 138 35
8944                                     , srcInfoPoints =
8945                                         [ SrcSpan "tests/examples/DerivingVia.hs" 138 33 138 35 ]
8946                                     }
8947                                   (TyCon
8948                                      SrcSpanInfo
8949                                        { srcInfoSpan =
8950                                            SrcSpan "tests/examples/DerivingVia.hs" 138 25 138 35
8951                                        , srcInfoPoints =
8952                                            [ SrcSpan "tests/examples/DerivingVia.hs" 138 33 138 35
8953                                            ]
8954                                        }
8955                                      (UnQual
8956                                         SrcSpanInfo
8957                                           { srcInfoSpan =
8958                                               SrcSpan "tests/examples/DerivingVia.hs" 138 25 138 30
8959                                           , srcInfoPoints = []
8960                                           }
8961                                         (Ident
8962                                            SrcSpanInfo
8963                                              { srcInfoSpan =
8964                                                  SrcSpan
8965                                                    "tests/examples/DerivingVia.hs" 138 25 138 30
8966                                              , srcInfoPoints = []
8967                                              }
8968                                            "Monad")))
8969                                   (TyVar
8970                                      SrcSpanInfo
8971                                        { srcInfoSpan =
8972                                            SrcSpan "tests/examples/DerivingVia.hs" 138 31 138 32
8973                                        , srcInfoPoints = []
8974                                        }
8975                                      (Ident
8976                                         SrcSpanInfo
8977                                           { srcInfoSpan =
8978                                               SrcSpan "tests/examples/DerivingVia.hs" 138 31 138 32
8979                                           , srcInfoPoints = []
8980                                           }
8981                                         "m"))))))
8982                       (TyFun
8983                          SrcSpanInfo
8984                            { srcInfoSpan =
8985                                SrcSpan "tests/examples/DerivingVia.hs" 138 36 138 84
8986                            , srcInfoPoints =
8987                                [ SrcSpan "tests/examples/DerivingVia.hs" 138 46 138 48 ]
8988                            }
8989                          (TyParen
8990                             SrcSpanInfo
8991                               { srcInfoSpan =
8992                                   SrcSpan "tests/examples/DerivingVia.hs" 138 36 138 45
8993                               , srcInfoPoints =
8994                                   [ SrcSpan "tests/examples/DerivingVia.hs" 138 36 138 37
8995                                   , SrcSpan "tests/examples/DerivingVia.hs" 138 44 138 45
8996                                   ]
8997                               }
8998                             (TyInfix
8999                                SrcSpanInfo
9000                                  { srcInfoSpan =
9001                                      SrcSpan "tests/examples/DerivingVia.hs" 138 37 138 44
9002                                  , srcInfoPoints = []
9003                                  }
9004                                (TyVar
9005                                   SrcSpanInfo
9006                                     { srcInfoSpan =
9007                                         SrcSpan "tests/examples/DerivingVia.hs" 138 37 138 38
9008                                     , srcInfoPoints = []
9009                                     }
9010                                   (Ident
9011                                      SrcSpanInfo
9012                                        { srcInfoSpan =
9013                                            SrcSpan "tests/examples/DerivingVia.hs" 138 37 138 38
9014                                        , srcInfoPoints = []
9015                                        }
9016                                      "m"))
9017                                (UnpromotedName
9018                                   SrcSpanInfo
9019                                     { srcInfoSpan =
9020                                         SrcSpan "tests/examples/DerivingVia.hs" 138 39 138 41
9021                                     , srcInfoPoints = []
9022                                     }
9023                                   (UnQual
9024                                      SrcSpanInfo
9025                                        { srcInfoSpan =
9026                                            SrcSpan "tests/examples/DerivingVia.hs" 138 39 138 41
9027                                        , srcInfoPoints = []
9028                                        }
9029                                      (Symbol
9030                                         SrcSpanInfo
9031                                           { srcInfoSpan =
9032                                               SrcSpan "tests/examples/DerivingVia.hs" 138 39 138 41
9033                                           , srcInfoPoints = []
9034                                           }
9035                                         "~>")))
9036                                (TyVar
9037                                   SrcSpanInfo
9038                                     { srcInfoSpan =
9039                                         SrcSpan "tests/examples/DerivingVia.hs" 138 42 138 44
9040                                     , srcInfoPoints = []
9041                                     }
9042                                   (Ident
9043                                      SrcSpanInfo
9044                                        { srcInfoSpan =
9045                                            SrcSpan "tests/examples/DerivingVia.hs" 138 42 138 44
9046                                        , srcInfoPoints = []
9047                                        }
9048                                      "m'"))))
9049                          (TyParen
9050                             SrcSpanInfo
9051                               { srcInfoSpan =
9052                                   SrcSpan "tests/examples/DerivingVia.hs" 138 49 138 84
9053                               , srcInfoPoints =
9054                                   [ SrcSpan "tests/examples/DerivingVia.hs" 138 49 138 50
9055                                   , SrcSpan "tests/examples/DerivingVia.hs" 138 83 138 84
9056                                   ]
9057                               }
9058                             (TyInfix
9059                                SrcSpanInfo
9060                                  { srcInfoSpan =
9061                                      SrcSpan "tests/examples/DerivingVia.hs" 138 50 138 83
9062                                  , srcInfoPoints = []
9063                                  }
9064                                (TyApp
9065                                   SrcSpanInfo
9066                                     { srcInfoSpan =
9067                                         SrcSpan "tests/examples/DerivingVia.hs" 138 50 138 64
9068                                     , srcInfoPoints = []
9069                                     }
9070                                   (TyApp
9071                                      SrcSpanInfo
9072                                        { srcInfoSpan =
9073                                            SrcSpan "tests/examples/DerivingVia.hs" 138 50 138 62
9074                                        , srcInfoPoints = []
9075                                        }
9076                                      (TyApp
9077                                         SrcSpanInfo
9078                                           { srcInfoSpan =
9079                                               SrcSpan "tests/examples/DerivingVia.hs" 138 50 138 60
9080                                           , srcInfoPoints = []
9081                                           }
9082                                         (TyCon
9083                                            SrcSpanInfo
9084                                              { srcInfoSpan =
9085                                                  SrcSpan
9086                                                    "tests/examples/DerivingVia.hs" 138 50 138 58
9087                                              , srcInfoPoints = []
9088                                              }
9089                                            (UnQual
9090                                               SrcSpanInfo
9091                                                 { srcInfoSpan =
9092                                                     SrcSpan
9093                                                       "tests/examples/DerivingVia.hs" 138 50 138 58
9094                                                 , srcInfoPoints = []
9095                                                 }
9096                                               (Ident
9097                                                  SrcSpanInfo
9098                                                    { srcInfoSpan =
9099                                                        SrcSpan
9100                                                          "tests/examples/DerivingVia.hs"
9101                                                          138
9102                                                          50
9103                                                          138
9104                                                          58
9105                                                    , srcInfoPoints = []
9106                                                    }
9107                                                  "ComposeT")))
9108                                         (TyVar
9109                                            SrcSpanInfo
9110                                              { srcInfoSpan =
9111                                                  SrcSpan
9112                                                    "tests/examples/DerivingVia.hs" 138 59 138 60
9113                                              , srcInfoPoints = []
9114                                              }
9115                                            (Ident
9116                                               SrcSpanInfo
9117                                                 { srcInfoSpan =
9118                                                     SrcSpan
9119                                                       "tests/examples/DerivingVia.hs" 138 59 138 60
9120                                                 , srcInfoPoints = []
9121                                                 }
9122                                               "f")))
9123                                      (TyVar
9124                                         SrcSpanInfo
9125                                           { srcInfoSpan =
9126                                               SrcSpan "tests/examples/DerivingVia.hs" 138 61 138 62
9127                                           , srcInfoPoints = []
9128                                           }
9129                                         (Ident
9130                                            SrcSpanInfo
9131                                              { srcInfoSpan =
9132                                                  SrcSpan
9133                                                    "tests/examples/DerivingVia.hs" 138 61 138 62
9134                                              , srcInfoPoints = []
9135                                              }
9136                                            "g")))
9137                                   (TyVar
9138                                      SrcSpanInfo
9139                                        { srcInfoSpan =
9140                                            SrcSpan "tests/examples/DerivingVia.hs" 138 63 138 64
9141                                        , srcInfoPoints = []
9142                                        }
9143                                      (Ident
9144                                         SrcSpanInfo
9145                                           { srcInfoSpan =
9146                                               SrcSpan "tests/examples/DerivingVia.hs" 138 63 138 64
9147                                           , srcInfoPoints = []
9148                                           }
9149                                         "m")))
9150                                (UnpromotedName
9151                                   SrcSpanInfo
9152                                     { srcInfoSpan =
9153                                         SrcSpan "tests/examples/DerivingVia.hs" 138 65 138 67
9154                                     , srcInfoPoints = []
9155                                     }
9156                                   (UnQual
9157                                      SrcSpanInfo
9158                                        { srcInfoSpan =
9159                                            SrcSpan "tests/examples/DerivingVia.hs" 138 65 138 67
9160                                        , srcInfoPoints = []
9161                                        }
9162                                      (Symbol
9163                                         SrcSpanInfo
9164                                           { srcInfoSpan =
9165                                               SrcSpan "tests/examples/DerivingVia.hs" 138 65 138 67
9166                                           , srcInfoPoints = []
9167                                           }
9168                                         "~>")))
9169                                (TyApp
9170                                   SrcSpanInfo
9171                                     { srcInfoSpan =
9172                                         SrcSpan "tests/examples/DerivingVia.hs" 138 68 138 83
9173                                     , srcInfoPoints = []
9174                                     }
9175                                   (TyApp
9176                                      SrcSpanInfo
9177                                        { srcInfoSpan =
9178                                            SrcSpan "tests/examples/DerivingVia.hs" 138 68 138 80
9179                                        , srcInfoPoints = []
9180                                        }
9181                                      (TyApp
9182                                         SrcSpanInfo
9183                                           { srcInfoSpan =
9184                                               SrcSpan "tests/examples/DerivingVia.hs" 138 68 138 78
9185                                           , srcInfoPoints = []
9186                                           }
9187                                         (TyCon
9188                                            SrcSpanInfo
9189                                              { srcInfoSpan =
9190                                                  SrcSpan
9191                                                    "tests/examples/DerivingVia.hs" 138 68 138 76
9192                                              , srcInfoPoints = []
9193                                              }
9194                                            (UnQual
9195                                               SrcSpanInfo
9196                                                 { srcInfoSpan =
9197                                                     SrcSpan
9198                                                       "tests/examples/DerivingVia.hs" 138 68 138 76
9199                                                 , srcInfoPoints = []
9200                                                 }
9201                                               (Ident
9202                                                  SrcSpanInfo
9203                                                    { srcInfoSpan =
9204                                                        SrcSpan
9205                                                          "tests/examples/DerivingVia.hs"
9206                                                          138
9207                                                          68
9208                                                          138
9209                                                          76
9210                                                    , srcInfoPoints = []
9211                                                    }
9212                                                  "ComposeT")))
9213                                         (TyVar
9214                                            SrcSpanInfo
9215                                              { srcInfoSpan =
9216                                                  SrcSpan
9217                                                    "tests/examples/DerivingVia.hs" 138 77 138 78
9218                                              , srcInfoPoints = []
9219                                              }
9220                                            (Ident
9221                                               SrcSpanInfo
9222                                                 { srcInfoSpan =
9223                                                     SrcSpan
9224                                                       "tests/examples/DerivingVia.hs" 138 77 138 78
9225                                                 , srcInfoPoints = []
9226                                                 }
9227                                               "f")))
9228                                      (TyVar
9229                                         SrcSpanInfo
9230                                           { srcInfoSpan =
9231                                               SrcSpan "tests/examples/DerivingVia.hs" 138 79 138 80
9232                                           , srcInfoPoints = []
9233                                           }
9234                                         (Ident
9235                                            SrcSpanInfo
9236                                              { srcInfoSpan =
9237                                                  SrcSpan
9238                                                    "tests/examples/DerivingVia.hs" 138 79 138 80
9239                                              , srcInfoPoints = []
9240                                              }
9241                                            "g")))
9242                                   (TyVar
9243                                      SrcSpanInfo
9244                                        { srcInfoSpan =
9245                                            SrcSpan "tests/examples/DerivingVia.hs" 138 81 138 83
9246                                        , srcInfoPoints = []
9247                                        }
9248                                      (Ident
9249                                         SrcSpanInfo
9250                                           { srcInfoSpan =
9251                                               SrcSpan "tests/examples/DerivingVia.hs" 138 81 138 83
9252                                           , srcInfoPoints = []
9253                                           }
9254                                         "m'"))))))))
9255             , InsDecl
9256                 SrcSpanInfo
9257                   { srcInfoSpan =
9258                       SrcSpan "tests/examples/DerivingVia.hs" 139 3 140 19
9259                   , srcInfoPoints = []
9260                   }
9261                 (FunBind
9262                    SrcSpanInfo
9263                      { srcInfoSpan =
9264                          SrcSpan "tests/examples/DerivingVia.hs" 139 3 140 19
9265                      , srcInfoPoints = []
9266                      }
9267                    [ Match
9268                        SrcSpanInfo
9269                          { srcInfoSpan =
9270                              SrcSpan "tests/examples/DerivingVia.hs" 139 3 140 19
9271                          , srcInfoPoints = []
9272                          }
9273                        (Ident
9274                           SrcSpanInfo
9275                             { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 139 3 139 8
9276                             , srcInfoPoints = []
9277                             }
9278                           "hoist")
9279                        [ PVar
9280                            SrcSpanInfo
9281                              { srcInfoSpan =
9282                                  SrcSpan "tests/examples/DerivingVia.hs" 139 9 139 10
9283                              , srcInfoPoints = []
9284                              }
9285                            (Ident
9286                               SrcSpanInfo
9287                                 { srcInfoSpan =
9288                                     SrcSpan "tests/examples/DerivingVia.hs" 139 9 139 10
9289                                 , srcInfoPoints = []
9290                                 }
9291                               "f")
9292                        ]
9293                        (UnGuardedRhs
9294                           SrcSpanInfo
9295                             { srcInfoSpan =
9296                                 SrcSpan "tests/examples/DerivingVia.hs" 139 11 140 19
9297                             , srcInfoPoints =
9298                                 [ SrcSpan "tests/examples/DerivingVia.hs" 139 11 139 12 ]
9299                             }
9300                           (InfixApp
9301                              SrcSpanInfo
9302                                { srcInfoSpan =
9303                                    SrcSpan "tests/examples/DerivingVia.hs" 139 13 140 19
9304                                , srcInfoPoints = []
9305                                }
9306                              (InfixApp
9307                                 SrcSpanInfo
9308                                   { srcInfoSpan =
9309                                       SrcSpan "tests/examples/DerivingVia.hs" 139 13 139 53
9310                                   , srcInfoPoints = []
9311                                   }
9312                                 (Con
9313                                    SrcSpanInfo
9314                                      { srcInfoSpan =
9315                                          SrcSpan "tests/examples/DerivingVia.hs" 139 13 139 21
9316                                      , srcInfoPoints = []
9317                                      }
9318                                    (UnQual
9319                                       SrcSpanInfo
9320                                         { srcInfoSpan =
9321                                             SrcSpan "tests/examples/DerivingVia.hs" 139 13 139 21
9322                                         , srcInfoPoints = []
9323                                         }
9324                                       (Ident
9325                                          SrcSpanInfo
9326                                            { srcInfoSpan =
9327                                                SrcSpan
9328                                                  "tests/examples/DerivingVia.hs" 139 13 139 21
9329                                            , srcInfoPoints = []
9330                                            }
9331                                          "ComposeT")))
9332                                 (QVarOp
9333                                    SrcSpanInfo
9334                                      { srcInfoSpan =
9335                                          SrcSpan "tests/examples/DerivingVia.hs" 139 22 139 23
9336                                      , srcInfoPoints = []
9337                                      }
9338                                    (UnQual
9339                                       SrcSpanInfo
9340                                         { srcInfoSpan =
9341                                             SrcSpan "tests/examples/DerivingVia.hs" 139 22 139 23
9342                                         , srcInfoPoints = []
9343                                         }
9344                                       (Symbol
9345                                          SrcSpanInfo
9346                                            { srcInfoSpan =
9347                                                SrcSpan
9348                                                  "tests/examples/DerivingVia.hs" 139 22 139 23
9349                                            , srcInfoPoints = []
9350                                            }
9351                                          ".")))
9352                                 (InfixApp
9353                                    SrcSpanInfo
9354                                      { srcInfoSpan =
9355                                          SrcSpan "tests/examples/DerivingVia.hs" 139 24 139 53
9356                                      , srcInfoPoints = []
9357                                      }
9358                                    (App
9359                                       SrcSpanInfo
9360                                         { srcInfoSpan =
9361                                             SrcSpan "tests/examples/DerivingVia.hs" 139 24 139 39
9362                                         , srcInfoPoints = []
9363                                         }
9364                                       (Var
9365                                          SrcSpanInfo
9366                                            { srcInfoSpan =
9367                                                SrcSpan
9368                                                  "tests/examples/DerivingVia.hs" 139 24 139 29
9369                                            , srcInfoPoints = []
9370                                            }
9371                                          (UnQual
9372                                             SrcSpanInfo
9373                                               { srcInfoSpan =
9374                                                   SrcSpan
9375                                                     "tests/examples/DerivingVia.hs" 139 24 139 29
9376                                               , srcInfoPoints = []
9377                                               }
9378                                             (Ident
9379                                                SrcSpanInfo
9380                                                  { srcInfoSpan =
9381                                                      SrcSpan
9382                                                        "tests/examples/DerivingVia.hs"
9383                                                        139
9384                                                        24
9385                                                        139
9386                                                        29
9387                                                  , srcInfoPoints = []
9388                                                  }
9389                                                "hoist")))
9390                                       (Paren
9391                                          SrcSpanInfo
9392                                            { srcInfoSpan =
9393                                                SrcSpan
9394                                                  "tests/examples/DerivingVia.hs" 139 30 139 39
9395                                            , srcInfoPoints =
9396                                                [ SrcSpan
9397                                                    "tests/examples/DerivingVia.hs" 139 30 139 31
9398                                                , SrcSpan
9399                                                    "tests/examples/DerivingVia.hs" 139 38 139 39
9400                                                ]
9401                                            }
9402                                          (App
9403                                             SrcSpanInfo
9404                                               { srcInfoSpan =
9405                                                   SrcSpan
9406                                                     "tests/examples/DerivingVia.hs" 139 31 139 38
9407                                               , srcInfoPoints = []
9408                                               }
9409                                             (Var
9410                                                SrcSpanInfo
9411                                                  { srcInfoSpan =
9412                                                      SrcSpan
9413                                                        "tests/examples/DerivingVia.hs"
9414                                                        139
9415                                                        31
9416                                                        139
9417                                                        36
9418                                                  , srcInfoPoints = []
9419                                                  }
9420                                                (UnQual
9421                                                   SrcSpanInfo
9422                                                     { srcInfoSpan =
9423                                                         SrcSpan
9424                                                           "tests/examples/DerivingVia.hs"
9425                                                           139
9426                                                           31
9427                                                           139
9428                                                           36
9429                                                     , srcInfoPoints = []
9430                                                     }
9431                                                   (Ident
9432                                                      SrcSpanInfo
9433                                                        { srcInfoSpan =
9434                                                            SrcSpan
9435                                                              "tests/examples/DerivingVia.hs"
9436                                                              139
9437                                                              31
9438                                                              139
9439                                                              36
9440                                                        , srcInfoPoints = []
9441                                                        }
9442                                                      "hoist")))
9443                                             (Var
9444                                                SrcSpanInfo
9445                                                  { srcInfoSpan =
9446                                                      SrcSpan
9447                                                        "tests/examples/DerivingVia.hs"
9448                                                        139
9449                                                        37
9450                                                        139
9451                                                        38
9452                                                  , srcInfoPoints = []
9453                                                  }
9454                                                (UnQual
9455                                                   SrcSpanInfo
9456                                                     { srcInfoSpan =
9457                                                         SrcSpan
9458                                                           "tests/examples/DerivingVia.hs"
9459                                                           139
9460                                                           37
9461                                                           139
9462                                                           38
9463                                                     , srcInfoPoints = []
9464                                                     }
9465                                                   (Ident
9466                                                      SrcSpanInfo
9467                                                        { srcInfoSpan =
9468                                                            SrcSpan
9469                                                              "tests/examples/DerivingVia.hs"
9470                                                              139
9471                                                              37
9472                                                              139
9473                                                              38
9474                                                        , srcInfoPoints = []
9475                                                        }
9476                                                      "f"))))))
9477                                    (QVarOp
9478                                       SrcSpanInfo
9479                                         { srcInfoSpan =
9480                                             SrcSpan "tests/examples/DerivingVia.hs" 139 40 139 41
9481                                         , srcInfoPoints = []
9482                                         }
9483                                       (UnQual
9484                                          SrcSpanInfo
9485                                            { srcInfoSpan =
9486                                                SrcSpan
9487                                                  "tests/examples/DerivingVia.hs" 139 40 139 41
9488                                            , srcInfoPoints = []
9489                                            }
9490                                          (Symbol
9491                                             SrcSpanInfo
9492                                               { srcInfoSpan =
9493                                                   SrcSpan
9494                                                     "tests/examples/DerivingVia.hs" 139 40 139 41
9495                                               , srcInfoPoints = []
9496                                               }
9497                                             ".")))
9498                                    (Var
9499                                       SrcSpanInfo
9500                                         { srcInfoSpan =
9501                                             SrcSpan "tests/examples/DerivingVia.hs" 139 42 139 53
9502                                         , srcInfoPoints = []
9503                                         }
9504                                       (UnQual
9505                                          SrcSpanInfo
9506                                            { srcInfoSpan =
9507                                                SrcSpan
9508                                                  "tests/examples/DerivingVia.hs" 139 42 139 53
9509                                            , srcInfoPoints = []
9510                                            }
9511                                          (Ident
9512                                             SrcSpanInfo
9513                                               { srcInfoSpan =
9514                                                   SrcSpan
9515                                                     "tests/examples/DerivingVia.hs" 139 42 139 53
9516                                               , srcInfoPoints = []
9517                                               }
9518                                             "getComposeT")))))
9519                              (QVarOp
9520                                 SrcSpanInfo
9521                                   { srcInfoSpan =
9522                                       SrcSpan "tests/examples/DerivingVia.hs" 140 5 140 7
9523                                   , srcInfoPoints = []
9524                                   }
9525                                 (UnQual
9526                                    SrcSpanInfo
9527                                      { srcInfoSpan =
9528                                          SrcSpan "tests/examples/DerivingVia.hs" 140 5 140 7
9529                                      , srcInfoPoints = []
9530                                      }
9531                                    (Symbol
9532                                       SrcSpanInfo
9533                                         { srcInfoSpan =
9534                                             SrcSpan "tests/examples/DerivingVia.hs" 140 5 140 7
9535                                         , srcInfoPoints = []
9536                                         }
9537                                       "\\\\")))
9538                              (App
9539                                 SrcSpanInfo
9540                                   { srcInfoSpan =
9541                                       SrcSpan "tests/examples/DerivingVia.hs" 140 8 140 19
9542                                   , srcInfoPoints = []
9543                                   }
9544                                 (App
9545                                    SrcSpanInfo
9546                                      { srcInfoSpan =
9547                                          SrcSpan "tests/examples/DerivingVia.hs" 140 8 140 16
9548                                      , srcInfoPoints = []
9549                                      }
9550                                    (Var
9551                                       SrcSpanInfo
9552                                         { srcInfoSpan =
9553                                             SrcSpan "tests/examples/DerivingVia.hs" 140 8 140 13
9554                                         , srcInfoPoints = []
9555                                         }
9556                                       (UnQual
9557                                          SrcSpanInfo
9558                                            { srcInfoSpan =
9559                                                SrcSpan "tests/examples/DerivingVia.hs" 140 8 140 13
9560                                            , srcInfoPoints = []
9561                                            }
9562                                          (Ident
9563                                             SrcSpanInfo
9564                                               { srcInfoSpan =
9565                                                   SrcSpan
9566                                                     "tests/examples/DerivingVia.hs" 140 8 140 13
9567                                               , srcInfoPoints = []
9568                                               }
9569                                             "proof")))
9570                                    (TypeApp
9571                                       SrcSpanInfo
9572                                         { srcInfoSpan =
9573                                             SrcSpan "tests/examples/DerivingVia.hs" 140 14 140 16
9574                                         , srcInfoPoints =
9575                                             [ SrcSpan "tests/examples/DerivingVia.hs" 140 14 140 15
9576                                             ]
9577                                         }
9578                                       (TyVar
9579                                          SrcSpanInfo
9580                                            { srcInfoSpan =
9581                                                SrcSpan
9582                                                  "tests/examples/DerivingVia.hs" 140 15 140 16
9583                                            , srcInfoPoints = []
9584                                            }
9585                                          (Ident
9586                                             SrcSpanInfo
9587                                               { srcInfoSpan =
9588                                                   SrcSpan
9589                                                     "tests/examples/DerivingVia.hs" 140 15 140 16
9590                                               , srcInfoPoints = []
9591                                               }
9592                                             "g"))))
9593                                 (TypeApp
9594                                    SrcSpanInfo
9595                                      { srcInfoSpan =
9596                                          SrcSpan "tests/examples/DerivingVia.hs" 140 17 140 19
9597                                      , srcInfoPoints =
9598                                          [ SrcSpan "tests/examples/DerivingVia.hs" 140 17 140 18 ]
9599                                      }
9600                                    (TyVar
9601                                       SrcSpanInfo
9602                                         { srcInfoSpan =
9603                                             SrcSpan "tests/examples/DerivingVia.hs" 140 18 140 19
9604                                         , srcInfoPoints = []
9605                                         }
9606                                       (Ident
9607                                          SrcSpanInfo
9608                                            { srcInfoSpan =
9609                                                SrcSpan
9610                                                  "tests/examples/DerivingVia.hs" 140 18 140 19
9611                                            , srcInfoPoints = []
9612                                            }
9613                                          "m"))))))
9614                        Nothing
9615                    ])
9616             ])
9617      , DataDecl
9618          SrcSpanInfo
9619            { srcInfoSpan =
9620                SrcSpan "tests/examples/DerivingVia.hs" 146 1 150 22
9621            , srcInfoPoints =
9622                [ SrcSpan "tests/examples/DerivingVia.hs" 146 13 146 14 ]
9623            }
9624          (NewType
9625             SrcSpanInfo
9626               { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 146 1 146 8
9627               , srcInfoPoints = []
9628               })
9629          Nothing
9630          (DHApp
9631             SrcSpanInfo
9632               { srcInfoSpan =
9633                   SrcSpan "tests/examples/DerivingVia.hs" 146 9 146 12
9634               , srcInfoPoints = []
9635               }
9636             (DHead
9637                SrcSpanInfo
9638                  { srcInfoSpan =
9639                      SrcSpan "tests/examples/DerivingVia.hs" 146 9 146 10
9640                  , srcInfoPoints = []
9641                  }
9642                (Ident
9643                   SrcSpanInfo
9644                     { srcInfoSpan =
9645                         SrcSpan "tests/examples/DerivingVia.hs" 146 9 146 10
9646                     , srcInfoPoints = []
9647                     }
9648                   "X"))
9649             (UnkindedVar
9650                SrcSpanInfo
9651                  { srcInfoSpan =
9652                      SrcSpan "tests/examples/DerivingVia.hs" 146 11 146 12
9653                  , srcInfoPoints = []
9654                  }
9655                (Ident
9656                   SrcSpanInfo
9657                     { srcInfoSpan =
9658                         SrcSpan "tests/examples/DerivingVia.hs" 146 11 146 12
9659                     , srcInfoPoints = []
9660                     }
9661                   "a")))
9662          [ QualConDecl
9663              SrcSpanInfo
9664                { srcInfoSpan =
9665                    SrcSpan "tests/examples/DerivingVia.hs" 146 15 146 23
9666                , srcInfoPoints = []
9667                }
9668              Nothing
9669              Nothing
9670              (ConDecl
9671                 SrcSpanInfo
9672                   { srcInfoSpan =
9673                       SrcSpan "tests/examples/DerivingVia.hs" 146 15 146 23
9674                   , srcInfoPoints = []
9675                   }
9676                 (Ident
9677                    SrcSpanInfo
9678                      { srcInfoSpan =
9679                          SrcSpan "tests/examples/DerivingVia.hs" 146 15 146 16
9680                      , srcInfoPoints = []
9681                      }
9682                    "X")
9683                 [ TyTuple
9684                     SrcSpanInfo
9685                       { srcInfoSpan =
9686                           SrcSpan "tests/examples/DerivingVia.hs" 146 17 146 23
9687                       , srcInfoPoints =
9688                           [ SrcSpan "tests/examples/DerivingVia.hs" 146 17 146 18
9689                           , SrcSpan "tests/examples/DerivingVia.hs" 146 19 146 20
9690                           , SrcSpan "tests/examples/DerivingVia.hs" 146 22 146 23
9691                           ]
9692                       }
9693                     Boxed
9694                     [ TyVar
9695                         SrcSpanInfo
9696                           { srcInfoSpan =
9697                               SrcSpan "tests/examples/DerivingVia.hs" 146 18 146 19
9698                           , srcInfoPoints = []
9699                           }
9700                         (Ident
9701                            SrcSpanInfo
9702                              { srcInfoSpan =
9703                                  SrcSpan "tests/examples/DerivingVia.hs" 146 18 146 19
9704                              , srcInfoPoints = []
9705                              }
9706                            "a")
9707                     , TyVar
9708                         SrcSpanInfo
9709                           { srcInfoSpan =
9710                               SrcSpan "tests/examples/DerivingVia.hs" 146 21 146 22
9711                           , srcInfoPoints = []
9712                           }
9713                         (Ident
9714                            SrcSpanInfo
9715                              { srcInfoSpan =
9716                                  SrcSpan "tests/examples/DerivingVia.hs" 146 21 146 22
9717                              , srcInfoPoints = []
9718                              }
9719                            "a")
9720                     ]
9721                 ])
9722          ]
9723          [ Deriving
9724              SrcSpanInfo
9725                { srcInfoSpan =
9726                    SrcSpan "tests/examples/DerivingVia.hs" 147 3 147 31
9727                , srcInfoPoints =
9728                    [ SrcSpan "tests/examples/DerivingVia.hs" 147 3 147 11
9729                    , SrcSpan "tests/examples/DerivingVia.hs" 147 12 147 13
9730                    , SrcSpan "tests/examples/DerivingVia.hs" 147 22 147 23
9731                    , SrcSpan "tests/examples/DerivingVia.hs" 147 30 147 31
9732                    ]
9733                }
9734              (Just
9735                 (DerivVia
9736                    SrcSpanInfo
9737                      { srcInfoSpan =
9738                          SrcSpan "tests/examples/DerivingVia.hs" 148 8 148 11
9739                      , srcInfoPoints = []
9740                      }
9741                    (TyTuple
9742                       SrcSpanInfo
9743                         { srcInfoSpan =
9744                             SrcSpan "tests/examples/DerivingVia.hs" 148 12 148 30
9745                         , srcInfoPoints =
9746                             [ SrcSpan "tests/examples/DerivingVia.hs" 148 12 148 13
9747                             , SrcSpan "tests/examples/DerivingVia.hs" 148 22 148 23
9748                             , SrcSpan "tests/examples/DerivingVia.hs" 148 29 148 30
9749                             ]
9750                         }
9751                       Boxed
9752                       [ TyApp
9753                           SrcSpanInfo
9754                             { srcInfoSpan =
9755                                 SrcSpan "tests/examples/DerivingVia.hs" 148 13 148 22
9756                             , srcInfoPoints = []
9757                             }
9758                           (TyCon
9759                              SrcSpanInfo
9760                                { srcInfoSpan =
9761                                    SrcSpan "tests/examples/DerivingVia.hs" 148 13 148 20
9762                                , srcInfoPoints = []
9763                                }
9764                              (UnQual
9765                                 SrcSpanInfo
9766                                   { srcInfoSpan =
9767                                       SrcSpan "tests/examples/DerivingVia.hs" 148 13 148 20
9768                                   , srcInfoPoints = []
9769                                   }
9770                                 (Ident
9771                                    SrcSpanInfo
9772                                      { srcInfoSpan =
9773                                          SrcSpan "tests/examples/DerivingVia.hs" 148 13 148 20
9774                                      , srcInfoPoints = []
9775                                      }
9776                                    "Product")))
9777                           (TyVar
9778                              SrcSpanInfo
9779                                { srcInfoSpan =
9780                                    SrcSpan "tests/examples/DerivingVia.hs" 148 21 148 22
9781                                , srcInfoPoints = []
9782                                }
9783                              (Ident
9784                                 SrcSpanInfo
9785                                   { srcInfoSpan =
9786                                       SrcSpan "tests/examples/DerivingVia.hs" 148 21 148 22
9787                                   , srcInfoPoints = []
9788                                   }
9789                                 "a"))
9790                       , TyApp
9791                           SrcSpanInfo
9792                             { srcInfoSpan =
9793                                 SrcSpan "tests/examples/DerivingVia.hs" 148 24 148 29
9794                             , srcInfoPoints = []
9795                             }
9796                           (TyCon
9797                              SrcSpanInfo
9798                                { srcInfoSpan =
9799                                    SrcSpan "tests/examples/DerivingVia.hs" 148 24 148 27
9800                                , srcInfoPoints = []
9801                                }
9802                              (UnQual
9803                                 SrcSpanInfo
9804                                   { srcInfoSpan =
9805                                       SrcSpan "tests/examples/DerivingVia.hs" 148 24 148 27
9806                                   , srcInfoPoints = []
9807                                   }
9808                                 (Ident
9809                                    SrcSpanInfo
9810                                      { srcInfoSpan =
9811                                          SrcSpan "tests/examples/DerivingVia.hs" 148 24 148 27
9812                                      , srcInfoPoints = []
9813                                      }
9814                                    "Sum")))
9815                           (TyVar
9816                              SrcSpanInfo
9817                                { srcInfoSpan =
9818                                    SrcSpan "tests/examples/DerivingVia.hs" 148 28 148 29
9819                                , srcInfoPoints = []
9820                                }
9821                              (Ident
9822                                 SrcSpanInfo
9823                                   { srcInfoSpan =
9824                                       SrcSpan "tests/examples/DerivingVia.hs" 148 28 148 29
9825                                   , srcInfoPoints = []
9826                                   }
9827                                 "a"))
9828                       ])))
9829              [ IRule
9830                  SrcSpanInfo
9831                    { srcInfoSpan =
9832                        SrcSpan "tests/examples/DerivingVia.hs" 147 13 147 22
9833                    , srcInfoPoints = []
9834                    }
9835                  Nothing
9836                  Nothing
9837                  (IHCon
9838                     SrcSpanInfo
9839                       { srcInfoSpan =
9840                           SrcSpan "tests/examples/DerivingVia.hs" 147 13 147 22
9841                       , srcInfoPoints = []
9842                       }
9843                     (UnQual
9844                        SrcSpanInfo
9845                          { srcInfoSpan =
9846                              SrcSpan "tests/examples/DerivingVia.hs" 147 13 147 22
9847                          , srcInfoPoints = []
9848                          }
9849                        (Ident
9850                           SrcSpanInfo
9851                             { srcInfoSpan =
9852                                 SrcSpan "tests/examples/DerivingVia.hs" 147 13 147 22
9853                             , srcInfoPoints = []
9854                             }
9855                           "Semigroup")))
9856              , IRule
9857                  SrcSpanInfo
9858                    { srcInfoSpan =
9859                        SrcSpan "tests/examples/DerivingVia.hs" 147 24 147 30
9860                    , srcInfoPoints = []
9861                    }
9862                  Nothing
9863                  Nothing
9864                  (IHCon
9865                     SrcSpanInfo
9866                       { srcInfoSpan =
9867                           SrcSpan "tests/examples/DerivingVia.hs" 147 24 147 30
9868                       , srcInfoPoints = []
9869                       }
9870                     (UnQual
9871                        SrcSpanInfo
9872                          { srcInfoSpan =
9873                              SrcSpan "tests/examples/DerivingVia.hs" 147 24 147 30
9874                          , srcInfoPoints = []
9875                          }
9876                        (Ident
9877                           SrcSpanInfo
9878                             { srcInfoSpan =
9879                                 SrcSpan "tests/examples/DerivingVia.hs" 147 24 147 30
9880                             , srcInfoPoints = []
9881                             }
9882                           "Monoid")))
9883              ]
9884          , Deriving
9885              SrcSpanInfo
9886                { srcInfoSpan =
9887                    SrcSpan "tests/examples/DerivingVia.hs" 150 3 150 22
9888                , srcInfoPoints =
9889                    [ SrcSpan "tests/examples/DerivingVia.hs" 150 3 150 11
9890                    , SrcSpan "tests/examples/DerivingVia.hs" 150 12 150 13
9891                    , SrcSpan "tests/examples/DerivingVia.hs" 150 17 150 18
9892                    , SrcSpan "tests/examples/DerivingVia.hs" 150 21 150 22
9893                    ]
9894                }
9895              (Just
9896                 (DerivVia
9897                    SrcSpanInfo
9898                      { srcInfoSpan =
9899                          SrcSpan "tests/examples/DerivingVia.hs" 151 8 151 11
9900                      , srcInfoPoints = []
9901                      }
9902                    (TyTuple
9903                       SrcSpanInfo
9904                         { srcInfoSpan =
9905                             SrcSpan "tests/examples/DerivingVia.hs" 151 12 151 18
9906                         , srcInfoPoints =
9907                             [ SrcSpan "tests/examples/DerivingVia.hs" 151 12 151 13
9908                             , SrcSpan "tests/examples/DerivingVia.hs" 151 14 151 15
9909                             , SrcSpan "tests/examples/DerivingVia.hs" 151 17 151 18
9910                             ]
9911                         }
9912                       Boxed
9913                       [ TyVar
9914                           SrcSpanInfo
9915                             { srcInfoSpan =
9916                                 SrcSpan "tests/examples/DerivingVia.hs" 151 13 151 14
9917                             , srcInfoPoints = []
9918                             }
9919                           (Ident
9920                              SrcSpanInfo
9921                                { srcInfoSpan =
9922                                    SrcSpan "tests/examples/DerivingVia.hs" 151 13 151 14
9923                                , srcInfoPoints = []
9924                                }
9925                              "a")
9926                       , TyVar
9927                           SrcSpanInfo
9928                             { srcInfoSpan =
9929                                 SrcSpan "tests/examples/DerivingVia.hs" 151 16 151 17
9930                             , srcInfoPoints = []
9931                             }
9932                           (Ident
9933                              SrcSpanInfo
9934                                { srcInfoSpan =
9935                                    SrcSpan "tests/examples/DerivingVia.hs" 151 16 151 17
9936                                , srcInfoPoints = []
9937                                }
9938                              "a")
9939                       ])))
9940              [ IRule
9941                  SrcSpanInfo
9942                    { srcInfoSpan =
9943                        SrcSpan "tests/examples/DerivingVia.hs" 150 13 150 17
9944                    , srcInfoPoints = []
9945                    }
9946                  Nothing
9947                  Nothing
9948                  (IHCon
9949                     SrcSpanInfo
9950                       { srcInfoSpan =
9951                           SrcSpan "tests/examples/DerivingVia.hs" 150 13 150 17
9952                       , srcInfoPoints = []
9953                       }
9954                     (UnQual
9955                        SrcSpanInfo
9956                          { srcInfoSpan =
9957                              SrcSpan "tests/examples/DerivingVia.hs" 150 13 150 17
9958                          , srcInfoPoints = []
9959                          }
9960                        (Ident
9961                           SrcSpanInfo
9962                             { srcInfoSpan =
9963                                 SrcSpan "tests/examples/DerivingVia.hs" 150 13 150 17
9964                             , srcInfoPoints = []
9965                             }
9966                           "Show")))
9967              , IRule
9968                  SrcSpanInfo
9969                    { srcInfoSpan =
9970                        SrcSpan "tests/examples/DerivingVia.hs" 150 19 150 21
9971                    , srcInfoPoints = []
9972                    }
9973                  Nothing
9974                  Nothing
9975                  (IHCon
9976                     SrcSpanInfo
9977                       { srcInfoSpan =
9978                           SrcSpan "tests/examples/DerivingVia.hs" 150 19 150 21
9979                       , srcInfoPoints = []
9980                       }
9981                     (UnQual
9982                        SrcSpanInfo
9983                          { srcInfoSpan =
9984                              SrcSpan "tests/examples/DerivingVia.hs" 150 19 150 21
9985                          , srcInfoPoints = []
9986                          }
9987                        (Ident
9988                           SrcSpanInfo
9989                             { srcInfoSpan =
9990                                 SrcSpan "tests/examples/DerivingVia.hs" 150 19 150 21
9991                             , srcInfoPoints = []
9992                             }
9993                           "Eq")))
9994              ]
9995          ]
9996      , ClassDecl
9997          SrcSpanInfo
9998            { srcInfoSpan =
9999                SrcSpan "tests/examples/DerivingVia.hs" 157 1 158 18
10000            , srcInfoPoints =
10001                [ SrcSpan "tests/examples/DerivingVia.hs" 157 1 157 6
10002                , SrcSpan "tests/examples/DerivingVia.hs" 157 11 157 16
10003                , SrcSpan "tests/examples/DerivingVia.hs" 158 3 158 3
10004                , SrcSpan "tests/examples/DerivingVia.hs" 160 1 160 0
10005                ]
10006            }
10007          Nothing
10008          (DHApp
10009             SrcSpanInfo
10010               { srcInfoSpan =
10011                   SrcSpan "tests/examples/DerivingVia.hs" 157 7 157 10
10012               , srcInfoPoints = []
10013               }
10014             (DHead
10015                SrcSpanInfo
10016                  { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 157 7 157 8
10017                  , srcInfoPoints = []
10018                  }
10019                (Ident
10020                   SrcSpanInfo
10021                     { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 157 7 157 8
10022                     , srcInfoPoints = []
10023                     }
10024                   "C"))
10025             (UnkindedVar
10026                SrcSpanInfo
10027                  { srcInfoSpan =
10028                      SrcSpan "tests/examples/DerivingVia.hs" 157 9 157 10
10029                  , srcInfoPoints = []
10030                  }
10031                (Ident
10032                   SrcSpanInfo
10033                     { srcInfoSpan =
10034                         SrcSpan "tests/examples/DerivingVia.hs" 157 9 157 10
10035                     , srcInfoPoints = []
10036                     }
10037                   "f")))
10038          []
10039          (Just
10040             [ ClsDecl
10041                 SrcSpanInfo
10042                   { srcInfoSpan =
10043                       SrcSpan "tests/examples/DerivingVia.hs" 158 3 158 18
10044                   , srcInfoPoints =
10045                       [ SrcSpan "tests/examples/DerivingVia.hs" 158 5 158 7 ]
10046                   }
10047                 (TypeSig
10048                    SrcSpanInfo
10049                      { srcInfoSpan =
10050                          SrcSpan "tests/examples/DerivingVia.hs" 158 3 158 18
10051                      , srcInfoPoints =
10052                          [ SrcSpan "tests/examples/DerivingVia.hs" 158 5 158 7 ]
10053                      }
10054                    [ Ident
10055                        SrcSpanInfo
10056                          { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 158 3 158 4
10057                          , srcInfoPoints = []
10058                          }
10059                        "c"
10060                    ]
10061                    (TyFun
10062                       SrcSpanInfo
10063                         { srcInfoSpan =
10064                             SrcSpan "tests/examples/DerivingVia.hs" 158 8 158 18
10065                         , srcInfoPoints =
10066                             [ SrcSpan "tests/examples/DerivingVia.hs" 158 12 158 14 ]
10067                         }
10068                       (TyApp
10069                          SrcSpanInfo
10070                            { srcInfoSpan =
10071                                SrcSpan "tests/examples/DerivingVia.hs" 158 8 158 11
10072                            , srcInfoPoints = []
10073                            }
10074                          (TyVar
10075                             SrcSpanInfo
10076                               { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 158 8 158 9
10077                               , srcInfoPoints = []
10078                               }
10079                             (Ident
10080                                SrcSpanInfo
10081                                  { srcInfoSpan =
10082                                      SrcSpan "tests/examples/DerivingVia.hs" 158 8 158 9
10083                                  , srcInfoPoints = []
10084                                  }
10085                                "f"))
10086                          (TyVar
10087                             SrcSpanInfo
10088                               { srcInfoSpan =
10089                                   SrcSpan "tests/examples/DerivingVia.hs" 158 10 158 11
10090                               , srcInfoPoints = []
10091                               }
10092                             (Ident
10093                                SrcSpanInfo
10094                                  { srcInfoSpan =
10095                                      SrcSpan "tests/examples/DerivingVia.hs" 158 10 158 11
10096                                  , srcInfoPoints = []
10097                                  }
10098                                "a")))
10099                       (TyCon
10100                          SrcSpanInfo
10101                            { srcInfoSpan =
10102                                SrcSpan "tests/examples/DerivingVia.hs" 158 15 158 18
10103                            , srcInfoPoints = []
10104                            }
10105                          (UnQual
10106                             SrcSpanInfo
10107                               { srcInfoSpan =
10108                                   SrcSpan "tests/examples/DerivingVia.hs" 158 15 158 18
10109                               , srcInfoPoints = []
10110                               }
10111                             (Ident
10112                                SrcSpanInfo
10113                                  { srcInfoSpan =
10114                                      SrcSpan "tests/examples/DerivingVia.hs" 158 15 158 18
10115                                  , srcInfoPoints = []
10116                                  }
10117                                "Int")))))
10118             ])
10119      , DataDecl
10120          SrcSpanInfo
10121            { srcInfoSpan =
10122                SrcSpan "tests/examples/DerivingVia.hs" 160 1 160 26
10123            , srcInfoPoints =
10124                [ SrcSpan "tests/examples/DerivingVia.hs" 160 16 160 17 ]
10125            }
10126          (NewType
10127             SrcSpanInfo
10128               { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 160 1 160 8
10129               , srcInfoPoints = []
10130               })
10131          Nothing
10132          (DHApp
10133             SrcSpanInfo
10134               { srcInfoSpan =
10135                   SrcSpan "tests/examples/DerivingVia.hs" 160 9 160 15
10136               , srcInfoPoints = []
10137               }
10138             (DHApp
10139                SrcSpanInfo
10140                  { srcInfoSpan =
10141                      SrcSpan "tests/examples/DerivingVia.hs" 160 9 160 13
10142                  , srcInfoPoints = []
10143                  }
10144                (DHead
10145                   SrcSpanInfo
10146                     { srcInfoSpan =
10147                         SrcSpan "tests/examples/DerivingVia.hs" 160 9 160 11
10148                     , srcInfoPoints = []
10149                     }
10150                   (Ident
10151                      SrcSpanInfo
10152                        { srcInfoSpan =
10153                            SrcSpan "tests/examples/DerivingVia.hs" 160 9 160 11
10154                        , srcInfoPoints = []
10155                        }
10156                      "X2"))
10157                (UnkindedVar
10158                   SrcSpanInfo
10159                     { srcInfoSpan =
10160                         SrcSpan "tests/examples/DerivingVia.hs" 160 12 160 13
10161                     , srcInfoPoints = []
10162                     }
10163                   (Ident
10164                      SrcSpanInfo
10165                        { srcInfoSpan =
10166                            SrcSpan "tests/examples/DerivingVia.hs" 160 12 160 13
10167                        , srcInfoPoints = []
10168                        }
10169                      "f")))
10170             (UnkindedVar
10171                SrcSpanInfo
10172                  { srcInfoSpan =
10173                      SrcSpan "tests/examples/DerivingVia.hs" 160 14 160 15
10174                  , srcInfoPoints = []
10175                  }
10176                (Ident
10177                   SrcSpanInfo
10178                     { srcInfoSpan =
10179                         SrcSpan "tests/examples/DerivingVia.hs" 160 14 160 15
10180                     , srcInfoPoints = []
10181                     }
10182                   "a")))
10183          [ QualConDecl
10184              SrcSpanInfo
10185                { srcInfoSpan =
10186                    SrcSpan "tests/examples/DerivingVia.hs" 160 18 160 26
10187                , srcInfoPoints = []
10188                }
10189              Nothing
10190              Nothing
10191              (ConDecl
10192                 SrcSpanInfo
10193                   { srcInfoSpan =
10194                       SrcSpan "tests/examples/DerivingVia.hs" 160 18 160 26
10195                   , srcInfoPoints = []
10196                   }
10197                 (Ident
10198                    SrcSpanInfo
10199                      { srcInfoSpan =
10200                          SrcSpan "tests/examples/DerivingVia.hs" 160 18 160 20
10201                      , srcInfoPoints = []
10202                      }
10203                    "X2")
10204                 [ TyParen
10205                     SrcSpanInfo
10206                       { srcInfoSpan =
10207                           SrcSpan "tests/examples/DerivingVia.hs" 160 21 160 26
10208                       , srcInfoPoints =
10209                           [ SrcSpan "tests/examples/DerivingVia.hs" 160 21 160 22
10210                           , SrcSpan "tests/examples/DerivingVia.hs" 160 25 160 26
10211                           ]
10212                       }
10213                     (TyApp
10214                        SrcSpanInfo
10215                          { srcInfoSpan =
10216                              SrcSpan "tests/examples/DerivingVia.hs" 160 22 160 25
10217                          , srcInfoPoints = []
10218                          }
10219                        (TyVar
10220                           SrcSpanInfo
10221                             { srcInfoSpan =
10222                                 SrcSpan "tests/examples/DerivingVia.hs" 160 22 160 23
10223                             , srcInfoPoints = []
10224                             }
10225                           (Ident
10226                              SrcSpanInfo
10227                                { srcInfoSpan =
10228                                    SrcSpan "tests/examples/DerivingVia.hs" 160 22 160 23
10229                                , srcInfoPoints = []
10230                                }
10231                              "f"))
10232                        (TyVar
10233                           SrcSpanInfo
10234                             { srcInfoSpan =
10235                                 SrcSpan "tests/examples/DerivingVia.hs" 160 24 160 25
10236                             , srcInfoPoints = []
10237                             }
10238                           (Ident
10239                              SrcSpanInfo
10240                                { srcInfoSpan =
10241                                    SrcSpan "tests/examples/DerivingVia.hs" 160 24 160 25
10242                                , srcInfoPoints = []
10243                                }
10244                              "a")))
10245                 ])
10246          ]
10247          []
10248      , InstDecl
10249          SrcSpanInfo
10250            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 162 1 165 0
10251            , srcInfoPoints =
10252                [ SrcSpan "tests/examples/DerivingVia.hs" 162 1 162 9
10253                , SrcSpan "tests/examples/DerivingVia.hs" 162 19 162 24
10254                , SrcSpan "tests/examples/DerivingVia.hs" 163 3 163 3
10255                , SrcSpan "tests/examples/DerivingVia.hs" 165 1 165 0
10256                ]
10257            }
10258          Nothing
10259          (IRule
10260             SrcSpanInfo
10261               { srcInfoSpan =
10262                   SrcSpan "tests/examples/DerivingVia.hs" 162 10 162 18
10263               , srcInfoPoints = []
10264               }
10265             Nothing
10266             Nothing
10267             (IHApp
10268                SrcSpanInfo
10269                  { srcInfoSpan =
10270                      SrcSpan "tests/examples/DerivingVia.hs" 162 10 162 18
10271                  , srcInfoPoints = []
10272                  }
10273                (IHCon
10274                   SrcSpanInfo
10275                     { srcInfoSpan =
10276                         SrcSpan "tests/examples/DerivingVia.hs" 162 10 162 11
10277                     , srcInfoPoints = []
10278                     }
10279                   (UnQual
10280                      SrcSpanInfo
10281                        { srcInfoSpan =
10282                            SrcSpan "tests/examples/DerivingVia.hs" 162 10 162 11
10283                        , srcInfoPoints = []
10284                        }
10285                      (Ident
10286                         SrcSpanInfo
10287                           { srcInfoSpan =
10288                               SrcSpan "tests/examples/DerivingVia.hs" 162 10 162 11
10289                           , srcInfoPoints = []
10290                           }
10291                         "C")))
10292                (TyParen
10293                   SrcSpanInfo
10294                     { srcInfoSpan =
10295                         SrcSpan "tests/examples/DerivingVia.hs" 162 12 162 18
10296                     , srcInfoPoints =
10297                         [ SrcSpan "tests/examples/DerivingVia.hs" 162 12 162 13
10298                         , SrcSpan "tests/examples/DerivingVia.hs" 162 17 162 18
10299                         ]
10300                     }
10301                   (TyApp
10302                      SrcSpanInfo
10303                        { srcInfoSpan =
10304                            SrcSpan "tests/examples/DerivingVia.hs" 162 13 162 17
10305                        , srcInfoPoints = []
10306                        }
10307                      (TyCon
10308                         SrcSpanInfo
10309                           { srcInfoSpan =
10310                               SrcSpan "tests/examples/DerivingVia.hs" 162 13 162 15
10311                           , srcInfoPoints = []
10312                           }
10313                         (UnQual
10314                            SrcSpanInfo
10315                              { srcInfoSpan =
10316                                  SrcSpan "tests/examples/DerivingVia.hs" 162 13 162 15
10317                              , srcInfoPoints = []
10318                              }
10319                            (Ident
10320                               SrcSpanInfo
10321                                 { srcInfoSpan =
10322                                     SrcSpan "tests/examples/DerivingVia.hs" 162 13 162 15
10323                                 , srcInfoPoints = []
10324                                 }
10325                               "X2")))
10326                      (TyVar
10327                         SrcSpanInfo
10328                           { srcInfoSpan =
10329                               SrcSpan "tests/examples/DerivingVia.hs" 162 16 162 17
10330                           , srcInfoPoints = []
10331                           }
10332                         (Ident
10333                            SrcSpanInfo
10334                              { srcInfoSpan =
10335                                  SrcSpan "tests/examples/DerivingVia.hs" 162 16 162 17
10336                              , srcInfoPoints = []
10337                              }
10338                            "f"))))))
10339          (Just
10340             [ InsDecl
10341                 SrcSpanInfo
10342                   { srcInfoSpan =
10343                       SrcSpan "tests/examples/DerivingVia.hs" 163 3 163 14
10344                   , srcInfoPoints = []
10345                   }
10346                 (PatBind
10347                    SrcSpanInfo
10348                      { srcInfoSpan =
10349                          SrcSpan "tests/examples/DerivingVia.hs" 163 3 163 14
10350                      , srcInfoPoints = []
10351                      }
10352                    (PVar
10353                       SrcSpanInfo
10354                         { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 163 3 163 4
10355                         , srcInfoPoints = []
10356                         }
10357                       (Ident
10358                          SrcSpanInfo
10359                            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 163 3 163 4
10360                            , srcInfoPoints = []
10361                            }
10362                          "c"))
10363                    (UnGuardedRhs
10364                       SrcSpanInfo
10365                         { srcInfoSpan =
10366                             SrcSpan "tests/examples/DerivingVia.hs" 163 5 163 14
10367                         , srcInfoPoints =
10368                             [ SrcSpan "tests/examples/DerivingVia.hs" 163 5 163 6 ]
10369                         }
10370                       (App
10371                          SrcSpanInfo
10372                            { srcInfoSpan =
10373                                SrcSpan "tests/examples/DerivingVia.hs" 163 7 163 14
10374                            , srcInfoPoints = []
10375                            }
10376                          (Var
10377                             SrcSpanInfo
10378                               { srcInfoSpan =
10379                                   SrcSpan "tests/examples/DerivingVia.hs" 163 7 163 12
10380                               , srcInfoPoints = []
10381                               }
10382                             (UnQual
10383                                SrcSpanInfo
10384                                  { srcInfoSpan =
10385                                      SrcSpan "tests/examples/DerivingVia.hs" 163 7 163 12
10386                                  , srcInfoPoints = []
10387                                  }
10388                                (Ident
10389                                   SrcSpanInfo
10390                                     { srcInfoSpan =
10391                                         SrcSpan "tests/examples/DerivingVia.hs" 163 7 163 12
10392                                     , srcInfoPoints = []
10393                                     }
10394                                   "const")))
10395                          (Lit
10396                             SrcSpanInfo
10397                               { srcInfoSpan =
10398                                   SrcSpan "tests/examples/DerivingVia.hs" 163 13 163 14
10399                               , srcInfoPoints = []
10400                               }
10401                             (Int
10402                                SrcSpanInfo
10403                                  { srcInfoSpan =
10404                                      SrcSpan "tests/examples/DerivingVia.hs" 163 13 163 14
10405                                  , srcInfoPoints = []
10406                                  }
10407                                0
10408                                "0"))))
10409                    Nothing)
10410             ])
10411      , DerivDecl
10412          SrcSpanInfo
10413            { srcInfoSpan =
10414                SrcSpan "tests/examples/DerivingVia.hs" 165 1 165 35
10415            , srcInfoPoints =
10416                [ SrcSpan "tests/examples/DerivingVia.hs" 165 1 165 9
10417                , SrcSpan "tests/examples/DerivingVia.hs" 165 22 165 30
10418                ]
10419            }
10420          (Just
10421             (DerivVia
10422                SrcSpanInfo
10423                  { srcInfoSpan =
10424                      SrcSpan "tests/examples/DerivingVia.hs" 165 10 165 13
10425                  , srcInfoPoints = []
10426                  }
10427                (TyParen
10428                   SrcSpanInfo
10429                     { srcInfoSpan =
10430                         SrcSpan "tests/examples/DerivingVia.hs" 165 14 165 21
10431                     , srcInfoPoints =
10432                         [ SrcSpan "tests/examples/DerivingVia.hs" 165 14 165 15
10433                         , SrcSpan "tests/examples/DerivingVia.hs" 165 20 165 21
10434                         ]
10435                     }
10436                   (TyApp
10437                      SrcSpanInfo
10438                        { srcInfoSpan =
10439                            SrcSpan "tests/examples/DerivingVia.hs" 165 15 165 20
10440                        , srcInfoPoints = []
10441                        }
10442                      (TyCon
10443                         SrcSpanInfo
10444                           { srcInfoSpan =
10445                               SrcSpan "tests/examples/DerivingVia.hs" 165 15 165 17
10446                           , srcInfoPoints = []
10447                           }
10448                         (UnQual
10449                            SrcSpanInfo
10450                              { srcInfoSpan =
10451                                  SrcSpan "tests/examples/DerivingVia.hs" 165 15 165 17
10452                              , srcInfoPoints = []
10453                              }
10454                            (Ident
10455                               SrcSpanInfo
10456                                 { srcInfoSpan =
10457                                     SrcSpan "tests/examples/DerivingVia.hs" 165 15 165 17
10458                                 , srcInfoPoints = []
10459                                 }
10460                               "X2")))
10461                      (TyCon
10462                         SrcSpanInfo
10463                           { srcInfoSpan =
10464                               SrcSpan "tests/examples/DerivingVia.hs" 165 18 165 20
10465                           , srcInfoPoints = []
10466                           }
10467                         (UnQual
10468                            SrcSpanInfo
10469                              { srcInfoSpan =
10470                                  SrcSpan "tests/examples/DerivingVia.hs" 165 18 165 20
10471                              , srcInfoPoints = []
10472                              }
10473                            (Ident
10474                               SrcSpanInfo
10475                                 { srcInfoSpan =
10476                                     SrcSpan "tests/examples/DerivingVia.hs" 165 18 165 20
10477                                 , srcInfoPoints = []
10478                                 }
10479                               "IO")))))))
10480          Nothing
10481          (IRule
10482             SrcSpanInfo
10483               { srcInfoSpan =
10484                   SrcSpan "tests/examples/DerivingVia.hs" 165 31 165 35
10485               , srcInfoPoints = []
10486               }
10487             Nothing
10488             Nothing
10489             (IHApp
10490                SrcSpanInfo
10491                  { srcInfoSpan =
10492                      SrcSpan "tests/examples/DerivingVia.hs" 165 31 165 35
10493                  , srcInfoPoints = []
10494                  }
10495                (IHCon
10496                   SrcSpanInfo
10497                     { srcInfoSpan =
10498                         SrcSpan "tests/examples/DerivingVia.hs" 165 31 165 32
10499                     , srcInfoPoints = []
10500                     }
10501                   (UnQual
10502                      SrcSpanInfo
10503                        { srcInfoSpan =
10504                            SrcSpan "tests/examples/DerivingVia.hs" 165 31 165 32
10505                        , srcInfoPoints = []
10506                        }
10507                      (Ident
10508                         SrcSpanInfo
10509                           { srcInfoSpan =
10510                               SrcSpan "tests/examples/DerivingVia.hs" 165 31 165 32
10511                           , srcInfoPoints = []
10512                           }
10513                         "C")))
10514                (TyCon
10515                   SrcSpanInfo
10516                     { srcInfoSpan =
10517                         SrcSpan "tests/examples/DerivingVia.hs" 165 33 165 35
10518                     , srcInfoPoints = []
10519                     }
10520                   (UnQual
10521                      SrcSpanInfo
10522                        { srcInfoSpan =
10523                            SrcSpan "tests/examples/DerivingVia.hs" 165 33 165 35
10524                        , srcInfoPoints = []
10525                        }
10526                      (Ident
10527                         SrcSpanInfo
10528                           { srcInfoSpan =
10529                               SrcSpan "tests/examples/DerivingVia.hs" 165 33 165 35
10530                           , srcInfoPoints = []
10531                           }
10532                         "IO")))))
10533      , DataDecl
10534          SrcSpanInfo
10535            { srcInfoSpan =
10536                SrcSpan "tests/examples/DerivingVia.hs" 171 1 171 46
10537            , srcInfoPoints =
10538                [ SrcSpan "tests/examples/DerivingVia.hs" 171 14 171 15 ]
10539            }
10540          (NewType
10541             SrcSpanInfo
10542               { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 171 1 171 8
10543               , srcInfoPoints = []
10544               })
10545          Nothing
10546          (DHApp
10547             SrcSpanInfo
10548               { srcInfoSpan =
10549                   SrcSpan "tests/examples/DerivingVia.hs" 171 9 171 13
10550               , srcInfoPoints = []
10551               }
10552             (DHead
10553                SrcSpanInfo
10554                  { srcInfoSpan =
10555                      SrcSpan "tests/examples/DerivingVia.hs" 171 9 171 11
10556                  , srcInfoPoints = []
10557                  }
10558                (Ident
10559                   SrcSpanInfo
10560                     { srcInfoSpan =
10561                         SrcSpan "tests/examples/DerivingVia.hs" 171 9 171 11
10562                     , srcInfoPoints = []
10563                     }
10564                   "P0"))
10565             (UnkindedVar
10566                SrcSpanInfo
10567                  { srcInfoSpan =
10568                      SrcSpan "tests/examples/DerivingVia.hs" 171 12 171 13
10569                  , srcInfoPoints = []
10570                  }
10571                (Ident
10572                   SrcSpanInfo
10573                     { srcInfoSpan =
10574                         SrcSpan "tests/examples/DerivingVia.hs" 171 12 171 13
10575                     , srcInfoPoints = []
10576                     }
10577                   "a")))
10578          [ QualConDecl
10579              SrcSpanInfo
10580                { srcInfoSpan =
10581                    SrcSpan "tests/examples/DerivingVia.hs" 171 16 171 20
10582                , srcInfoPoints = []
10583                }
10584              Nothing
10585              Nothing
10586              (ConDecl
10587                 SrcSpanInfo
10588                   { srcInfoSpan =
10589                       SrcSpan "tests/examples/DerivingVia.hs" 171 16 171 20
10590                   , srcInfoPoints = []
10591                   }
10592                 (Ident
10593                    SrcSpanInfo
10594                      { srcInfoSpan =
10595                          SrcSpan "tests/examples/DerivingVia.hs" 171 16 171 18
10596                      , srcInfoPoints = []
10597                      }
10598                    "P0")
10599                 [ TyVar
10600                     SrcSpanInfo
10601                       { srcInfoSpan =
10602                           SrcSpan "tests/examples/DerivingVia.hs" 171 19 171 20
10603                       , srcInfoPoints = []
10604                       }
10605                     (Ident
10606                        SrcSpanInfo
10607                          { srcInfoSpan =
10608                              SrcSpan "tests/examples/DerivingVia.hs" 171 19 171 20
10609                          , srcInfoPoints = []
10610                          }
10611                        "a")
10612                 ])
10613          ]
10614          [ Deriving
10615              SrcSpanInfo
10616                { srcInfoSpan =
10617                    SrcSpan "tests/examples/DerivingVia.hs" 171 33 171 46
10618                , srcInfoPoints =
10619                    [ SrcSpan "tests/examples/DerivingVia.hs" 171 33 171 41 ]
10620                }
10621              (Just
10622                 (DerivVia
10623                    SrcSpanInfo
10624                      { srcInfoSpan =
10625                          SrcSpan "tests/examples/DerivingVia.hs" 171 47 171 50
10626                      , srcInfoPoints = []
10627                      }
10628                    (TyVar
10629                       SrcSpanInfo
10630                         { srcInfoSpan =
10631                             SrcSpan "tests/examples/DerivingVia.hs" 171 51 171 52
10632                         , srcInfoPoints = []
10633                         }
10634                       (Ident
10635                          SrcSpanInfo
10636                            { srcInfoSpan =
10637                                SrcSpan "tests/examples/DerivingVia.hs" 171 51 171 52
10638                            , srcInfoPoints = []
10639                            }
10640                          "a"))))
10641              [ IRule
10642                  SrcSpanInfo
10643                    { srcInfoSpan =
10644                        SrcSpan "tests/examples/DerivingVia.hs" 171 42 171 46
10645                    , srcInfoPoints = []
10646                    }
10647                  Nothing
10648                  Nothing
10649                  (IHCon
10650                     SrcSpanInfo
10651                       { srcInfoSpan =
10652                           SrcSpan "tests/examples/DerivingVia.hs" 171 42 171 46
10653                       , srcInfoPoints = []
10654                       }
10655                     (UnQual
10656                        SrcSpanInfo
10657                          { srcInfoSpan =
10658                              SrcSpan "tests/examples/DerivingVia.hs" 171 42 171 46
10659                          , srcInfoPoints = []
10660                          }
10661                        (Ident
10662                           SrcSpanInfo
10663                             { srcInfoSpan =
10664                                 SrcSpan "tests/examples/DerivingVia.hs" 171 42 171 46
10665                             , srcInfoPoints = []
10666                             }
10667                           "Show")))
10668              ]
10669          ]
10670      , DataDecl
10671          SrcSpanInfo
10672            { srcInfoSpan =
10673                SrcSpan "tests/examples/DerivingVia.hs" 172 1 172 46
10674            , srcInfoPoints =
10675                [ SrcSpan "tests/examples/DerivingVia.hs" 172 14 172 15 ]
10676            }
10677          (NewType
10678             SrcSpanInfo
10679               { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 172 1 172 8
10680               , srcInfoPoints = []
10681               })
10682          Nothing
10683          (DHApp
10684             SrcSpanInfo
10685               { srcInfoSpan =
10686                   SrcSpan "tests/examples/DerivingVia.hs" 172 9 172 13
10687               , srcInfoPoints = []
10688               }
10689             (DHead
10690                SrcSpanInfo
10691                  { srcInfoSpan =
10692                      SrcSpan "tests/examples/DerivingVia.hs" 172 9 172 11
10693                  , srcInfoPoints = []
10694                  }
10695                (Ident
10696                   SrcSpanInfo
10697                     { srcInfoSpan =
10698                         SrcSpan "tests/examples/DerivingVia.hs" 172 9 172 11
10699                     , srcInfoPoints = []
10700                     }
10701                   "P1"))
10702             (UnkindedVar
10703                SrcSpanInfo
10704                  { srcInfoSpan =
10705                      SrcSpan "tests/examples/DerivingVia.hs" 172 12 172 13
10706                  , srcInfoPoints = []
10707                  }
10708                (Ident
10709                   SrcSpanInfo
10710                     { srcInfoSpan =
10711                         SrcSpan "tests/examples/DerivingVia.hs" 172 12 172 13
10712                     , srcInfoPoints = []
10713                     }
10714                   "a")))
10715          [ QualConDecl
10716              SrcSpanInfo
10717                { srcInfoSpan =
10718                    SrcSpan "tests/examples/DerivingVia.hs" 172 16 172 22
10719                , srcInfoPoints = []
10720                }
10721              Nothing
10722              Nothing
10723              (ConDecl
10724                 SrcSpanInfo
10725                   { srcInfoSpan =
10726                       SrcSpan "tests/examples/DerivingVia.hs" 172 16 172 22
10727                   , srcInfoPoints = []
10728                   }
10729                 (Ident
10730                    SrcSpanInfo
10731                      { srcInfoSpan =
10732                          SrcSpan "tests/examples/DerivingVia.hs" 172 16 172 18
10733                      , srcInfoPoints = []
10734                      }
10735                    "P1")
10736                 [ TyList
10737                     SrcSpanInfo
10738                       { srcInfoSpan =
10739                           SrcSpan "tests/examples/DerivingVia.hs" 172 19 172 22
10740                       , srcInfoPoints =
10741                           [ SrcSpan "tests/examples/DerivingVia.hs" 172 19 172 20
10742                           , SrcSpan "tests/examples/DerivingVia.hs" 172 21 172 22
10743                           ]
10744                       }
10745                     (TyVar
10746                        SrcSpanInfo
10747                          { srcInfoSpan =
10748                              SrcSpan "tests/examples/DerivingVia.hs" 172 20 172 21
10749                          , srcInfoPoints = []
10750                          }
10751                        (Ident
10752                           SrcSpanInfo
10753                             { srcInfoSpan =
10754                                 SrcSpan "tests/examples/DerivingVia.hs" 172 20 172 21
10755                             , srcInfoPoints = []
10756                             }
10757                           "a"))
10758                 ])
10759          ]
10760          [ Deriving
10761              SrcSpanInfo
10762                { srcInfoSpan =
10763                    SrcSpan "tests/examples/DerivingVia.hs" 172 33 172 46
10764                , srcInfoPoints =
10765                    [ SrcSpan "tests/examples/DerivingVia.hs" 172 33 172 41 ]
10766                }
10767              (Just
10768                 (DerivVia
10769                    SrcSpanInfo
10770                      { srcInfoSpan =
10771                          SrcSpan "tests/examples/DerivingVia.hs" 172 47 172 50
10772                      , srcInfoPoints = []
10773                      }
10774                    (TyList
10775                       SrcSpanInfo
10776                         { srcInfoSpan =
10777                             SrcSpan "tests/examples/DerivingVia.hs" 172 51 172 54
10778                         , srcInfoPoints =
10779                             [ SrcSpan "tests/examples/DerivingVia.hs" 172 51 172 52
10780                             , SrcSpan "tests/examples/DerivingVia.hs" 172 53 172 54
10781                             ]
10782                         }
10783                       (TyVar
10784                          SrcSpanInfo
10785                            { srcInfoSpan =
10786                                SrcSpan "tests/examples/DerivingVia.hs" 172 52 172 53
10787                            , srcInfoPoints = []
10788                            }
10789                          (Ident
10790                             SrcSpanInfo
10791                               { srcInfoSpan =
10792                                   SrcSpan "tests/examples/DerivingVia.hs" 172 52 172 53
10793                               , srcInfoPoints = []
10794                               }
10795                             "a")))))
10796              [ IRule
10797                  SrcSpanInfo
10798                    { srcInfoSpan =
10799                        SrcSpan "tests/examples/DerivingVia.hs" 172 42 172 46
10800                    , srcInfoPoints = []
10801                    }
10802                  Nothing
10803                  Nothing
10804                  (IHCon
10805                     SrcSpanInfo
10806                       { srcInfoSpan =
10807                           SrcSpan "tests/examples/DerivingVia.hs" 172 42 172 46
10808                       , srcInfoPoints = []
10809                       }
10810                     (UnQual
10811                        SrcSpanInfo
10812                          { srcInfoSpan =
10813                              SrcSpan "tests/examples/DerivingVia.hs" 172 42 172 46
10814                          , srcInfoPoints = []
10815                          }
10816                        (Ident
10817                           SrcSpanInfo
10818                             { srcInfoSpan =
10819                                 SrcSpan "tests/examples/DerivingVia.hs" 172 42 172 46
10820                             , srcInfoPoints = []
10821                             }
10822                           "Show")))
10823              ]
10824          ]
10825      , DataDecl
10826          SrcSpanInfo
10827            { srcInfoSpan =
10828                SrcSpan "tests/examples/DerivingVia.hs" 173 1 173 46
10829            , srcInfoPoints =
10830                [ SrcSpan "tests/examples/DerivingVia.hs" 173 14 173 15 ]
10831            }
10832          (NewType
10833             SrcSpanInfo
10834               { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 173 1 173 8
10835               , srcInfoPoints = []
10836               })
10837          Nothing
10838          (DHApp
10839             SrcSpanInfo
10840               { srcInfoSpan =
10841                   SrcSpan "tests/examples/DerivingVia.hs" 173 9 173 13
10842               , srcInfoPoints = []
10843               }
10844             (DHead
10845                SrcSpanInfo
10846                  { srcInfoSpan =
10847                      SrcSpan "tests/examples/DerivingVia.hs" 173 9 173 11
10848                  , srcInfoPoints = []
10849                  }
10850                (Ident
10851                   SrcSpanInfo
10852                     { srcInfoSpan =
10853                         SrcSpan "tests/examples/DerivingVia.hs" 173 9 173 11
10854                     , srcInfoPoints = []
10855                     }
10856                   "P2"))
10857             (UnkindedVar
10858                SrcSpanInfo
10859                  { srcInfoSpan =
10860                      SrcSpan "tests/examples/DerivingVia.hs" 173 12 173 13
10861                  , srcInfoPoints = []
10862                  }
10863                (Ident
10864                   SrcSpanInfo
10865                     { srcInfoSpan =
10866                         SrcSpan "tests/examples/DerivingVia.hs" 173 12 173 13
10867                     , srcInfoPoints = []
10868                     }
10869                   "a")))
10870          [ QualConDecl
10871              SrcSpanInfo
10872                { srcInfoSpan =
10873                    SrcSpan "tests/examples/DerivingVia.hs" 173 16 173 25
10874                , srcInfoPoints = []
10875                }
10876              Nothing
10877              Nothing
10878              (ConDecl
10879                 SrcSpanInfo
10880                   { srcInfoSpan =
10881                       SrcSpan "tests/examples/DerivingVia.hs" 173 16 173 25
10882                   , srcInfoPoints = []
10883                   }
10884                 (Ident
10885                    SrcSpanInfo
10886                      { srcInfoSpan =
10887                          SrcSpan "tests/examples/DerivingVia.hs" 173 16 173 18
10888                      , srcInfoPoints = []
10889                      }
10890                    "P2")
10891                 [ TyTuple
10892                     SrcSpanInfo
10893                       { srcInfoSpan =
10894                           SrcSpan "tests/examples/DerivingVia.hs" 173 19 173 25
10895                       , srcInfoPoints =
10896                           [ SrcSpan "tests/examples/DerivingVia.hs" 173 19 173 20
10897                           , SrcSpan "tests/examples/DerivingVia.hs" 173 21 173 22
10898                           , SrcSpan "tests/examples/DerivingVia.hs" 173 24 173 25
10899                           ]
10900                       }
10901                     Boxed
10902                     [ TyVar
10903                         SrcSpanInfo
10904                           { srcInfoSpan =
10905                               SrcSpan "tests/examples/DerivingVia.hs" 173 20 173 21
10906                           , srcInfoPoints = []
10907                           }
10908                         (Ident
10909                            SrcSpanInfo
10910                              { srcInfoSpan =
10911                                  SrcSpan "tests/examples/DerivingVia.hs" 173 20 173 21
10912                              , srcInfoPoints = []
10913                              }
10914                            "a")
10915                     , TyVar
10916                         SrcSpanInfo
10917                           { srcInfoSpan =
10918                               SrcSpan "tests/examples/DerivingVia.hs" 173 23 173 24
10919                           , srcInfoPoints = []
10920                           }
10921                         (Ident
10922                            SrcSpanInfo
10923                              { srcInfoSpan =
10924                                  SrcSpan "tests/examples/DerivingVia.hs" 173 23 173 24
10925                              , srcInfoPoints = []
10926                              }
10927                            "a")
10928                     ]
10929                 ])
10930          ]
10931          [ Deriving
10932              SrcSpanInfo
10933                { srcInfoSpan =
10934                    SrcSpan "tests/examples/DerivingVia.hs" 173 33 173 46
10935                , srcInfoPoints =
10936                    [ SrcSpan "tests/examples/DerivingVia.hs" 173 33 173 41 ]
10937                }
10938              (Just
10939                 (DerivVia
10940                    SrcSpanInfo
10941                      { srcInfoSpan =
10942                          SrcSpan "tests/examples/DerivingVia.hs" 173 47 173 50
10943                      , srcInfoPoints = []
10944                      }
10945                    (TyTuple
10946                       SrcSpanInfo
10947                         { srcInfoSpan =
10948                             SrcSpan "tests/examples/DerivingVia.hs" 173 51 173 57
10949                         , srcInfoPoints =
10950                             [ SrcSpan "tests/examples/DerivingVia.hs" 173 51 173 52
10951                             , SrcSpan "tests/examples/DerivingVia.hs" 173 53 173 54
10952                             , SrcSpan "tests/examples/DerivingVia.hs" 173 56 173 57
10953                             ]
10954                         }
10955                       Boxed
10956                       [ TyVar
10957                           SrcSpanInfo
10958                             { srcInfoSpan =
10959                                 SrcSpan "tests/examples/DerivingVia.hs" 173 52 173 53
10960                             , srcInfoPoints = []
10961                             }
10962                           (Ident
10963                              SrcSpanInfo
10964                                { srcInfoSpan =
10965                                    SrcSpan "tests/examples/DerivingVia.hs" 173 52 173 53
10966                                , srcInfoPoints = []
10967                                }
10968                              "a")
10969                       , TyVar
10970                           SrcSpanInfo
10971                             { srcInfoSpan =
10972                                 SrcSpan "tests/examples/DerivingVia.hs" 173 55 173 56
10973                             , srcInfoPoints = []
10974                             }
10975                           (Ident
10976                              SrcSpanInfo
10977                                { srcInfoSpan =
10978                                    SrcSpan "tests/examples/DerivingVia.hs" 173 55 173 56
10979                                , srcInfoPoints = []
10980                                }
10981                              "a")
10982                       ])))
10983              [ IRule
10984                  SrcSpanInfo
10985                    { srcInfoSpan =
10986                        SrcSpan "tests/examples/DerivingVia.hs" 173 42 173 46
10987                    , srcInfoPoints = []
10988                    }
10989                  Nothing
10990                  Nothing
10991                  (IHCon
10992                     SrcSpanInfo
10993                       { srcInfoSpan =
10994                           SrcSpan "tests/examples/DerivingVia.hs" 173 42 173 46
10995                       , srcInfoPoints = []
10996                       }
10997                     (UnQual
10998                        SrcSpanInfo
10999                          { srcInfoSpan =
11000                              SrcSpan "tests/examples/DerivingVia.hs" 173 42 173 46
11001                          , srcInfoPoints = []
11002                          }
11003                        (Ident
11004                           SrcSpanInfo
11005                             { srcInfoSpan =
11006                                 SrcSpan "tests/examples/DerivingVia.hs" 173 42 173 46
11007                             , srcInfoPoints = []
11008                             }
11009                           "Show")))
11010              ]
11011          ]
11012      , DataDecl
11013          SrcSpanInfo
11014            { srcInfoSpan =
11015                SrcSpan "tests/examples/DerivingVia.hs" 174 1 174 46
11016            , srcInfoPoints =
11017                [ SrcSpan "tests/examples/DerivingVia.hs" 174 14 174 15 ]
11018            }
11019          (NewType
11020             SrcSpanInfo
11021               { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 174 1 174 8
11022               , srcInfoPoints = []
11023               })
11024          Nothing
11025          (DHApp
11026             SrcSpanInfo
11027               { srcInfoSpan =
11028                   SrcSpan "tests/examples/DerivingVia.hs" 174 9 174 13
11029               , srcInfoPoints = []
11030               }
11031             (DHead
11032                SrcSpanInfo
11033                  { srcInfoSpan =
11034                      SrcSpan "tests/examples/DerivingVia.hs" 174 9 174 11
11035                  , srcInfoPoints = []
11036                  }
11037                (Ident
11038                   SrcSpanInfo
11039                     { srcInfoSpan =
11040                         SrcSpan "tests/examples/DerivingVia.hs" 174 9 174 11
11041                     , srcInfoPoints = []
11042                     }
11043                   "P3"))
11044             (UnkindedVar
11045                SrcSpanInfo
11046                  { srcInfoSpan =
11047                      SrcSpan "tests/examples/DerivingVia.hs" 174 12 174 13
11048                  , srcInfoPoints = []
11049                  }
11050                (Ident
11051                   SrcSpanInfo
11052                     { srcInfoSpan =
11053                         SrcSpan "tests/examples/DerivingVia.hs" 174 12 174 13
11054                     , srcInfoPoints = []
11055                     }
11056                   "a")))
11057          [ QualConDecl
11058              SrcSpanInfo
11059                { srcInfoSpan =
11060                    SrcSpan "tests/examples/DerivingVia.hs" 174 16 174 28
11061                , srcInfoPoints = []
11062                }
11063              Nothing
11064              Nothing
11065              (ConDecl
11066                 SrcSpanInfo
11067                   { srcInfoSpan =
11068                       SrcSpan "tests/examples/DerivingVia.hs" 174 16 174 28
11069                   , srcInfoPoints = []
11070                   }
11071                 (Ident
11072                    SrcSpanInfo
11073                      { srcInfoSpan =
11074                          SrcSpan "tests/examples/DerivingVia.hs" 174 16 174 18
11075                      , srcInfoPoints = []
11076                      }
11077                    "P3")
11078                 [ TyParen
11079                     SrcSpanInfo
11080                       { srcInfoSpan =
11081                           SrcSpan "tests/examples/DerivingVia.hs" 174 19 174 28
11082                       , srcInfoPoints =
11083                           [ SrcSpan "tests/examples/DerivingVia.hs" 174 19 174 20
11084                           , SrcSpan "tests/examples/DerivingVia.hs" 174 27 174 28
11085                           ]
11086                       }
11087                     (TyApp
11088                        SrcSpanInfo
11089                          { srcInfoSpan =
11090                              SrcSpan "tests/examples/DerivingVia.hs" 174 20 174 27
11091                          , srcInfoPoints = []
11092                          }
11093                        (TyCon
11094                           SrcSpanInfo
11095                             { srcInfoSpan =
11096                                 SrcSpan "tests/examples/DerivingVia.hs" 174 20 174 25
11097                             , srcInfoPoints = []
11098                             }
11099                           (UnQual
11100                              SrcSpanInfo
11101                                { srcInfoSpan =
11102                                    SrcSpan "tests/examples/DerivingVia.hs" 174 20 174 25
11103                                , srcInfoPoints = []
11104                                }
11105                              (Ident
11106                                 SrcSpanInfo
11107                                   { srcInfoSpan =
11108                                       SrcSpan "tests/examples/DerivingVia.hs" 174 20 174 25
11109                                   , srcInfoPoints = []
11110                                   }
11111                                 "Maybe")))
11112                        (TyVar
11113                           SrcSpanInfo
11114                             { srcInfoSpan =
11115                                 SrcSpan "tests/examples/DerivingVia.hs" 174 26 174 27
11116                             , srcInfoPoints = []
11117                             }
11118                           (Ident
11119                              SrcSpanInfo
11120                                { srcInfoSpan =
11121                                    SrcSpan "tests/examples/DerivingVia.hs" 174 26 174 27
11122                                , srcInfoPoints = []
11123                                }
11124                              "a")))
11125                 ])
11126          ]
11127          [ Deriving
11128              SrcSpanInfo
11129                { srcInfoSpan =
11130                    SrcSpan "tests/examples/DerivingVia.hs" 174 33 174 46
11131                , srcInfoPoints =
11132                    [ SrcSpan "tests/examples/DerivingVia.hs" 174 33 174 41 ]
11133                }
11134              (Just
11135                 (DerivVia
11136                    SrcSpanInfo
11137                      { srcInfoSpan =
11138                          SrcSpan "tests/examples/DerivingVia.hs" 174 47 174 50
11139                      , srcInfoPoints = []
11140                      }
11141                    (TyParen
11142                       SrcSpanInfo
11143                         { srcInfoSpan =
11144                             SrcSpan "tests/examples/DerivingVia.hs" 174 51 174 60
11145                         , srcInfoPoints =
11146                             [ SrcSpan "tests/examples/DerivingVia.hs" 174 51 174 52
11147                             , SrcSpan "tests/examples/DerivingVia.hs" 174 59 174 60
11148                             ]
11149                         }
11150                       (TyApp
11151                          SrcSpanInfo
11152                            { srcInfoSpan =
11153                                SrcSpan "tests/examples/DerivingVia.hs" 174 52 174 59
11154                            , srcInfoPoints = []
11155                            }
11156                          (TyCon
11157                             SrcSpanInfo
11158                               { srcInfoSpan =
11159                                   SrcSpan "tests/examples/DerivingVia.hs" 174 52 174 57
11160                               , srcInfoPoints = []
11161                               }
11162                             (UnQual
11163                                SrcSpanInfo
11164                                  { srcInfoSpan =
11165                                      SrcSpan "tests/examples/DerivingVia.hs" 174 52 174 57
11166                                  , srcInfoPoints = []
11167                                  }
11168                                (Ident
11169                                   SrcSpanInfo
11170                                     { srcInfoSpan =
11171                                         SrcSpan "tests/examples/DerivingVia.hs" 174 52 174 57
11172                                     , srcInfoPoints = []
11173                                     }
11174                                   "First")))
11175                          (TyVar
11176                             SrcSpanInfo
11177                               { srcInfoSpan =
11178                                   SrcSpan "tests/examples/DerivingVia.hs" 174 58 174 59
11179                               , srcInfoPoints = []
11180                               }
11181                             (Ident
11182                                SrcSpanInfo
11183                                  { srcInfoSpan =
11184                                      SrcSpan "tests/examples/DerivingVia.hs" 174 58 174 59
11185                                  , srcInfoPoints = []
11186                                  }
11187                                "a"))))))
11188              [ IRule
11189                  SrcSpanInfo
11190                    { srcInfoSpan =
11191                        SrcSpan "tests/examples/DerivingVia.hs" 174 42 174 46
11192                    , srcInfoPoints = []
11193                    }
11194                  Nothing
11195                  Nothing
11196                  (IHCon
11197                     SrcSpanInfo
11198                       { srcInfoSpan =
11199                           SrcSpan "tests/examples/DerivingVia.hs" 174 42 174 46
11200                       , srcInfoPoints = []
11201                       }
11202                     (UnQual
11203                        SrcSpanInfo
11204                          { srcInfoSpan =
11205                              SrcSpan "tests/examples/DerivingVia.hs" 174 42 174 46
11206                          , srcInfoPoints = []
11207                          }
11208                        (Ident
11209                           SrcSpanInfo
11210                             { srcInfoSpan =
11211                                 SrcSpan "tests/examples/DerivingVia.hs" 174 42 174 46
11212                             , srcInfoPoints = []
11213                             }
11214                           "Show")))
11215              ]
11216          ]
11217      , DataDecl
11218          SrcSpanInfo
11219            { srcInfoSpan =
11220                SrcSpan "tests/examples/DerivingVia.hs" 175 1 175 46
11221            , srcInfoPoints =
11222                [ SrcSpan "tests/examples/DerivingVia.hs" 175 14 175 15 ]
11223            }
11224          (NewType
11225             SrcSpanInfo
11226               { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 175 1 175 8
11227               , srcInfoPoints = []
11228               })
11229          Nothing
11230          (DHApp
11231             SrcSpanInfo
11232               { srcInfoSpan =
11233                   SrcSpan "tests/examples/DerivingVia.hs" 175 9 175 13
11234               , srcInfoPoints = []
11235               }
11236             (DHead
11237                SrcSpanInfo
11238                  { srcInfoSpan =
11239                      SrcSpan "tests/examples/DerivingVia.hs" 175 9 175 11
11240                  , srcInfoPoints = []
11241                  }
11242                (Ident
11243                   SrcSpanInfo
11244                     { srcInfoSpan =
11245                         SrcSpan "tests/examples/DerivingVia.hs" 175 9 175 11
11246                     , srcInfoPoints = []
11247                     }
11248                   "P4"))
11249             (UnkindedVar
11250                SrcSpanInfo
11251                  { srcInfoSpan =
11252                      SrcSpan "tests/examples/DerivingVia.hs" 175 12 175 13
11253                  , srcInfoPoints = []
11254                  }
11255                (Ident
11256                   SrcSpanInfo
11257                     { srcInfoSpan =
11258                         SrcSpan "tests/examples/DerivingVia.hs" 175 12 175 13
11259                     , srcInfoPoints = []
11260                     }
11261                   "a")))
11262          [ QualConDecl
11263              SrcSpanInfo
11264                { srcInfoSpan =
11265                    SrcSpan "tests/examples/DerivingVia.hs" 175 16 175 28
11266                , srcInfoPoints = []
11267                }
11268              Nothing
11269              Nothing
11270              (ConDecl
11271                 SrcSpanInfo
11272                   { srcInfoSpan =
11273                       SrcSpan "tests/examples/DerivingVia.hs" 175 16 175 28
11274                   , srcInfoPoints = []
11275                   }
11276                 (Ident
11277                    SrcSpanInfo
11278                      { srcInfoSpan =
11279                          SrcSpan "tests/examples/DerivingVia.hs" 175 16 175 18
11280                      , srcInfoPoints = []
11281                      }
11282                    "P4")
11283                 [ TyParen
11284                     SrcSpanInfo
11285                       { srcInfoSpan =
11286                           SrcSpan "tests/examples/DerivingVia.hs" 175 19 175 28
11287                       , srcInfoPoints =
11288                           [ SrcSpan "tests/examples/DerivingVia.hs" 175 19 175 20
11289                           , SrcSpan "tests/examples/DerivingVia.hs" 175 27 175 28
11290                           ]
11291                       }
11292                     (TyApp
11293                        SrcSpanInfo
11294                          { srcInfoSpan =
11295                              SrcSpan "tests/examples/DerivingVia.hs" 175 20 175 27
11296                          , srcInfoPoints = []
11297                          }
11298                        (TyCon
11299                           SrcSpanInfo
11300                             { srcInfoSpan =
11301                                 SrcSpan "tests/examples/DerivingVia.hs" 175 20 175 25
11302                             , srcInfoPoints = []
11303                             }
11304                           (UnQual
11305                              SrcSpanInfo
11306                                { srcInfoSpan =
11307                                    SrcSpan "tests/examples/DerivingVia.hs" 175 20 175 25
11308                                , srcInfoPoints = []
11309                                }
11310                              (Ident
11311                                 SrcSpanInfo
11312                                   { srcInfoSpan =
11313                                       SrcSpan "tests/examples/DerivingVia.hs" 175 20 175 25
11314                                   , srcInfoPoints = []
11315                                   }
11316                                 "Maybe")))
11317                        (TyVar
11318                           SrcSpanInfo
11319                             { srcInfoSpan =
11320                                 SrcSpan "tests/examples/DerivingVia.hs" 175 26 175 27
11321                             , srcInfoPoints = []
11322                             }
11323                           (Ident
11324                              SrcSpanInfo
11325                                { srcInfoSpan =
11326                                    SrcSpan "tests/examples/DerivingVia.hs" 175 26 175 27
11327                                , srcInfoPoints = []
11328                                }
11329                              "a")))
11330                 ])
11331          ]
11332          [ Deriving
11333              SrcSpanInfo
11334                { srcInfoSpan =
11335                    SrcSpan "tests/examples/DerivingVia.hs" 175 33 175 46
11336                , srcInfoPoints =
11337                    [ SrcSpan "tests/examples/DerivingVia.hs" 175 33 175 41 ]
11338                }
11339              (Just
11340                 (DerivVia
11341                    SrcSpanInfo
11342                      { srcInfoSpan =
11343                          SrcSpan "tests/examples/DerivingVia.hs" 175 47 175 50
11344                      , srcInfoPoints = []
11345                      }
11346                    (TyParen
11347                       SrcSpanInfo
11348                         { srcInfoSpan =
11349                             SrcSpan "tests/examples/DerivingVia.hs" 175 51 175 62
11350                         , srcInfoPoints =
11351                             [ SrcSpan "tests/examples/DerivingVia.hs" 175 51 175 52
11352                             , SrcSpan "tests/examples/DerivingVia.hs" 175 61 175 62
11353                             ]
11354                         }
11355                       (TyInfix
11356                          SrcSpanInfo
11357                            { srcInfoSpan =
11358                                SrcSpan "tests/examples/DerivingVia.hs" 175 52 175 61
11359                            , srcInfoPoints = []
11360                            }
11361                          (TyCon
11362                             SrcSpanInfo
11363                               { srcInfoSpan =
11364                                   SrcSpan "tests/examples/DerivingVia.hs" 175 52 175 57
11365                               , srcInfoPoints = []
11366                               }
11367                             (UnQual
11368                                SrcSpanInfo
11369                                  { srcInfoSpan =
11370                                      SrcSpan "tests/examples/DerivingVia.hs" 175 52 175 57
11371                                  , srcInfoPoints = []
11372                                  }
11373                                (Ident
11374                                   SrcSpanInfo
11375                                     { srcInfoSpan =
11376                                         SrcSpan "tests/examples/DerivingVia.hs" 175 52 175 57
11377                                     , srcInfoPoints = []
11378                                     }
11379                                   "First")))
11380                          (UnpromotedName
11381                             SrcSpanInfo
11382                               { srcInfoSpan =
11383                                   SrcSpan "tests/examples/DerivingVia.hs" 175 58 175 59
11384                               , srcInfoPoints = []
11385                               }
11386                             (UnQual
11387                                SrcSpanInfo
11388                                  { srcInfoSpan =
11389                                      SrcSpan "tests/examples/DerivingVia.hs" 175 58 175 59
11390                                  , srcInfoPoints = []
11391                                  }
11392                                (Symbol
11393                                   SrcSpanInfo
11394                                     { srcInfoSpan =
11395                                         SrcSpan "tests/examples/DerivingVia.hs" 175 58 175 59
11396                                     , srcInfoPoints = []
11397                                     }
11398                                   "$")))
11399                          (TyVar
11400                             SrcSpanInfo
11401                               { srcInfoSpan =
11402                                   SrcSpan "tests/examples/DerivingVia.hs" 175 60 175 61
11403                               , srcInfoPoints = []
11404                               }
11405                             (Ident
11406                                SrcSpanInfo
11407                                  { srcInfoSpan =
11408                                      SrcSpan "tests/examples/DerivingVia.hs" 175 60 175 61
11409                                  , srcInfoPoints = []
11410                                  }
11411                                "a"))))))
11412              [ IRule
11413                  SrcSpanInfo
11414                    { srcInfoSpan =
11415                        SrcSpan "tests/examples/DerivingVia.hs" 175 42 175 46
11416                    , srcInfoPoints = []
11417                    }
11418                  Nothing
11419                  Nothing
11420                  (IHCon
11421                     SrcSpanInfo
11422                       { srcInfoSpan =
11423                           SrcSpan "tests/examples/DerivingVia.hs" 175 42 175 46
11424                       , srcInfoPoints = []
11425                       }
11426                     (UnQual
11427                        SrcSpanInfo
11428                          { srcInfoSpan =
11429                              SrcSpan "tests/examples/DerivingVia.hs" 175 42 175 46
11430                          , srcInfoPoints = []
11431                          }
11432                        (Ident
11433                           SrcSpanInfo
11434                             { srcInfoSpan =
11435                                 SrcSpan "tests/examples/DerivingVia.hs" 175 42 175 46
11436                             , srcInfoPoints = []
11437                             }
11438                           "Show")))
11439              ]
11440          ]
11441      , DataDecl
11442          SrcSpanInfo
11443            { srcInfoSpan =
11444                SrcSpan "tests/examples/DerivingVia.hs" 176 1 176 46
11445            , srcInfoPoints =
11446                [ SrcSpan "tests/examples/DerivingVia.hs" 176 14 176 15 ]
11447            }
11448          (NewType
11449             SrcSpanInfo
11450               { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 176 1 176 8
11451               , srcInfoPoints = []
11452               })
11453          Nothing
11454          (DHApp
11455             SrcSpanInfo
11456               { srcInfoSpan =
11457                   SrcSpan "tests/examples/DerivingVia.hs" 176 9 176 13
11458               , srcInfoPoints = []
11459               }
11460             (DHead
11461                SrcSpanInfo
11462                  { srcInfoSpan =
11463                      SrcSpan "tests/examples/DerivingVia.hs" 176 9 176 11
11464                  , srcInfoPoints = []
11465                  }
11466                (Ident
11467                   SrcSpanInfo
11468                     { srcInfoSpan =
11469                         SrcSpan "tests/examples/DerivingVia.hs" 176 9 176 11
11470                     , srcInfoPoints = []
11471                     }
11472                   "P5"))
11473             (UnkindedVar
11474                SrcSpanInfo
11475                  { srcInfoSpan =
11476                      SrcSpan "tests/examples/DerivingVia.hs" 176 12 176 13
11477                  , srcInfoPoints = []
11478                  }
11479                (Ident
11480                   SrcSpanInfo
11481                     { srcInfoSpan =
11482                         SrcSpan "tests/examples/DerivingVia.hs" 176 12 176 13
11483                     , srcInfoPoints = []
11484                     }
11485                   "a")))
11486          [ QualConDecl
11487              SrcSpanInfo
11488                { srcInfoSpan =
11489                    SrcSpan "tests/examples/DerivingVia.hs" 176 16 176 20
11490                , srcInfoPoints = []
11491                }
11492              Nothing
11493              Nothing
11494              (ConDecl
11495                 SrcSpanInfo
11496                   { srcInfoSpan =
11497                       SrcSpan "tests/examples/DerivingVia.hs" 176 16 176 20
11498                   , srcInfoPoints = []
11499                   }
11500                 (Ident
11501                    SrcSpanInfo
11502                      { srcInfoSpan =
11503                          SrcSpan "tests/examples/DerivingVia.hs" 176 16 176 18
11504                      , srcInfoPoints = []
11505                      }
11506                    "P5")
11507                 [ TyVar
11508                     SrcSpanInfo
11509                       { srcInfoSpan =
11510                           SrcSpan "tests/examples/DerivingVia.hs" 176 19 176 20
11511                       , srcInfoPoints = []
11512                       }
11513                     (Ident
11514                        SrcSpanInfo
11515                          { srcInfoSpan =
11516                              SrcSpan "tests/examples/DerivingVia.hs" 176 19 176 20
11517                          , srcInfoPoints = []
11518                          }
11519                        "a")
11520                 ])
11521          ]
11522          [ Deriving
11523              SrcSpanInfo
11524                { srcInfoSpan =
11525                    SrcSpan "tests/examples/DerivingVia.hs" 176 33 176 46
11526                , srcInfoPoints =
11527                    [ SrcSpan "tests/examples/DerivingVia.hs" 176 33 176 41 ]
11528                }
11529              (Just
11530                 (DerivVia
11531                    SrcSpanInfo
11532                      { srcInfoSpan =
11533                          SrcSpan "tests/examples/DerivingVia.hs" 176 47 176 50
11534                      , srcInfoPoints = []
11535                      }
11536                    (TyParen
11537                       SrcSpanInfo
11538                         { srcInfoSpan =
11539                             SrcSpan "tests/examples/DerivingVia.hs" 176 51 176 65
11540                         , srcInfoPoints =
11541                             [ SrcSpan "tests/examples/DerivingVia.hs" 176 51 176 52
11542                             , SrcSpan "tests/examples/DerivingVia.hs" 176 64 176 65
11543                             ]
11544                         }
11545                       (TyInfix
11546                          SrcSpanInfo
11547                            { srcInfoSpan =
11548                                SrcSpan "tests/examples/DerivingVia.hs" 176 52 176 64
11549                            , srcInfoPoints = []
11550                            }
11551                          (TyCon
11552                             SrcSpanInfo
11553                               { srcInfoSpan =
11554                                   SrcSpan "tests/examples/DerivingVia.hs" 176 52 176 60
11555                               , srcInfoPoints = []
11556                               }
11557                             (UnQual
11558                                SrcSpanInfo
11559                                  { srcInfoSpan =
11560                                      SrcSpan "tests/examples/DerivingVia.hs" 176 52 176 60
11561                                  , srcInfoPoints = []
11562                                  }
11563                                (Ident
11564                                   SrcSpanInfo
11565                                     { srcInfoSpan =
11566                                         SrcSpan "tests/examples/DerivingVia.hs" 176 52 176 60
11567                                     , srcInfoPoints = []
11568                                     }
11569                                   "Identity")))
11570                          (UnpromotedName
11571                             SrcSpanInfo
11572                               { srcInfoSpan =
11573                                   SrcSpan "tests/examples/DerivingVia.hs" 176 61 176 62
11574                               , srcInfoPoints = []
11575                               }
11576                             (UnQual
11577                                SrcSpanInfo
11578                                  { srcInfoSpan =
11579                                      SrcSpan "tests/examples/DerivingVia.hs" 176 61 176 62
11580                                  , srcInfoPoints = []
11581                                  }
11582                                (Symbol
11583                                   SrcSpanInfo
11584                                     { srcInfoSpan =
11585                                         SrcSpan "tests/examples/DerivingVia.hs" 176 61 176 62
11586                                     , srcInfoPoints = []
11587                                     }
11588                                   "$")))
11589                          (TyVar
11590                             SrcSpanInfo
11591                               { srcInfoSpan =
11592                                   SrcSpan "tests/examples/DerivingVia.hs" 176 63 176 64
11593                               , srcInfoPoints = []
11594                               }
11595                             (Ident
11596                                SrcSpanInfo
11597                                  { srcInfoSpan =
11598                                      SrcSpan "tests/examples/DerivingVia.hs" 176 63 176 64
11599                                  , srcInfoPoints = []
11600                                  }
11601                                "a"))))))
11602              [ IRule
11603                  SrcSpanInfo
11604                    { srcInfoSpan =
11605                        SrcSpan "tests/examples/DerivingVia.hs" 176 42 176 46
11606                    , srcInfoPoints = []
11607                    }
11608                  Nothing
11609                  Nothing
11610                  (IHCon
11611                     SrcSpanInfo
11612                       { srcInfoSpan =
11613                           SrcSpan "tests/examples/DerivingVia.hs" 176 42 176 46
11614                       , srcInfoPoints = []
11615                       }
11616                     (UnQual
11617                        SrcSpanInfo
11618                          { srcInfoSpan =
11619                              SrcSpan "tests/examples/DerivingVia.hs" 176 42 176 46
11620                          , srcInfoPoints = []
11621                          }
11622                        (Ident
11623                           SrcSpanInfo
11624                             { srcInfoSpan =
11625                                 SrcSpan "tests/examples/DerivingVia.hs" 176 42 176 46
11626                             , srcInfoPoints = []
11627                             }
11628                           "Show")))
11629              ]
11630          ]
11631      , DataDecl
11632          SrcSpanInfo
11633            { srcInfoSpan =
11634                SrcSpan "tests/examples/DerivingVia.hs" 177 1 177 46
11635            , srcInfoPoints =
11636                [ SrcSpan "tests/examples/DerivingVia.hs" 177 14 177 15 ]
11637            }
11638          (NewType
11639             SrcSpanInfo
11640               { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 177 1 177 8
11641               , srcInfoPoints = []
11642               })
11643          Nothing
11644          (DHApp
11645             SrcSpanInfo
11646               { srcInfoSpan =
11647                   SrcSpan "tests/examples/DerivingVia.hs" 177 9 177 13
11648               , srcInfoPoints = []
11649               }
11650             (DHead
11651                SrcSpanInfo
11652                  { srcInfoSpan =
11653                      SrcSpan "tests/examples/DerivingVia.hs" 177 9 177 11
11654                  , srcInfoPoints = []
11655                  }
11656                (Ident
11657                   SrcSpanInfo
11658                     { srcInfoSpan =
11659                         SrcSpan "tests/examples/DerivingVia.hs" 177 9 177 11
11660                     , srcInfoPoints = []
11661                     }
11662                   "P6"))
11663             (UnkindedVar
11664                SrcSpanInfo
11665                  { srcInfoSpan =
11666                      SrcSpan "tests/examples/DerivingVia.hs" 177 12 177 13
11667                  , srcInfoPoints = []
11668                  }
11669                (Ident
11670                   SrcSpanInfo
11671                     { srcInfoSpan =
11672                         SrcSpan "tests/examples/DerivingVia.hs" 177 12 177 13
11673                     , srcInfoPoints = []
11674                     }
11675                   "a")))
11676          [ QualConDecl
11677              SrcSpanInfo
11678                { srcInfoSpan =
11679                    SrcSpan "tests/examples/DerivingVia.hs" 177 16 177 22
11680                , srcInfoPoints = []
11681                }
11682              Nothing
11683              Nothing
11684              (ConDecl
11685                 SrcSpanInfo
11686                   { srcInfoSpan =
11687                       SrcSpan "tests/examples/DerivingVia.hs" 177 16 177 22
11688                   , srcInfoPoints = []
11689                   }
11690                 (Ident
11691                    SrcSpanInfo
11692                      { srcInfoSpan =
11693                          SrcSpan "tests/examples/DerivingVia.hs" 177 16 177 18
11694                      , srcInfoPoints = []
11695                      }
11696                    "P6")
11697                 [ TyList
11698                     SrcSpanInfo
11699                       { srcInfoSpan =
11700                           SrcSpan "tests/examples/DerivingVia.hs" 177 19 177 22
11701                       , srcInfoPoints =
11702                           [ SrcSpan "tests/examples/DerivingVia.hs" 177 19 177 20
11703                           , SrcSpan "tests/examples/DerivingVia.hs" 177 21 177 22
11704                           ]
11705                       }
11706                     (TyVar
11707                        SrcSpanInfo
11708                          { srcInfoSpan =
11709                              SrcSpan "tests/examples/DerivingVia.hs" 177 20 177 21
11710                          , srcInfoPoints = []
11711                          }
11712                        (Ident
11713                           SrcSpanInfo
11714                             { srcInfoSpan =
11715                                 SrcSpan "tests/examples/DerivingVia.hs" 177 20 177 21
11716                             , srcInfoPoints = []
11717                             }
11718                           "a"))
11719                 ])
11720          ]
11721          [ Deriving
11722              SrcSpanInfo
11723                { srcInfoSpan =
11724                    SrcSpan "tests/examples/DerivingVia.hs" 177 33 177 46
11725                , srcInfoPoints =
11726                    [ SrcSpan "tests/examples/DerivingVia.hs" 177 33 177 41 ]
11727                }
11728              (Just
11729                 (DerivVia
11730                    SrcSpanInfo
11731                      { srcInfoSpan =
11732                          SrcSpan "tests/examples/DerivingVia.hs" 177 47 177 50
11733                      , srcInfoPoints = []
11734                      }
11735                    (TyParen
11736                       SrcSpanInfo
11737                         { srcInfoSpan =
11738                             SrcSpan "tests/examples/DerivingVia.hs" 177 51 177 59
11739                         , srcInfoPoints =
11740                             [ SrcSpan "tests/examples/DerivingVia.hs" 177 51 177 52
11741                             , SrcSpan "tests/examples/DerivingVia.hs" 177 58 177 59
11742                             ]
11743                         }
11744                       (TyInfix
11745                          SrcSpanInfo
11746                            { srcInfoSpan =
11747                                SrcSpan "tests/examples/DerivingVia.hs" 177 52 177 58
11748                            , srcInfoPoints = []
11749                            }
11750                          (TyCon
11751                             SrcSpanInfo
11752                               { srcInfoSpan =
11753                                   SrcSpan "tests/examples/DerivingVia.hs" 177 52 177 54
11754                               , srcInfoPoints =
11755                                   [ SrcSpan "tests/examples/DerivingVia.hs" 177 52 177 53
11756                                   , SrcSpan "tests/examples/DerivingVia.hs" 177 53 177 54
11757                                   ]
11758                               }
11759                             (Special
11760                                SrcSpanInfo
11761                                  { srcInfoSpan =
11762                                      SrcSpan "tests/examples/DerivingVia.hs" 177 52 177 54
11763                                  , srcInfoPoints =
11764                                      [ SrcSpan "tests/examples/DerivingVia.hs" 177 52 177 53
11765                                      , SrcSpan "tests/examples/DerivingVia.hs" 177 53 177 54
11766                                      ]
11767                                  }
11768                                (ListCon
11769                                   SrcSpanInfo
11770                                     { srcInfoSpan =
11771                                         SrcSpan "tests/examples/DerivingVia.hs" 177 52 177 54
11772                                     , srcInfoPoints =
11773                                         [ SrcSpan "tests/examples/DerivingVia.hs" 177 52 177 53
11774                                         , SrcSpan "tests/examples/DerivingVia.hs" 177 53 177 54
11775                                         ]
11776                                     })))
11777                          (UnpromotedName
11778                             SrcSpanInfo
11779                               { srcInfoSpan =
11780                                   SrcSpan "tests/examples/DerivingVia.hs" 177 55 177 56
11781                               , srcInfoPoints = []
11782                               }
11783                             (UnQual
11784                                SrcSpanInfo
11785                                  { srcInfoSpan =
11786                                      SrcSpan "tests/examples/DerivingVia.hs" 177 55 177 56
11787                                  , srcInfoPoints = []
11788                                  }
11789                                (Symbol
11790                                   SrcSpanInfo
11791                                     { srcInfoSpan =
11792                                         SrcSpan "tests/examples/DerivingVia.hs" 177 55 177 56
11793                                     , srcInfoPoints = []
11794                                     }
11795                                   "$")))
11796                          (TyVar
11797                             SrcSpanInfo
11798                               { srcInfoSpan =
11799                                   SrcSpan "tests/examples/DerivingVia.hs" 177 57 177 58
11800                               , srcInfoPoints = []
11801                               }
11802                             (Ident
11803                                SrcSpanInfo
11804                                  { srcInfoSpan =
11805                                      SrcSpan "tests/examples/DerivingVia.hs" 177 57 177 58
11806                                  , srcInfoPoints = []
11807                                  }
11808                                "a"))))))
11809              [ IRule
11810                  SrcSpanInfo
11811                    { srcInfoSpan =
11812                        SrcSpan "tests/examples/DerivingVia.hs" 177 42 177 46
11813                    , srcInfoPoints = []
11814                    }
11815                  Nothing
11816                  Nothing
11817                  (IHCon
11818                     SrcSpanInfo
11819                       { srcInfoSpan =
11820                           SrcSpan "tests/examples/DerivingVia.hs" 177 42 177 46
11821                       , srcInfoPoints = []
11822                       }
11823                     (UnQual
11824                        SrcSpanInfo
11825                          { srcInfoSpan =
11826                              SrcSpan "tests/examples/DerivingVia.hs" 177 42 177 46
11827                          , srcInfoPoints = []
11828                          }
11829                        (Ident
11830                           SrcSpanInfo
11831                             { srcInfoSpan =
11832                                 SrcSpan "tests/examples/DerivingVia.hs" 177 42 177 46
11833                             , srcInfoPoints = []
11834                             }
11835                           "Show")))
11836              ]
11837          ]
11838      , DataDecl
11839          SrcSpanInfo
11840            { srcInfoSpan =
11841                SrcSpan "tests/examples/DerivingVia.hs" 178 1 178 46
11842            , srcInfoPoints =
11843                [ SrcSpan "tests/examples/DerivingVia.hs" 178 14 178 15 ]
11844            }
11845          (NewType
11846             SrcSpanInfo
11847               { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 178 1 178 8
11848               , srcInfoPoints = []
11849               })
11850          Nothing
11851          (DHApp
11852             SrcSpanInfo
11853               { srcInfoSpan =
11854                   SrcSpan "tests/examples/DerivingVia.hs" 178 9 178 13
11855               , srcInfoPoints = []
11856               }
11857             (DHead
11858                SrcSpanInfo
11859                  { srcInfoSpan =
11860                      SrcSpan "tests/examples/DerivingVia.hs" 178 9 178 11
11861                  , srcInfoPoints = []
11862                  }
11863                (Ident
11864                   SrcSpanInfo
11865                     { srcInfoSpan =
11866                         SrcSpan "tests/examples/DerivingVia.hs" 178 9 178 11
11867                     , srcInfoPoints = []
11868                     }
11869                   "P7"))
11870             (UnkindedVar
11871                SrcSpanInfo
11872                  { srcInfoSpan =
11873                      SrcSpan "tests/examples/DerivingVia.hs" 178 12 178 13
11874                  , srcInfoPoints = []
11875                  }
11876                (Ident
11877                   SrcSpanInfo
11878                     { srcInfoSpan =
11879                         SrcSpan "tests/examples/DerivingVia.hs" 178 12 178 13
11880                     , srcInfoPoints = []
11881                     }
11882                   "a")))
11883          [ QualConDecl
11884              SrcSpanInfo
11885                { srcInfoSpan =
11886                    SrcSpan "tests/examples/DerivingVia.hs" 178 16 178 25
11887                , srcInfoPoints = []
11888                }
11889              Nothing
11890              Nothing
11891              (ConDecl
11892                 SrcSpanInfo
11893                   { srcInfoSpan =
11894                       SrcSpan "tests/examples/DerivingVia.hs" 178 16 178 25
11895                   , srcInfoPoints = []
11896                   }
11897                 (Ident
11898                    SrcSpanInfo
11899                      { srcInfoSpan =
11900                          SrcSpan "tests/examples/DerivingVia.hs" 178 16 178 18
11901                      , srcInfoPoints = []
11902                      }
11903                    "P7")
11904                 [ TyTuple
11905                     SrcSpanInfo
11906                       { srcInfoSpan =
11907                           SrcSpan "tests/examples/DerivingVia.hs" 178 19 178 25
11908                       , srcInfoPoints =
11909                           [ SrcSpan "tests/examples/DerivingVia.hs" 178 19 178 20
11910                           , SrcSpan "tests/examples/DerivingVia.hs" 178 21 178 22
11911                           , SrcSpan "tests/examples/DerivingVia.hs" 178 24 178 25
11912                           ]
11913                       }
11914                     Boxed
11915                     [ TyVar
11916                         SrcSpanInfo
11917                           { srcInfoSpan =
11918                               SrcSpan "tests/examples/DerivingVia.hs" 178 20 178 21
11919                           , srcInfoPoints = []
11920                           }
11921                         (Ident
11922                            SrcSpanInfo
11923                              { srcInfoSpan =
11924                                  SrcSpan "tests/examples/DerivingVia.hs" 178 20 178 21
11925                              , srcInfoPoints = []
11926                              }
11927                            "a")
11928                     , TyVar
11929                         SrcSpanInfo
11930                           { srcInfoSpan =
11931                               SrcSpan "tests/examples/DerivingVia.hs" 178 23 178 24
11932                           , srcInfoPoints = []
11933                           }
11934                         (Ident
11935                            SrcSpanInfo
11936                              { srcInfoSpan =
11937                                  SrcSpan "tests/examples/DerivingVia.hs" 178 23 178 24
11938                              , srcInfoPoints = []
11939                              }
11940                            "a")
11941                     ]
11942                 ])
11943          ]
11944          [ Deriving
11945              SrcSpanInfo
11946                { srcInfoSpan =
11947                    SrcSpan "tests/examples/DerivingVia.hs" 178 33 178 46
11948                , srcInfoPoints =
11949                    [ SrcSpan "tests/examples/DerivingVia.hs" 178 33 178 41 ]
11950                }
11951              (Just
11952                 (DerivVia
11953                    SrcSpanInfo
11954                      { srcInfoSpan =
11955                          SrcSpan "tests/examples/DerivingVia.hs" 178 47 178 50
11956                      , srcInfoPoints = []
11957                      }
11958                    (TyParen
11959                       SrcSpanInfo
11960                         { srcInfoSpan =
11961                             SrcSpan "tests/examples/DerivingVia.hs" 178 51 178 70
11962                         , srcInfoPoints =
11963                             [ SrcSpan "tests/examples/DerivingVia.hs" 178 51 178 52
11964                             , SrcSpan "tests/examples/DerivingVia.hs" 178 69 178 70
11965                             ]
11966                         }
11967                       (TyInfix
11968                          SrcSpanInfo
11969                            { srcInfoSpan =
11970                                SrcSpan "tests/examples/DerivingVia.hs" 178 52 178 69
11971                            , srcInfoPoints = []
11972                            }
11973                          (TyCon
11974                             SrcSpanInfo
11975                               { srcInfoSpan =
11976                                   SrcSpan "tests/examples/DerivingVia.hs" 178 52 178 60
11977                               , srcInfoPoints = []
11978                               }
11979                             (UnQual
11980                                SrcSpanInfo
11981                                  { srcInfoSpan =
11982                                      SrcSpan "tests/examples/DerivingVia.hs" 178 52 178 60
11983                                  , srcInfoPoints = []
11984                                  }
11985                                (Ident
11986                                   SrcSpanInfo
11987                                     { srcInfoSpan =
11988                                         SrcSpan "tests/examples/DerivingVia.hs" 178 52 178 60
11989                                     , srcInfoPoints = []
11990                                     }
11991                                   "Identity")))
11992                          (UnpromotedName
11993                             SrcSpanInfo
11994                               { srcInfoSpan =
11995                                   SrcSpan "tests/examples/DerivingVia.hs" 178 61 178 62
11996                               , srcInfoPoints = []
11997                               }
11998                             (UnQual
11999                                SrcSpanInfo
12000                                  { srcInfoSpan =
12001                                      SrcSpan "tests/examples/DerivingVia.hs" 178 61 178 62
12002                                  , srcInfoPoints = []
12003                                  }
12004                                (Symbol
12005                                   SrcSpanInfo
12006                                     { srcInfoSpan =
12007                                         SrcSpan "tests/examples/DerivingVia.hs" 178 61 178 62
12008                                     , srcInfoPoints = []
12009                                     }
12010                                   "$")))
12011                          (TyTuple
12012                             SrcSpanInfo
12013                               { srcInfoSpan =
12014                                   SrcSpan "tests/examples/DerivingVia.hs" 178 63 178 69
12015                               , srcInfoPoints =
12016                                   [ SrcSpan "tests/examples/DerivingVia.hs" 178 63 178 64
12017                                   , SrcSpan "tests/examples/DerivingVia.hs" 178 65 178 66
12018                                   , SrcSpan "tests/examples/DerivingVia.hs" 178 68 178 69
12019                                   ]
12020                               }
12021                             Boxed
12022                             [ TyVar
12023                                 SrcSpanInfo
12024                                   { srcInfoSpan =
12025                                       SrcSpan "tests/examples/DerivingVia.hs" 178 64 178 65
12026                                   , srcInfoPoints = []
12027                                   }
12028                                 (Ident
12029                                    SrcSpanInfo
12030                                      { srcInfoSpan =
12031                                          SrcSpan "tests/examples/DerivingVia.hs" 178 64 178 65
12032                                      , srcInfoPoints = []
12033                                      }
12034                                    "a")
12035                             , TyVar
12036                                 SrcSpanInfo
12037                                   { srcInfoSpan =
12038                                       SrcSpan "tests/examples/DerivingVia.hs" 178 67 178 68
12039                                   , srcInfoPoints = []
12040                                   }
12041                                 (Ident
12042                                    SrcSpanInfo
12043                                      { srcInfoSpan =
12044                                          SrcSpan "tests/examples/DerivingVia.hs" 178 67 178 68
12045                                      , srcInfoPoints = []
12046                                      }
12047                                    "a")
12048                             ])))))
12049              [ IRule
12050                  SrcSpanInfo
12051                    { srcInfoSpan =
12052                        SrcSpan "tests/examples/DerivingVia.hs" 178 42 178 46
12053                    , srcInfoPoints = []
12054                    }
12055                  Nothing
12056                  Nothing
12057                  (IHCon
12058                     SrcSpanInfo
12059                       { srcInfoSpan =
12060                           SrcSpan "tests/examples/DerivingVia.hs" 178 42 178 46
12061                       , srcInfoPoints = []
12062                       }
12063                     (UnQual
12064                        SrcSpanInfo
12065                          { srcInfoSpan =
12066                              SrcSpan "tests/examples/DerivingVia.hs" 178 42 178 46
12067                          , srcInfoPoints = []
12068                          }
12069                        (Ident
12070                           SrcSpanInfo
12071                             { srcInfoSpan =
12072                                 SrcSpan "tests/examples/DerivingVia.hs" 178 42 178 46
12073                             , srcInfoPoints = []
12074                             }
12075                           "Show")))
12076              ]
12077          ]
12078      , DataDecl
12079          SrcSpanInfo
12080            { srcInfoSpan =
12081                SrcSpan "tests/examples/DerivingVia.hs" 179 1 179 49
12082            , srcInfoPoints =
12083                [ SrcSpan "tests/examples/DerivingVia.hs" 179 14 179 15 ]
12084            }
12085          (NewType
12086             SrcSpanInfo
12087               { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 179 1 179 8
12088               , srcInfoPoints = []
12089               })
12090          Nothing
12091          (DHApp
12092             SrcSpanInfo
12093               { srcInfoSpan =
12094                   SrcSpan "tests/examples/DerivingVia.hs" 179 9 179 13
12095               , srcInfoPoints = []
12096               }
12097             (DHead
12098                SrcSpanInfo
12099                  { srcInfoSpan =
12100                      SrcSpan "tests/examples/DerivingVia.hs" 179 9 179 11
12101                  , srcInfoPoints = []
12102                  }
12103                (Ident
12104                   SrcSpanInfo
12105                     { srcInfoSpan =
12106                         SrcSpan "tests/examples/DerivingVia.hs" 179 9 179 11
12107                     , srcInfoPoints = []
12108                     }
12109                   "P8"))
12110             (UnkindedVar
12111                SrcSpanInfo
12112                  { srcInfoSpan =
12113                      SrcSpan "tests/examples/DerivingVia.hs" 179 12 179 13
12114                  , srcInfoPoints = []
12115                  }
12116                (Ident
12117                   SrcSpanInfo
12118                     { srcInfoSpan =
12119                         SrcSpan "tests/examples/DerivingVia.hs" 179 12 179 13
12120                     , srcInfoPoints = []
12121                     }
12122                   "a")))
12123          [ QualConDecl
12124              SrcSpanInfo
12125                { srcInfoSpan =
12126                    SrcSpan "tests/examples/DerivingVia.hs" 179 16 179 32
12127                , srcInfoPoints = []
12128                }
12129              Nothing
12130              Nothing
12131              (ConDecl
12132                 SrcSpanInfo
12133                   { srcInfoSpan =
12134                       SrcSpan "tests/examples/DerivingVia.hs" 179 16 179 32
12135                   , srcInfoPoints = []
12136                   }
12137                 (Ident
12138                    SrcSpanInfo
12139                      { srcInfoSpan =
12140                          SrcSpan "tests/examples/DerivingVia.hs" 179 16 179 18
12141                      , srcInfoPoints = []
12142                      }
12143                    "P8")
12144                 [ TyParen
12145                     SrcSpanInfo
12146                       { srcInfoSpan =
12147                           SrcSpan "tests/examples/DerivingVia.hs" 179 19 179 32
12148                       , srcInfoPoints =
12149                           [ SrcSpan "tests/examples/DerivingVia.hs" 179 19 179 20
12150                           , SrcSpan "tests/examples/DerivingVia.hs" 179 31 179 32
12151                           ]
12152                       }
12153                     (TyApp
12154                        SrcSpanInfo
12155                          { srcInfoSpan =
12156                              SrcSpan "tests/examples/DerivingVia.hs" 179 20 179 31
12157                          , srcInfoPoints = []
12158                          }
12159                        (TyApp
12160                           SrcSpanInfo
12161                             { srcInfoSpan =
12162                                 SrcSpan "tests/examples/DerivingVia.hs" 179 20 179 29
12163                             , srcInfoPoints = []
12164                             }
12165                           (TyCon
12166                              SrcSpanInfo
12167                                { srcInfoSpan =
12168                                    SrcSpan "tests/examples/DerivingVia.hs" 179 20 179 26
12169                                , srcInfoPoints = []
12170                                }
12171                              (UnQual
12172                                 SrcSpanInfo
12173                                   { srcInfoSpan =
12174                                       SrcSpan "tests/examples/DerivingVia.hs" 179 20 179 26
12175                                   , srcInfoPoints = []
12176                                   }
12177                                 (Ident
12178                                    SrcSpanInfo
12179                                      { srcInfoSpan =
12180                                          SrcSpan "tests/examples/DerivingVia.hs" 179 20 179 26
12181                                      , srcInfoPoints = []
12182                                      }
12183                                    "Either")))
12184                           (TyCon
12185                              SrcSpanInfo
12186                                { srcInfoSpan =
12187                                    SrcSpan "tests/examples/DerivingVia.hs" 179 27 179 29
12188                                , srcInfoPoints =
12189                                    [ SrcSpan "tests/examples/DerivingVia.hs" 179 27 179 28
12190                                    , SrcSpan "tests/examples/DerivingVia.hs" 179 28 179 29
12191                                    ]
12192                                }
12193                              (Special
12194                                 SrcSpanInfo
12195                                   { srcInfoSpan =
12196                                       SrcSpan "tests/examples/DerivingVia.hs" 179 27 179 29
12197                                   , srcInfoPoints =
12198                                       [ SrcSpan "tests/examples/DerivingVia.hs" 179 27 179 28
12199                                       , SrcSpan "tests/examples/DerivingVia.hs" 179 28 179 29
12200                                       ]
12201                                   }
12202                                 (UnitCon
12203                                    SrcSpanInfo
12204                                      { srcInfoSpan =
12205                                          SrcSpan "tests/examples/DerivingVia.hs" 179 27 179 29
12206                                      , srcInfoPoints =
12207                                          [ SrcSpan "tests/examples/DerivingVia.hs" 179 27 179 28
12208                                          , SrcSpan "tests/examples/DerivingVia.hs" 179 28 179 29
12209                                          ]
12210                                      }))))
12211                        (TyVar
12212                           SrcSpanInfo
12213                             { srcInfoSpan =
12214                                 SrcSpan "tests/examples/DerivingVia.hs" 179 30 179 31
12215                             , srcInfoPoints = []
12216                             }
12217                           (Ident
12218                              SrcSpanInfo
12219                                { srcInfoSpan =
12220                                    SrcSpan "tests/examples/DerivingVia.hs" 179 30 179 31
12221                                , srcInfoPoints = []
12222                                }
12223                              "a")))
12224                 ])
12225          ]
12226          [ Deriving
12227              SrcSpanInfo
12228                { srcInfoSpan =
12229                    SrcSpan "tests/examples/DerivingVia.hs" 179 33 179 49
12230                , srcInfoPoints =
12231                    [ SrcSpan "tests/examples/DerivingVia.hs" 179 33 179 41 ]
12232                }
12233              (Just
12234                 (DerivVia
12235                    SrcSpanInfo
12236                      { srcInfoSpan =
12237                          SrcSpan "tests/examples/DerivingVia.hs" 179 50 179 53
12238                      , srcInfoPoints = []
12239                      }
12240                    (TyParen
12241                       SrcSpanInfo
12242                         { srcInfoSpan =
12243                             SrcSpan "tests/examples/DerivingVia.hs" 179 54 179 71
12244                         , srcInfoPoints =
12245                             [ SrcSpan "tests/examples/DerivingVia.hs" 179 54 179 55
12246                             , SrcSpan "tests/examples/DerivingVia.hs" 179 70 179 71
12247                             ]
12248                         }
12249                       (TyApp
12250                          SrcSpanInfo
12251                            { srcInfoSpan =
12252                                SrcSpan "tests/examples/DerivingVia.hs" 179 55 179 70
12253                            , srcInfoPoints = []
12254                            }
12255                          (TyCon
12256                             SrcSpanInfo
12257                               { srcInfoSpan =
12258                                   SrcSpan "tests/examples/DerivingVia.hs" 179 55 179 58
12259                               , srcInfoPoints =
12260                                   [ SrcSpan "tests/examples/DerivingVia.hs" 179 55 179 56
12261                                   , SrcSpan "tests/examples/DerivingVia.hs" 179 56 179 57
12262                                   , SrcSpan "tests/examples/DerivingVia.hs" 179 57 179 58
12263                                   ]
12264                               }
12265                             (UnQual
12266                                SrcSpanInfo
12267                                  { srcInfoSpan =
12268                                      SrcSpan "tests/examples/DerivingVia.hs" 179 55 179 58
12269                                  , srcInfoPoints =
12270                                      [ SrcSpan "tests/examples/DerivingVia.hs" 179 55 179 56
12271                                      , SrcSpan "tests/examples/DerivingVia.hs" 179 56 179 57
12272                                      , SrcSpan "tests/examples/DerivingVia.hs" 179 57 179 58
12273                                      ]
12274                                  }
12275                                (Symbol
12276                                   SrcSpanInfo
12277                                     { srcInfoSpan =
12278                                         SrcSpan "tests/examples/DerivingVia.hs" 179 56 179 57
12279                                     , srcInfoPoints = []
12280                                     }
12281                                   "$")))
12282                          (TyParen
12283                             SrcSpanInfo
12284                               { srcInfoSpan =
12285                                   SrcSpan "tests/examples/DerivingVia.hs" 179 59 179 70
12286                               , srcInfoPoints =
12287                                   [ SrcSpan "tests/examples/DerivingVia.hs" 179 59 179 60
12288                                   , SrcSpan "tests/examples/DerivingVia.hs" 179 69 179 70
12289                                   ]
12290                               }
12291                             (TyApp
12292                                SrcSpanInfo
12293                                  { srcInfoSpan =
12294                                      SrcSpan "tests/examples/DerivingVia.hs" 179 60 179 69
12295                                  , srcInfoPoints = []
12296                                  }
12297                                (TyCon
12298                                   SrcSpanInfo
12299                                     { srcInfoSpan =
12300                                         SrcSpan "tests/examples/DerivingVia.hs" 179 60 179 66
12301                                     , srcInfoPoints = []
12302                                     }
12303                                   (UnQual
12304                                      SrcSpanInfo
12305                                        { srcInfoSpan =
12306                                            SrcSpan "tests/examples/DerivingVia.hs" 179 60 179 66
12307                                        , srcInfoPoints = []
12308                                        }
12309                                      (Ident
12310                                         SrcSpanInfo
12311                                           { srcInfoSpan =
12312                                               SrcSpan "tests/examples/DerivingVia.hs" 179 60 179 66
12313                                           , srcInfoPoints = []
12314                                           }
12315                                         "Either")))
12316                                (TyCon
12317                                   SrcSpanInfo
12318                                     { srcInfoSpan =
12319                                         SrcSpan "tests/examples/DerivingVia.hs" 179 67 179 69
12320                                     , srcInfoPoints =
12321                                         [ SrcSpan "tests/examples/DerivingVia.hs" 179 67 179 68
12322                                         , SrcSpan "tests/examples/DerivingVia.hs" 179 68 179 69
12323                                         ]
12324                                     }
12325                                   (Special
12326                                      SrcSpanInfo
12327                                        { srcInfoSpan =
12328                                            SrcSpan "tests/examples/DerivingVia.hs" 179 67 179 69
12329                                        , srcInfoPoints =
12330                                            [ SrcSpan "tests/examples/DerivingVia.hs" 179 67 179 68
12331                                            , SrcSpan "tests/examples/DerivingVia.hs" 179 68 179 69
12332                                            ]
12333                                        }
12334                                      (UnitCon
12335                                         SrcSpanInfo
12336                                           { srcInfoSpan =
12337                                               SrcSpan "tests/examples/DerivingVia.hs" 179 67 179 69
12338                                           , srcInfoPoints =
12339                                               [ SrcSpan
12340                                                   "tests/examples/DerivingVia.hs" 179 67 179 68
12341                                               , SrcSpan
12342                                                   "tests/examples/DerivingVia.hs" 179 68 179 69
12343                                               ]
12344                                           })))))))))
12345              [ IRule
12346                  SrcSpanInfo
12347                    { srcInfoSpan =
12348                        SrcSpan "tests/examples/DerivingVia.hs" 179 42 179 49
12349                    , srcInfoPoints = []
12350                    }
12351                  Nothing
12352                  Nothing
12353                  (IHCon
12354                     SrcSpanInfo
12355                       { srcInfoSpan =
12356                           SrcSpan "tests/examples/DerivingVia.hs" 179 42 179 49
12357                       , srcInfoPoints = []
12358                       }
12359                     (UnQual
12360                        SrcSpanInfo
12361                          { srcInfoSpan =
12362                              SrcSpan "tests/examples/DerivingVia.hs" 179 42 179 49
12363                          , srcInfoPoints = []
12364                          }
12365                        (Ident
12366                           SrcSpanInfo
12367                             { srcInfoSpan =
12368                                 SrcSpan "tests/examples/DerivingVia.hs" 179 42 179 49
12369                             , srcInfoPoints = []
12370                             }
12371                           "Functor")))
12372              ]
12373          ]
12374      , DataDecl
12375          SrcSpanInfo
12376            { srcInfoSpan =
12377                SrcSpan "tests/examples/DerivingVia.hs" 181 1 181 73
12378            , srcInfoPoints =
12379                [ SrcSpan "tests/examples/DerivingVia.hs" 181 15 181 16 ]
12380            }
12381          (NewType
12382             SrcSpanInfo
12383               { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 181 1 181 8
12384               , srcInfoPoints = []
12385               })
12386          Nothing
12387          (DHApp
12388             SrcSpanInfo
12389               { srcInfoSpan =
12390                   SrcSpan "tests/examples/DerivingVia.hs" 181 9 181 14
12391               , srcInfoPoints = []
12392               }
12393             (DHInfix
12394                SrcSpanInfo
12395                  { srcInfoSpan =
12396                      SrcSpan "tests/examples/DerivingVia.hs" 181 9 181 14
12397                  , srcInfoPoints = []
12398                  }
12399                (UnkindedVar
12400                   SrcSpanInfo
12401                     { srcInfoSpan =
12402                         SrcSpan "tests/examples/DerivingVia.hs" 181 9 181 10
12403                     , srcInfoPoints = []
12404                     }
12405                   (Ident
12406                      SrcSpanInfo
12407                        { srcInfoSpan =
12408                            SrcSpan "tests/examples/DerivingVia.hs" 181 9 181 10
12409                        , srcInfoPoints = []
12410                        }
12411                      "f"))
12412                (Symbol
12413                   SrcSpanInfo
12414                     { srcInfoSpan =
12415                         SrcSpan "tests/examples/DerivingVia.hs" 181 11 181 12
12416                     , srcInfoPoints = []
12417                     }
12418                   "$"))
12419             (UnkindedVar
12420                SrcSpanInfo
12421                  { srcInfoSpan =
12422                      SrcSpan "tests/examples/DerivingVia.hs" 181 13 181 14
12423                  , srcInfoPoints = []
12424                  }
12425                (Ident
12426                   SrcSpanInfo
12427                     { srcInfoSpan =
12428                         SrcSpan "tests/examples/DerivingVia.hs" 181 13 181 14
12429                     , srcInfoPoints = []
12430                     }
12431                   "a")))
12432          [ QualConDecl
12433              SrcSpanInfo
12434                { srcInfoSpan =
12435                    SrcSpan "tests/examples/DerivingVia.hs" 181 17 181 26
12436                , srcInfoPoints = []
12437                }
12438              Nothing
12439              Nothing
12440              (ConDecl
12441                 SrcSpanInfo
12442                   { srcInfoSpan =
12443                       SrcSpan "tests/examples/DerivingVia.hs" 181 17 181 26
12444                   , srcInfoPoints = []
12445                   }
12446                 (Ident
12447                    SrcSpanInfo
12448                      { srcInfoSpan =
12449                          SrcSpan "tests/examples/DerivingVia.hs" 181 17 181 20
12450                      , srcInfoPoints = []
12451                      }
12452                    "APP")
12453                 [ TyParen
12454                     SrcSpanInfo
12455                       { srcInfoSpan =
12456                           SrcSpan "tests/examples/DerivingVia.hs" 181 21 181 26
12457                       , srcInfoPoints =
12458                           [ SrcSpan "tests/examples/DerivingVia.hs" 181 21 181 22
12459                           , SrcSpan "tests/examples/DerivingVia.hs" 181 25 181 26
12460                           ]
12461                       }
12462                     (TyApp
12463                        SrcSpanInfo
12464                          { srcInfoSpan =
12465                              SrcSpan "tests/examples/DerivingVia.hs" 181 22 181 25
12466                          , srcInfoPoints = []
12467                          }
12468                        (TyVar
12469                           SrcSpanInfo
12470                             { srcInfoSpan =
12471                                 SrcSpan "tests/examples/DerivingVia.hs" 181 22 181 23
12472                             , srcInfoPoints = []
12473                             }
12474                           (Ident
12475                              SrcSpanInfo
12476                                { srcInfoSpan =
12477                                    SrcSpan "tests/examples/DerivingVia.hs" 181 22 181 23
12478                                , srcInfoPoints = []
12479                                }
12480                              "f"))
12481                        (TyVar
12482                           SrcSpanInfo
12483                             { srcInfoSpan =
12484                                 SrcSpan "tests/examples/DerivingVia.hs" 181 24 181 25
12485                             , srcInfoPoints = []
12486                             }
12487                           (Ident
12488                              SrcSpanInfo
12489                                { srcInfoSpan =
12490                                    SrcSpan "tests/examples/DerivingVia.hs" 181 24 181 25
12491                                , srcInfoPoints = []
12492                                }
12493                              "a")))
12494                 ])
12495          ]
12496          [ Deriving
12497              SrcSpanInfo
12498                { srcInfoSpan =
12499                    SrcSpan "tests/examples/DerivingVia.hs" 181 27 181 48
12500                , srcInfoPoints =
12501                    [ SrcSpan "tests/examples/DerivingVia.hs" 181 27 181 35 ]
12502                }
12503              (Just
12504                 (DerivNewtype
12505                    SrcSpanInfo
12506                      { srcInfoSpan =
12507                          SrcSpan "tests/examples/DerivingVia.hs" 181 36 181 43
12508                      , srcInfoPoints = []
12509                      }))
12510              [ IRule
12511                  SrcSpanInfo
12512                    { srcInfoSpan =
12513                        SrcSpan "tests/examples/DerivingVia.hs" 181 44 181 48
12514                    , srcInfoPoints = []
12515                    }
12516                  Nothing
12517                  Nothing
12518                  (IHCon
12519                     SrcSpanInfo
12520                       { srcInfoSpan =
12521                           SrcSpan "tests/examples/DerivingVia.hs" 181 44 181 48
12522                       , srcInfoPoints = []
12523                       }
12524                     (UnQual
12525                        SrcSpanInfo
12526                          { srcInfoSpan =
12527                              SrcSpan "tests/examples/DerivingVia.hs" 181 44 181 48
12528                          , srcInfoPoints = []
12529                          }
12530                        (Ident
12531                           SrcSpanInfo
12532                             { srcInfoSpan =
12533                                 SrcSpan "tests/examples/DerivingVia.hs" 181 44 181 48
12534                             , srcInfoPoints = []
12535                             }
12536                           "Show")))
12537              ]
12538          , Deriving
12539              SrcSpanInfo
12540                { srcInfoSpan =
12541                    SrcSpan "tests/examples/DerivingVia.hs" 181 49 181 73
12542                , srcInfoPoints =
12543                    [ SrcSpan "tests/examples/DerivingVia.hs" 181 49 181 57 ]
12544                }
12545              (Just
12546                 (DerivNewtype
12547                    SrcSpanInfo
12548                      { srcInfoSpan =
12549                          SrcSpan "tests/examples/DerivingVia.hs" 181 58 181 65
12550                      , srcInfoPoints = []
12551                      }))
12552              [ IRule
12553                  SrcSpanInfo
12554                    { srcInfoSpan =
12555                        SrcSpan "tests/examples/DerivingVia.hs" 181 66 181 73
12556                    , srcInfoPoints = []
12557                    }
12558                  Nothing
12559                  Nothing
12560                  (IHCon
12561                     SrcSpanInfo
12562                       { srcInfoSpan =
12563                           SrcSpan "tests/examples/DerivingVia.hs" 181 66 181 73
12564                       , srcInfoPoints = []
12565                       }
12566                     (UnQual
12567                        SrcSpanInfo
12568                          { srcInfoSpan =
12569                              SrcSpan "tests/examples/DerivingVia.hs" 181 66 181 73
12570                          , srcInfoPoints = []
12571                          }
12572                        (Ident
12573                           SrcSpanInfo
12574                             { srcInfoSpan =
12575                                 SrcSpan "tests/examples/DerivingVia.hs" 181 66 181 73
12576                             , srcInfoPoints = []
12577                             }
12578                           "Functor")))
12579              ]
12580          ]
12581      , DataDecl
12582          SrcSpanInfo
12583            { srcInfoSpan =
12584                SrcSpan "tests/examples/DerivingVia.hs" 190 1 191 34
12585            , srcInfoPoints =
12586                [ SrcSpan "tests/examples/DerivingVia.hs" 190 29 190 30 ]
12587            }
12588          (NewType
12589             SrcSpanInfo
12590               { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 190 1 190 8
12591               , srcInfoPoints = []
12592               })
12593          Nothing
12594          (DHApp
12595             SrcSpanInfo
12596               { srcInfoSpan =
12597                   SrcSpan "tests/examples/DerivingVia.hs" 190 9 190 28
12598               , srcInfoPoints = []
12599               }
12600             (DHApp
12601                SrcSpanInfo
12602                  { srcInfoSpan =
12603                      SrcSpan "tests/examples/DerivingVia.hs" 190 9 190 26
12604                  , srcInfoPoints = []
12605                  }
12606                (DHead
12607                   SrcSpanInfo
12608                     { srcInfoSpan =
12609                         SrcSpan "tests/examples/DerivingVia.hs" 190 9 190 24
12610                     , srcInfoPoints = []
12611                     }
12612                   (Ident
12613                      SrcSpanInfo
12614                        { srcInfoSpan =
12615                            SrcSpan "tests/examples/DerivingVia.hs" 190 9 190 24
12616                        , srcInfoPoints = []
12617                        }
12618                      "WrapApplicative"))
12619                (UnkindedVar
12620                   SrcSpanInfo
12621                     { srcInfoSpan =
12622                         SrcSpan "tests/examples/DerivingVia.hs" 190 25 190 26
12623                     , srcInfoPoints = []
12624                     }
12625                   (Ident
12626                      SrcSpanInfo
12627                        { srcInfoSpan =
12628                            SrcSpan "tests/examples/DerivingVia.hs" 190 25 190 26
12629                        , srcInfoPoints = []
12630                        }
12631                      "f")))
12632             (UnkindedVar
12633                SrcSpanInfo
12634                  { srcInfoSpan =
12635                      SrcSpan "tests/examples/DerivingVia.hs" 190 27 190 28
12636                  , srcInfoPoints = []
12637                  }
12638                (Ident
12639                   SrcSpanInfo
12640                     { srcInfoSpan =
12641                         SrcSpan "tests/examples/DerivingVia.hs" 190 27 190 28
12642                     , srcInfoPoints = []
12643                     }
12644                   "a")))
12645          [ QualConDecl
12646              SrcSpanInfo
12647                { srcInfoSpan =
12648                    SrcSpan "tests/examples/DerivingVia.hs" 190 31 190 55
12649                , srcInfoPoints = []
12650                }
12651              Nothing
12652              Nothing
12653              (ConDecl
12654                 SrcSpanInfo
12655                   { srcInfoSpan =
12656                       SrcSpan "tests/examples/DerivingVia.hs" 190 31 190 55
12657                   , srcInfoPoints = []
12658                   }
12659                 (Ident
12660                    SrcSpanInfo
12661                      { srcInfoSpan =
12662                          SrcSpan "tests/examples/DerivingVia.hs" 190 31 190 49
12663                      , srcInfoPoints = []
12664                      }
12665                    "WrappedApplicative")
12666                 [ TyParen
12667                     SrcSpanInfo
12668                       { srcInfoSpan =
12669                           SrcSpan "tests/examples/DerivingVia.hs" 190 50 190 55
12670                       , srcInfoPoints =
12671                           [ SrcSpan "tests/examples/DerivingVia.hs" 190 50 190 51
12672                           , SrcSpan "tests/examples/DerivingVia.hs" 190 54 190 55
12673                           ]
12674                       }
12675                     (TyApp
12676                        SrcSpanInfo
12677                          { srcInfoSpan =
12678                              SrcSpan "tests/examples/DerivingVia.hs" 190 51 190 54
12679                          , srcInfoPoints = []
12680                          }
12681                        (TyVar
12682                           SrcSpanInfo
12683                             { srcInfoSpan =
12684                                 SrcSpan "tests/examples/DerivingVia.hs" 190 51 190 52
12685                             , srcInfoPoints = []
12686                             }
12687                           (Ident
12688                              SrcSpanInfo
12689                                { srcInfoSpan =
12690                                    SrcSpan "tests/examples/DerivingVia.hs" 190 51 190 52
12691                                , srcInfoPoints = []
12692                                }
12693                              "f"))
12694                        (TyVar
12695                           SrcSpanInfo
12696                             { srcInfoSpan =
12697                                 SrcSpan "tests/examples/DerivingVia.hs" 190 53 190 54
12698                             , srcInfoPoints = []
12699                             }
12700                           (Ident
12701                              SrcSpanInfo
12702                                { srcInfoSpan =
12703                                    SrcSpan "tests/examples/DerivingVia.hs" 190 53 190 54
12704                                , srcInfoPoints = []
12705                                }
12706                              "a")))
12707                 ])
12708          ]
12709          [ Deriving
12710              SrcSpanInfo
12711                { srcInfoSpan =
12712                    SrcSpan "tests/examples/DerivingVia.hs" 191 3 191 34
12713                , srcInfoPoints =
12714                    [ SrcSpan "tests/examples/DerivingVia.hs" 191 3 191 11
12715                    , SrcSpan "tests/examples/DerivingVia.hs" 191 12 191 13
12716                    , SrcSpan "tests/examples/DerivingVia.hs" 191 20 191 21
12717                    , SrcSpan "tests/examples/DerivingVia.hs" 191 33 191 34
12718                    ]
12719                }
12720              Nothing
12721              [ IRule
12722                  SrcSpanInfo
12723                    { srcInfoSpan =
12724                        SrcSpan "tests/examples/DerivingVia.hs" 191 13 191 20
12725                    , srcInfoPoints = []
12726                    }
12727                  Nothing
12728                  Nothing
12729                  (IHCon
12730                     SrcSpanInfo
12731                       { srcInfoSpan =
12732                           SrcSpan "tests/examples/DerivingVia.hs" 191 13 191 20
12733                       , srcInfoPoints = []
12734                       }
12735                     (UnQual
12736                        SrcSpanInfo
12737                          { srcInfoSpan =
12738                              SrcSpan "tests/examples/DerivingVia.hs" 191 13 191 20
12739                          , srcInfoPoints = []
12740                          }
12741                        (Ident
12742                           SrcSpanInfo
12743                             { srcInfoSpan =
12744                                 SrcSpan "tests/examples/DerivingVia.hs" 191 13 191 20
12745                             , srcInfoPoints = []
12746                             }
12747                           "Functor")))
12748              , IRule
12749                  SrcSpanInfo
12750                    { srcInfoSpan =
12751                        SrcSpan "tests/examples/DerivingVia.hs" 191 22 191 33
12752                    , srcInfoPoints = []
12753                    }
12754                  Nothing
12755                  Nothing
12756                  (IHCon
12757                     SrcSpanInfo
12758                       { srcInfoSpan =
12759                           SrcSpan "tests/examples/DerivingVia.hs" 191 22 191 33
12760                       , srcInfoPoints = []
12761                       }
12762                     (UnQual
12763                        SrcSpanInfo
12764                          { srcInfoSpan =
12765                              SrcSpan "tests/examples/DerivingVia.hs" 191 22 191 33
12766                          , srcInfoPoints = []
12767                          }
12768                        (Ident
12769                           SrcSpanInfo
12770                             { srcInfoSpan =
12771                                 SrcSpan "tests/examples/DerivingVia.hs" 191 22 191 33
12772                             , srcInfoPoints = []
12773                             }
12774                           "Applicative")))
12775              ]
12776          ]
12777      , InstDecl
12778          SrcSpanInfo
12779            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 193 1 201 0
12780            , srcInfoPoints =
12781                [ SrcSpan "tests/examples/DerivingVia.hs" 193 1 193 9
12782                , SrcSpan "tests/examples/DerivingVia.hs" 193 62 193 67
12783                , SrcSpan "tests/examples/DerivingVia.hs" 194 3 194 3
12784                , SrcSpan "tests/examples/DerivingVia.hs" 195 3 195 3
12785                , SrcSpan "tests/examples/DerivingVia.hs" 196 3 196 3
12786                , SrcSpan "tests/examples/DerivingVia.hs" 197 3 197 3
12787                , SrcSpan "tests/examples/DerivingVia.hs" 198 3 198 3
12788                , SrcSpan "tests/examples/DerivingVia.hs" 199 3 199 3
12789                , SrcSpan "tests/examples/DerivingVia.hs" 201 1 201 0
12790                ]
12791            }
12792          Nothing
12793          (IRule
12794             SrcSpanInfo
12795               { srcInfoSpan =
12796                   SrcSpan "tests/examples/DerivingVia.hs" 193 10 193 61
12797               , srcInfoPoints = []
12798               }
12799             Nothing
12800             (Just
12801                (CxTuple
12802                   SrcSpanInfo
12803                     { srcInfoSpan =
12804                         SrcSpan "tests/examples/DerivingVia.hs" 193 10 193 35
12805                     , srcInfoPoints =
12806                         [ SrcSpan "tests/examples/DerivingVia.hs" 193 10 193 11
12807                         , SrcSpan "tests/examples/DerivingVia.hs" 193 24 193 25
12808                         , SrcSpan "tests/examples/DerivingVia.hs" 193 31 193 32
12809                         , SrcSpan "tests/examples/DerivingVia.hs" 193 33 193 35
12810                         ]
12811                     }
12812                   [ TypeA
12813                       SrcSpanInfo
12814                         { srcInfoSpan =
12815                             SrcSpan "tests/examples/DerivingVia.hs" 193 11 193 24
12816                         , srcInfoPoints = []
12817                         }
12818                       (TyApp
12819                          SrcSpanInfo
12820                            { srcInfoSpan =
12821                                SrcSpan "tests/examples/DerivingVia.hs" 193 11 193 24
12822                            , srcInfoPoints = []
12823                            }
12824                          (TyCon
12825                             SrcSpanInfo
12826                               { srcInfoSpan =
12827                                   SrcSpan "tests/examples/DerivingVia.hs" 193 11 193 24
12828                               , srcInfoPoints = []
12829                               }
12830                             (UnQual
12831                                SrcSpanInfo
12832                                  { srcInfoSpan =
12833                                      SrcSpan "tests/examples/DerivingVia.hs" 193 11 193 22
12834                                  , srcInfoPoints = []
12835                                  }
12836                                (Ident
12837                                   SrcSpanInfo
12838                                     { srcInfoSpan =
12839                                         SrcSpan "tests/examples/DerivingVia.hs" 193 11 193 22
12840                                     , srcInfoPoints = []
12841                                     }
12842                                   "Applicative")))
12843                          (TyVar
12844                             SrcSpanInfo
12845                               { srcInfoSpan =
12846                                   SrcSpan "tests/examples/DerivingVia.hs" 193 23 193 24
12847                               , srcInfoPoints = []
12848                               }
12849                             (Ident
12850                                SrcSpanInfo
12851                                  { srcInfoSpan =
12852                                      SrcSpan "tests/examples/DerivingVia.hs" 193 23 193 24
12853                                  , srcInfoPoints = []
12854                                  }
12855                                "f")))
12856                   , TypeA
12857                       SrcSpanInfo
12858                         { srcInfoSpan =
12859                             SrcSpan "tests/examples/DerivingVia.hs" 193 26 193 31
12860                         , srcInfoPoints = []
12861                         }
12862                       (TyApp
12863                          SrcSpanInfo
12864                            { srcInfoSpan =
12865                                SrcSpan "tests/examples/DerivingVia.hs" 193 26 193 31
12866                            , srcInfoPoints = []
12867                            }
12868                          (TyCon
12869                             SrcSpanInfo
12870                               { srcInfoSpan =
12871                                   SrcSpan "tests/examples/DerivingVia.hs" 193 26 193 31
12872                               , srcInfoPoints = []
12873                               }
12874                             (UnQual
12875                                SrcSpanInfo
12876                                  { srcInfoSpan =
12877                                      SrcSpan "tests/examples/DerivingVia.hs" 193 26 193 29
12878                                  , srcInfoPoints = []
12879                                  }
12880                                (Ident
12881                                   SrcSpanInfo
12882                                     { srcInfoSpan =
12883                                         SrcSpan "tests/examples/DerivingVia.hs" 193 26 193 29
12884                                     , srcInfoPoints = []
12885                                     }
12886                                   "Num")))
12887                          (TyVar
12888                             SrcSpanInfo
12889                               { srcInfoSpan =
12890                                   SrcSpan "tests/examples/DerivingVia.hs" 193 30 193 31
12891                               , srcInfoPoints = []
12892                               }
12893                             (Ident
12894                                SrcSpanInfo
12895                                  { srcInfoSpan =
12896                                      SrcSpan "tests/examples/DerivingVia.hs" 193 30 193 31
12897                                  , srcInfoPoints = []
12898                                  }
12899                                "a")))
12900                   ]))
12901             (IHApp
12902                SrcSpanInfo
12903                  { srcInfoSpan =
12904                      SrcSpan "tests/examples/DerivingVia.hs" 193 36 193 61
12905                  , srcInfoPoints = []
12906                  }
12907                (IHCon
12908                   SrcSpanInfo
12909                     { srcInfoSpan =
12910                         SrcSpan "tests/examples/DerivingVia.hs" 193 36 193 39
12911                     , srcInfoPoints = []
12912                     }
12913                   (UnQual
12914                      SrcSpanInfo
12915                        { srcInfoSpan =
12916                            SrcSpan "tests/examples/DerivingVia.hs" 193 36 193 39
12917                        , srcInfoPoints = []
12918                        }
12919                      (Ident
12920                         SrcSpanInfo
12921                           { srcInfoSpan =
12922                               SrcSpan "tests/examples/DerivingVia.hs" 193 36 193 39
12923                           , srcInfoPoints = []
12924                           }
12925                         "Num")))
12926                (TyParen
12927                   SrcSpanInfo
12928                     { srcInfoSpan =
12929                         SrcSpan "tests/examples/DerivingVia.hs" 193 40 193 61
12930                     , srcInfoPoints =
12931                         [ SrcSpan "tests/examples/DerivingVia.hs" 193 40 193 41
12932                         , SrcSpan "tests/examples/DerivingVia.hs" 193 60 193 61
12933                         ]
12934                     }
12935                   (TyApp
12936                      SrcSpanInfo
12937                        { srcInfoSpan =
12938                            SrcSpan "tests/examples/DerivingVia.hs" 193 41 193 60
12939                        , srcInfoPoints = []
12940                        }
12941                      (TyApp
12942                         SrcSpanInfo
12943                           { srcInfoSpan =
12944                               SrcSpan "tests/examples/DerivingVia.hs" 193 41 193 58
12945                           , srcInfoPoints = []
12946                           }
12947                         (TyCon
12948                            SrcSpanInfo
12949                              { srcInfoSpan =
12950                                  SrcSpan "tests/examples/DerivingVia.hs" 193 41 193 56
12951                              , srcInfoPoints = []
12952                              }
12953                            (UnQual
12954                               SrcSpanInfo
12955                                 { srcInfoSpan =
12956                                     SrcSpan "tests/examples/DerivingVia.hs" 193 41 193 56
12957                                 , srcInfoPoints = []
12958                                 }
12959                               (Ident
12960                                  SrcSpanInfo
12961                                    { srcInfoSpan =
12962                                        SrcSpan "tests/examples/DerivingVia.hs" 193 41 193 56
12963                                    , srcInfoPoints = []
12964                                    }
12965                                  "WrapApplicative")))
12966                         (TyVar
12967                            SrcSpanInfo
12968                              { srcInfoSpan =
12969                                  SrcSpan "tests/examples/DerivingVia.hs" 193 57 193 58
12970                              , srcInfoPoints = []
12971                              }
12972                            (Ident
12973                               SrcSpanInfo
12974                                 { srcInfoSpan =
12975                                     SrcSpan "tests/examples/DerivingVia.hs" 193 57 193 58
12976                                 , srcInfoPoints = []
12977                                 }
12978                               "f")))
12979                      (TyVar
12980                         SrcSpanInfo
12981                           { srcInfoSpan =
12982                               SrcSpan "tests/examples/DerivingVia.hs" 193 59 193 60
12983                           , srcInfoPoints = []
12984                           }
12985                         (Ident
12986                            SrcSpanInfo
12987                              { srcInfoSpan =
12988                                  SrcSpan "tests/examples/DerivingVia.hs" 193 59 193 60
12989                              , srcInfoPoints = []
12990                              }
12991                            "a"))))))
12992          (Just
12993             [ InsDecl
12994                 SrcSpanInfo
12995                   { srcInfoSpan =
12996                       SrcSpan "tests/examples/DerivingVia.hs" 194 3 194 27
12997                   , srcInfoPoints = []
12998                   }
12999                 (PatBind
13000                    SrcSpanInfo
13001                      { srcInfoSpan =
13002                          SrcSpan "tests/examples/DerivingVia.hs" 194 3 194 27
13003                      , srcInfoPoints = []
13004                      }
13005                    (PVar
13006                       SrcSpanInfo
13007                         { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 194 3 194 6
13008                         , srcInfoPoints =
13009                             [ SrcSpan "tests/examples/DerivingVia.hs" 194 3 194 4
13010                             , SrcSpan "tests/examples/DerivingVia.hs" 194 4 194 5
13011                             , SrcSpan "tests/examples/DerivingVia.hs" 194 5 194 6
13012                             ]
13013                         }
13014                       (Symbol
13015                          SrcSpanInfo
13016                            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 194 4 194 5
13017                            , srcInfoPoints = []
13018                            }
13019                          "+"))
13020                    (UnGuardedRhs
13021                       SrcSpanInfo
13022                         { srcInfoSpan =
13023                             SrcSpan "tests/examples/DerivingVia.hs" 194 15 194 27
13024                         , srcInfoPoints =
13025                             [ SrcSpan "tests/examples/DerivingVia.hs" 194 15 194 16 ]
13026                         }
13027                       (App
13028                          SrcSpanInfo
13029                            { srcInfoSpan =
13030                                SrcSpan "tests/examples/DerivingVia.hs" 194 17 194 27
13031                            , srcInfoPoints = []
13032                            }
13033                          (Var
13034                             SrcSpanInfo
13035                               { srcInfoSpan =
13036                                   SrcSpan "tests/examples/DerivingVia.hs" 194 17 194 23
13037                               , srcInfoPoints = []
13038                               }
13039                             (UnQual
13040                                SrcSpanInfo
13041                                  { srcInfoSpan =
13042                                      SrcSpan "tests/examples/DerivingVia.hs" 194 17 194 23
13043                                  , srcInfoPoints = []
13044                                  }
13045                                (Ident
13046                                   SrcSpanInfo
13047                                     { srcInfoSpan =
13048                                         SrcSpan "tests/examples/DerivingVia.hs" 194 17 194 23
13049                                     , srcInfoPoints = []
13050                                     }
13051                                   "liftA2")))
13052                          (Var
13053                             SrcSpanInfo
13054                               { srcInfoSpan =
13055                                   SrcSpan "tests/examples/DerivingVia.hs" 194 24 194 27
13056                               , srcInfoPoints =
13057                                   [ SrcSpan "tests/examples/DerivingVia.hs" 194 24 194 25
13058                                   , SrcSpan "tests/examples/DerivingVia.hs" 194 25 194 26
13059                                   , SrcSpan "tests/examples/DerivingVia.hs" 194 26 194 27
13060                                   ]
13061                               }
13062                             (UnQual
13063                                SrcSpanInfo
13064                                  { srcInfoSpan =
13065                                      SrcSpan "tests/examples/DerivingVia.hs" 194 24 194 27
13066                                  , srcInfoPoints =
13067                                      [ SrcSpan "tests/examples/DerivingVia.hs" 194 24 194 25
13068                                      , SrcSpan "tests/examples/DerivingVia.hs" 194 25 194 26
13069                                      , SrcSpan "tests/examples/DerivingVia.hs" 194 26 194 27
13070                                      ]
13071                                  }
13072                                (Symbol
13073                                   SrcSpanInfo
13074                                     { srcInfoSpan =
13075                                         SrcSpan "tests/examples/DerivingVia.hs" 194 25 194 26
13076                                     , srcInfoPoints = []
13077                                     }
13078                                   "+")))))
13079                    Nothing)
13080             , InsDecl
13081                 SrcSpanInfo
13082                   { srcInfoSpan =
13083                       SrcSpan "tests/examples/DerivingVia.hs" 195 3 195 27
13084                   , srcInfoPoints = []
13085                   }
13086                 (PatBind
13087                    SrcSpanInfo
13088                      { srcInfoSpan =
13089                          SrcSpan "tests/examples/DerivingVia.hs" 195 3 195 27
13090                      , srcInfoPoints = []
13091                      }
13092                    (PVar
13093                       SrcSpanInfo
13094                         { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 195 3 195 6
13095                         , srcInfoPoints =
13096                             [ SrcSpan "tests/examples/DerivingVia.hs" 195 3 195 4
13097                             , SrcSpan "tests/examples/DerivingVia.hs" 195 4 195 5
13098                             , SrcSpan "tests/examples/DerivingVia.hs" 195 5 195 6
13099                             ]
13100                         }
13101                       (Symbol
13102                          SrcSpanInfo
13103                            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 195 4 195 5
13104                            , srcInfoPoints = []
13105                            }
13106                          "*"))
13107                    (UnGuardedRhs
13108                       SrcSpanInfo
13109                         { srcInfoSpan =
13110                             SrcSpan "tests/examples/DerivingVia.hs" 195 15 195 27
13111                         , srcInfoPoints =
13112                             [ SrcSpan "tests/examples/DerivingVia.hs" 195 15 195 16 ]
13113                         }
13114                       (App
13115                          SrcSpanInfo
13116                            { srcInfoSpan =
13117                                SrcSpan "tests/examples/DerivingVia.hs" 195 17 195 27
13118                            , srcInfoPoints = []
13119                            }
13120                          (Var
13121                             SrcSpanInfo
13122                               { srcInfoSpan =
13123                                   SrcSpan "tests/examples/DerivingVia.hs" 195 17 195 23
13124                               , srcInfoPoints = []
13125                               }
13126                             (UnQual
13127                                SrcSpanInfo
13128                                  { srcInfoSpan =
13129                                      SrcSpan "tests/examples/DerivingVia.hs" 195 17 195 23
13130                                  , srcInfoPoints = []
13131                                  }
13132                                (Ident
13133                                   SrcSpanInfo
13134                                     { srcInfoSpan =
13135                                         SrcSpan "tests/examples/DerivingVia.hs" 195 17 195 23
13136                                     , srcInfoPoints = []
13137                                     }
13138                                   "liftA2")))
13139                          (Var
13140                             SrcSpanInfo
13141                               { srcInfoSpan =
13142                                   SrcSpan "tests/examples/DerivingVia.hs" 195 24 195 27
13143                               , srcInfoPoints =
13144                                   [ SrcSpan "tests/examples/DerivingVia.hs" 195 24 195 25
13145                                   , SrcSpan "tests/examples/DerivingVia.hs" 195 25 195 26
13146                                   , SrcSpan "tests/examples/DerivingVia.hs" 195 26 195 27
13147                                   ]
13148                               }
13149                             (UnQual
13150                                SrcSpanInfo
13151                                  { srcInfoSpan =
13152                                      SrcSpan "tests/examples/DerivingVia.hs" 195 24 195 27
13153                                  , srcInfoPoints =
13154                                      [ SrcSpan "tests/examples/DerivingVia.hs" 195 24 195 25
13155                                      , SrcSpan "tests/examples/DerivingVia.hs" 195 25 195 26
13156                                      , SrcSpan "tests/examples/DerivingVia.hs" 195 26 195 27
13157                                      ]
13158                                  }
13159                                (Symbol
13160                                   SrcSpanInfo
13161                                     { srcInfoSpan =
13162                                         SrcSpan "tests/examples/DerivingVia.hs" 195 25 195 26
13163                                     , srcInfoPoints = []
13164                                     }
13165                                   "*")))))
13166                    Nothing)
13167             , InsDecl
13168                 SrcSpanInfo
13169                   { srcInfoSpan =
13170                       SrcSpan "tests/examples/DerivingVia.hs" 196 3 196 28
13171                   , srcInfoPoints = []
13172                   }
13173                 (PatBind
13174                    SrcSpanInfo
13175                      { srcInfoSpan =
13176                          SrcSpan "tests/examples/DerivingVia.hs" 196 3 196 28
13177                      , srcInfoPoints = []
13178                      }
13179                    (PVar
13180                       SrcSpanInfo
13181                         { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 196 3 196 9
13182                         , srcInfoPoints = []
13183                         }
13184                       (Ident
13185                          SrcSpanInfo
13186                            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 196 3 196 9
13187                            , srcInfoPoints = []
13188                            }
13189                          "negate"))
13190                    (UnGuardedRhs
13191                       SrcSpanInfo
13192                         { srcInfoSpan =
13193                             SrcSpan "tests/examples/DerivingVia.hs" 196 15 196 28
13194                         , srcInfoPoints =
13195                             [ SrcSpan "tests/examples/DerivingVia.hs" 196 15 196 16 ]
13196                         }
13197                       (App
13198                          SrcSpanInfo
13199                            { srcInfoSpan =
13200                                SrcSpan "tests/examples/DerivingVia.hs" 196 17 196 28
13201                            , srcInfoPoints = []
13202                            }
13203                          (Var
13204                             SrcSpanInfo
13205                               { srcInfoSpan =
13206                                   SrcSpan "tests/examples/DerivingVia.hs" 196 17 196 21
13207                               , srcInfoPoints = []
13208                               }
13209                             (UnQual
13210                                SrcSpanInfo
13211                                  { srcInfoSpan =
13212                                      SrcSpan "tests/examples/DerivingVia.hs" 196 17 196 21
13213                                  , srcInfoPoints = []
13214                                  }
13215                                (Ident
13216                                   SrcSpanInfo
13217                                     { srcInfoSpan =
13218                                         SrcSpan "tests/examples/DerivingVia.hs" 196 17 196 21
13219                                     , srcInfoPoints = []
13220                                     }
13221                                   "fmap")))
13222                          (Var
13223                             SrcSpanInfo
13224                               { srcInfoSpan =
13225                                   SrcSpan "tests/examples/DerivingVia.hs" 196 22 196 28
13226                               , srcInfoPoints = []
13227                               }
13228                             (UnQual
13229                                SrcSpanInfo
13230                                  { srcInfoSpan =
13231                                      SrcSpan "tests/examples/DerivingVia.hs" 196 22 196 28
13232                                  , srcInfoPoints = []
13233                                  }
13234                                (Ident
13235                                   SrcSpanInfo
13236                                     { srcInfoSpan =
13237                                         SrcSpan "tests/examples/DerivingVia.hs" 196 22 196 28
13238                                     , srcInfoPoints = []
13239                                     }
13240                                   "negate")))))
13241                    Nothing)
13242             , InsDecl
13243                 SrcSpanInfo
13244                   { srcInfoSpan =
13245                       SrcSpan "tests/examples/DerivingVia.hs" 197 3 197 35
13246                   , srcInfoPoints = []
13247                   }
13248                 (PatBind
13249                    SrcSpanInfo
13250                      { srcInfoSpan =
13251                          SrcSpan "tests/examples/DerivingVia.hs" 197 3 197 35
13252                      , srcInfoPoints = []
13253                      }
13254                    (PVar
13255                       SrcSpanInfo
13256                         { srcInfoSpan =
13257                             SrcSpan "tests/examples/DerivingVia.hs" 197 3 197 14
13258                         , srcInfoPoints = []
13259                         }
13260                       (Ident
13261                          SrcSpanInfo
13262                            { srcInfoSpan =
13263                                SrcSpan "tests/examples/DerivingVia.hs" 197 3 197 14
13264                            , srcInfoPoints = []
13265                            }
13266                          "fromInteger"))
13267                    (UnGuardedRhs
13268                       SrcSpanInfo
13269                         { srcInfoSpan =
13270                             SrcSpan "tests/examples/DerivingVia.hs" 197 15 197 35
13271                         , srcInfoPoints =
13272                             [ SrcSpan "tests/examples/DerivingVia.hs" 197 15 197 16 ]
13273                         }
13274                       (InfixApp
13275                          SrcSpanInfo
13276                            { srcInfoSpan =
13277                                SrcSpan "tests/examples/DerivingVia.hs" 197 17 197 35
13278                            , srcInfoPoints = []
13279                            }
13280                          (Var
13281                             SrcSpanInfo
13282                               { srcInfoSpan =
13283                                   SrcSpan "tests/examples/DerivingVia.hs" 197 17 197 21
13284                               , srcInfoPoints = []
13285                               }
13286                             (UnQual
13287                                SrcSpanInfo
13288                                  { srcInfoSpan =
13289                                      SrcSpan "tests/examples/DerivingVia.hs" 197 17 197 21
13290                                  , srcInfoPoints = []
13291                                  }
13292                                (Ident
13293                                   SrcSpanInfo
13294                                     { srcInfoSpan =
13295                                         SrcSpan "tests/examples/DerivingVia.hs" 197 17 197 21
13296                                     , srcInfoPoints = []
13297                                     }
13298                                   "pure")))
13299                          (QVarOp
13300                             SrcSpanInfo
13301                               { srcInfoSpan =
13302                                   SrcSpan "tests/examples/DerivingVia.hs" 197 22 197 23
13303                               , srcInfoPoints = []
13304                               }
13305                             (UnQual
13306                                SrcSpanInfo
13307                                  { srcInfoSpan =
13308                                      SrcSpan "tests/examples/DerivingVia.hs" 197 22 197 23
13309                                  , srcInfoPoints = []
13310                                  }
13311                                (Symbol
13312                                   SrcSpanInfo
13313                                     { srcInfoSpan =
13314                                         SrcSpan "tests/examples/DerivingVia.hs" 197 22 197 23
13315                                     , srcInfoPoints = []
13316                                     }
13317                                   ".")))
13318                          (Var
13319                             SrcSpanInfo
13320                               { srcInfoSpan =
13321                                   SrcSpan "tests/examples/DerivingVia.hs" 197 24 197 35
13322                               , srcInfoPoints = []
13323                               }
13324                             (UnQual
13325                                SrcSpanInfo
13326                                  { srcInfoSpan =
13327                                      SrcSpan "tests/examples/DerivingVia.hs" 197 24 197 35
13328                                  , srcInfoPoints = []
13329                                  }
13330                                (Ident
13331                                   SrcSpanInfo
13332                                     { srcInfoSpan =
13333                                         SrcSpan "tests/examples/DerivingVia.hs" 197 24 197 35
13334                                     , srcInfoPoints = []
13335                                     }
13336                                   "fromInteger")))))
13337                    Nothing)
13338             , InsDecl
13339                 SrcSpanInfo
13340                   { srcInfoSpan =
13341                       SrcSpan "tests/examples/DerivingVia.hs" 198 3 198 25
13342                   , srcInfoPoints = []
13343                   }
13344                 (PatBind
13345                    SrcSpanInfo
13346                      { srcInfoSpan =
13347                          SrcSpan "tests/examples/DerivingVia.hs" 198 3 198 25
13348                      , srcInfoPoints = []
13349                      }
13350                    (PVar
13351                       SrcSpanInfo
13352                         { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 198 3 198 6
13353                         , srcInfoPoints = []
13354                         }
13355                       (Ident
13356                          SrcSpanInfo
13357                            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 198 3 198 6
13358                            , srcInfoPoints = []
13359                            }
13360                          "abs"))
13361                    (UnGuardedRhs
13362                       SrcSpanInfo
13363                         { srcInfoSpan =
13364                             SrcSpan "tests/examples/DerivingVia.hs" 198 15 198 25
13365                         , srcInfoPoints =
13366                             [ SrcSpan "tests/examples/DerivingVia.hs" 198 15 198 16 ]
13367                         }
13368                       (App
13369                          SrcSpanInfo
13370                            { srcInfoSpan =
13371                                SrcSpan "tests/examples/DerivingVia.hs" 198 17 198 25
13372                            , srcInfoPoints = []
13373                            }
13374                          (Var
13375                             SrcSpanInfo
13376                               { srcInfoSpan =
13377                                   SrcSpan "tests/examples/DerivingVia.hs" 198 17 198 21
13378                               , srcInfoPoints = []
13379                               }
13380                             (UnQual
13381                                SrcSpanInfo
13382                                  { srcInfoSpan =
13383                                      SrcSpan "tests/examples/DerivingVia.hs" 198 17 198 21
13384                                  , srcInfoPoints = []
13385                                  }
13386                                (Ident
13387                                   SrcSpanInfo
13388                                     { srcInfoSpan =
13389                                         SrcSpan "tests/examples/DerivingVia.hs" 198 17 198 21
13390                                     , srcInfoPoints = []
13391                                     }
13392                                   "fmap")))
13393                          (Var
13394                             SrcSpanInfo
13395                               { srcInfoSpan =
13396                                   SrcSpan "tests/examples/DerivingVia.hs" 198 22 198 25
13397                               , srcInfoPoints = []
13398                               }
13399                             (UnQual
13400                                SrcSpanInfo
13401                                  { srcInfoSpan =
13402                                      SrcSpan "tests/examples/DerivingVia.hs" 198 22 198 25
13403                                  , srcInfoPoints = []
13404                                  }
13405                                (Ident
13406                                   SrcSpanInfo
13407                                     { srcInfoSpan =
13408                                         SrcSpan "tests/examples/DerivingVia.hs" 198 22 198 25
13409                                     , srcInfoPoints = []
13410                                     }
13411                                   "abs")))))
13412                    Nothing)
13413             , InsDecl
13414                 SrcSpanInfo
13415                   { srcInfoSpan =
13416                       SrcSpan "tests/examples/DerivingVia.hs" 199 3 199 28
13417                   , srcInfoPoints = []
13418                   }
13419                 (PatBind
13420                    SrcSpanInfo
13421                      { srcInfoSpan =
13422                          SrcSpan "tests/examples/DerivingVia.hs" 199 3 199 28
13423                      , srcInfoPoints = []
13424                      }
13425                    (PVar
13426                       SrcSpanInfo
13427                         { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 199 3 199 9
13428                         , srcInfoPoints = []
13429                         }
13430                       (Ident
13431                          SrcSpanInfo
13432                            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 199 3 199 9
13433                            , srcInfoPoints = []
13434                            }
13435                          "signum"))
13436                    (UnGuardedRhs
13437                       SrcSpanInfo
13438                         { srcInfoSpan =
13439                             SrcSpan "tests/examples/DerivingVia.hs" 199 15 199 28
13440                         , srcInfoPoints =
13441                             [ SrcSpan "tests/examples/DerivingVia.hs" 199 15 199 16 ]
13442                         }
13443                       (App
13444                          SrcSpanInfo
13445                            { srcInfoSpan =
13446                                SrcSpan "tests/examples/DerivingVia.hs" 199 17 199 28
13447                            , srcInfoPoints = []
13448                            }
13449                          (Var
13450                             SrcSpanInfo
13451                               { srcInfoSpan =
13452                                   SrcSpan "tests/examples/DerivingVia.hs" 199 17 199 21
13453                               , srcInfoPoints = []
13454                               }
13455                             (UnQual
13456                                SrcSpanInfo
13457                                  { srcInfoSpan =
13458                                      SrcSpan "tests/examples/DerivingVia.hs" 199 17 199 21
13459                                  , srcInfoPoints = []
13460                                  }
13461                                (Ident
13462                                   SrcSpanInfo
13463                                     { srcInfoSpan =
13464                                         SrcSpan "tests/examples/DerivingVia.hs" 199 17 199 21
13465                                     , srcInfoPoints = []
13466                                     }
13467                                   "fmap")))
13468                          (Var
13469                             SrcSpanInfo
13470                               { srcInfoSpan =
13471                                   SrcSpan "tests/examples/DerivingVia.hs" 199 22 199 28
13472                               , srcInfoPoints = []
13473                               }
13474                             (UnQual
13475                                SrcSpanInfo
13476                                  { srcInfoSpan =
13477                                      SrcSpan "tests/examples/DerivingVia.hs" 199 22 199 28
13478                                  , srcInfoPoints = []
13479                                  }
13480                                (Ident
13481                                   SrcSpanInfo
13482                                     { srcInfoSpan =
13483                                         SrcSpan "tests/examples/DerivingVia.hs" 199 22 199 28
13484                                     , srcInfoPoints = []
13485                                     }
13486                                   "signum")))))
13487                    Nothing)
13488             ])
13489      , InstDecl
13490          SrcSpanInfo
13491            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 201 1 205 0
13492            , srcInfoPoints =
13493                [ SrcSpan "tests/examples/DerivingVia.hs" 201 1 201 9
13494                , SrcSpan "tests/examples/DerivingVia.hs" 201 76 201 81
13495                , SrcSpan "tests/examples/DerivingVia.hs" 202 3 202 3
13496                , SrcSpan "tests/examples/DerivingVia.hs" 203 3 203 3
13497                , SrcSpan "tests/examples/DerivingVia.hs" 205 1 205 0
13498                ]
13499            }
13500          Nothing
13501          (IRule
13502             SrcSpanInfo
13503               { srcInfoSpan =
13504                   SrcSpan "tests/examples/DerivingVia.hs" 201 10 201 75
13505               , srcInfoPoints = []
13506               }
13507             Nothing
13508             (Just
13509                (CxTuple
13510                   SrcSpanInfo
13511                     { srcInfoSpan =
13512                         SrcSpan "tests/examples/DerivingVia.hs" 201 10 201 42
13513                     , srcInfoPoints =
13514                         [ SrcSpan "tests/examples/DerivingVia.hs" 201 10 201 11
13515                         , SrcSpan "tests/examples/DerivingVia.hs" 201 24 201 25
13516                         , SrcSpan "tests/examples/DerivingVia.hs" 201 38 201 39
13517                         , SrcSpan "tests/examples/DerivingVia.hs" 201 40 201 42
13518                         ]
13519                     }
13520                   [ TypeA
13521                       SrcSpanInfo
13522                         { srcInfoSpan =
13523                             SrcSpan "tests/examples/DerivingVia.hs" 201 11 201 24
13524                         , srcInfoPoints = []
13525                         }
13526                       (TyApp
13527                          SrcSpanInfo
13528                            { srcInfoSpan =
13529                                SrcSpan "tests/examples/DerivingVia.hs" 201 11 201 24
13530                            , srcInfoPoints = []
13531                            }
13532                          (TyCon
13533                             SrcSpanInfo
13534                               { srcInfoSpan =
13535                                   SrcSpan "tests/examples/DerivingVia.hs" 201 11 201 24
13536                               , srcInfoPoints = []
13537                               }
13538                             (UnQual
13539                                SrcSpanInfo
13540                                  { srcInfoSpan =
13541                                      SrcSpan "tests/examples/DerivingVia.hs" 201 11 201 22
13542                                  , srcInfoPoints = []
13543                                  }
13544                                (Ident
13545                                   SrcSpanInfo
13546                                     { srcInfoSpan =
13547                                         SrcSpan "tests/examples/DerivingVia.hs" 201 11 201 22
13548                                     , srcInfoPoints = []
13549                                     }
13550                                   "Applicative")))
13551                          (TyVar
13552                             SrcSpanInfo
13553                               { srcInfoSpan =
13554                                   SrcSpan "tests/examples/DerivingVia.hs" 201 23 201 24
13555                               , srcInfoPoints = []
13556                               }
13557                             (Ident
13558                                SrcSpanInfo
13559                                  { srcInfoSpan =
13560                                      SrcSpan "tests/examples/DerivingVia.hs" 201 23 201 24
13561                                  , srcInfoPoints = []
13562                                  }
13563                                "f")))
13564                   , TypeA
13565                       SrcSpanInfo
13566                         { srcInfoSpan =
13567                             SrcSpan "tests/examples/DerivingVia.hs" 201 26 201 38
13568                         , srcInfoPoints = []
13569                         }
13570                       (TyApp
13571                          SrcSpanInfo
13572                            { srcInfoSpan =
13573                                SrcSpan "tests/examples/DerivingVia.hs" 201 26 201 38
13574                            , srcInfoPoints = []
13575                            }
13576                          (TyCon
13577                             SrcSpanInfo
13578                               { srcInfoSpan =
13579                                   SrcSpan "tests/examples/DerivingVia.hs" 201 26 201 38
13580                               , srcInfoPoints = []
13581                               }
13582                             (UnQual
13583                                SrcSpanInfo
13584                                  { srcInfoSpan =
13585                                      SrcSpan "tests/examples/DerivingVia.hs" 201 26 201 36
13586                                  , srcInfoPoints = []
13587                                  }
13588                                (Ident
13589                                   SrcSpanInfo
13590                                     { srcInfoSpan =
13591                                         SrcSpan "tests/examples/DerivingVia.hs" 201 26 201 36
13592                                     , srcInfoPoints = []
13593                                     }
13594                                   "Fractional")))
13595                          (TyVar
13596                             SrcSpanInfo
13597                               { srcInfoSpan =
13598                                   SrcSpan "tests/examples/DerivingVia.hs" 201 37 201 38
13599                               , srcInfoPoints = []
13600                               }
13601                             (Ident
13602                                SrcSpanInfo
13603                                  { srcInfoSpan =
13604                                      SrcSpan "tests/examples/DerivingVia.hs" 201 37 201 38
13605                                  , srcInfoPoints = []
13606                                  }
13607                                "a")))
13608                   ]))
13609             (IHApp
13610                SrcSpanInfo
13611                  { srcInfoSpan =
13612                      SrcSpan "tests/examples/DerivingVia.hs" 201 43 201 75
13613                  , srcInfoPoints = []
13614                  }
13615                (IHCon
13616                   SrcSpanInfo
13617                     { srcInfoSpan =
13618                         SrcSpan "tests/examples/DerivingVia.hs" 201 43 201 53
13619                     , srcInfoPoints = []
13620                     }
13621                   (UnQual
13622                      SrcSpanInfo
13623                        { srcInfoSpan =
13624                            SrcSpan "tests/examples/DerivingVia.hs" 201 43 201 53
13625                        , srcInfoPoints = []
13626                        }
13627                      (Ident
13628                         SrcSpanInfo
13629                           { srcInfoSpan =
13630                               SrcSpan "tests/examples/DerivingVia.hs" 201 43 201 53
13631                           , srcInfoPoints = []
13632                           }
13633                         "Fractional")))
13634                (TyParen
13635                   SrcSpanInfo
13636                     { srcInfoSpan =
13637                         SrcSpan "tests/examples/DerivingVia.hs" 201 54 201 75
13638                     , srcInfoPoints =
13639                         [ SrcSpan "tests/examples/DerivingVia.hs" 201 54 201 55
13640                         , SrcSpan "tests/examples/DerivingVia.hs" 201 74 201 75
13641                         ]
13642                     }
13643                   (TyApp
13644                      SrcSpanInfo
13645                        { srcInfoSpan =
13646                            SrcSpan "tests/examples/DerivingVia.hs" 201 55 201 74
13647                        , srcInfoPoints = []
13648                        }
13649                      (TyApp
13650                         SrcSpanInfo
13651                           { srcInfoSpan =
13652                               SrcSpan "tests/examples/DerivingVia.hs" 201 55 201 72
13653                           , srcInfoPoints = []
13654                           }
13655                         (TyCon
13656                            SrcSpanInfo
13657                              { srcInfoSpan =
13658                                  SrcSpan "tests/examples/DerivingVia.hs" 201 55 201 70
13659                              , srcInfoPoints = []
13660                              }
13661                            (UnQual
13662                               SrcSpanInfo
13663                                 { srcInfoSpan =
13664                                     SrcSpan "tests/examples/DerivingVia.hs" 201 55 201 70
13665                                 , srcInfoPoints = []
13666                                 }
13667                               (Ident
13668                                  SrcSpanInfo
13669                                    { srcInfoSpan =
13670                                        SrcSpan "tests/examples/DerivingVia.hs" 201 55 201 70
13671                                    , srcInfoPoints = []
13672                                    }
13673                                  "WrapApplicative")))
13674                         (TyVar
13675                            SrcSpanInfo
13676                              { srcInfoSpan =
13677                                  SrcSpan "tests/examples/DerivingVia.hs" 201 71 201 72
13678                              , srcInfoPoints = []
13679                              }
13680                            (Ident
13681                               SrcSpanInfo
13682                                 { srcInfoSpan =
13683                                     SrcSpan "tests/examples/DerivingVia.hs" 201 71 201 72
13684                                 , srcInfoPoints = []
13685                                 }
13686                               "f")))
13687                      (TyVar
13688                         SrcSpanInfo
13689                           { srcInfoSpan =
13690                               SrcSpan "tests/examples/DerivingVia.hs" 201 73 201 74
13691                           , srcInfoPoints = []
13692                           }
13693                         (Ident
13694                            SrcSpanInfo
13695                              { srcInfoSpan =
13696                                  SrcSpan "tests/examples/DerivingVia.hs" 201 73 201 74
13697                              , srcInfoPoints = []
13698                              }
13699                            "a"))))))
13700          (Just
13701             [ InsDecl
13702                 SrcSpanInfo
13703                   { srcInfoSpan =
13704                       SrcSpan "tests/examples/DerivingVia.hs" 202 3 202 28
13705                   , srcInfoPoints = []
13706                   }
13707                 (PatBind
13708                    SrcSpanInfo
13709                      { srcInfoSpan =
13710                          SrcSpan "tests/examples/DerivingVia.hs" 202 3 202 28
13711                      , srcInfoPoints = []
13712                      }
13713                    (PVar
13714                       SrcSpanInfo
13715                         { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 202 3 202 8
13716                         , srcInfoPoints = []
13717                         }
13718                       (Ident
13719                          SrcSpanInfo
13720                            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 202 3 202 8
13721                            , srcInfoPoints = []
13722                            }
13723                          "recip"))
13724                    (UnGuardedRhs
13725                       SrcSpanInfo
13726                         { srcInfoSpan =
13727                             SrcSpan "tests/examples/DerivingVia.hs" 202 16 202 28
13728                         , srcInfoPoints =
13729                             [ SrcSpan "tests/examples/DerivingVia.hs" 202 16 202 17 ]
13730                         }
13731                       (App
13732                          SrcSpanInfo
13733                            { srcInfoSpan =
13734                                SrcSpan "tests/examples/DerivingVia.hs" 202 18 202 28
13735                            , srcInfoPoints = []
13736                            }
13737                          (Var
13738                             SrcSpanInfo
13739                               { srcInfoSpan =
13740                                   SrcSpan "tests/examples/DerivingVia.hs" 202 18 202 22
13741                               , srcInfoPoints = []
13742                               }
13743                             (UnQual
13744                                SrcSpanInfo
13745                                  { srcInfoSpan =
13746                                      SrcSpan "tests/examples/DerivingVia.hs" 202 18 202 22
13747                                  , srcInfoPoints = []
13748                                  }
13749                                (Ident
13750                                   SrcSpanInfo
13751                                     { srcInfoSpan =
13752                                         SrcSpan "tests/examples/DerivingVia.hs" 202 18 202 22
13753                                     , srcInfoPoints = []
13754                                     }
13755                                   "fmap")))
13756                          (Var
13757                             SrcSpanInfo
13758                               { srcInfoSpan =
13759                                   SrcSpan "tests/examples/DerivingVia.hs" 202 23 202 28
13760                               , srcInfoPoints = []
13761                               }
13762                             (UnQual
13763                                SrcSpanInfo
13764                                  { srcInfoSpan =
13765                                      SrcSpan "tests/examples/DerivingVia.hs" 202 23 202 28
13766                                  , srcInfoPoints = []
13767                                  }
13768                                (Ident
13769                                   SrcSpanInfo
13770                                     { srcInfoSpan =
13771                                         SrcSpan "tests/examples/DerivingVia.hs" 202 23 202 28
13772                                     , srcInfoPoints = []
13773                                     }
13774                                   "recip")))))
13775                    Nothing)
13776             , InsDecl
13777                 SrcSpanInfo
13778                   { srcInfoSpan =
13779                       SrcSpan "tests/examples/DerivingVia.hs" 203 3 203 37
13780                   , srcInfoPoints = []
13781                   }
13782                 (PatBind
13783                    SrcSpanInfo
13784                      { srcInfoSpan =
13785                          SrcSpan "tests/examples/DerivingVia.hs" 203 3 203 37
13786                      , srcInfoPoints = []
13787                      }
13788                    (PVar
13789                       SrcSpanInfo
13790                         { srcInfoSpan =
13791                             SrcSpan "tests/examples/DerivingVia.hs" 203 3 203 15
13792                         , srcInfoPoints = []
13793                         }
13794                       (Ident
13795                          SrcSpanInfo
13796                            { srcInfoSpan =
13797                                SrcSpan "tests/examples/DerivingVia.hs" 203 3 203 15
13798                            , srcInfoPoints = []
13799                            }
13800                          "fromRational"))
13801                    (UnGuardedRhs
13802                       SrcSpanInfo
13803                         { srcInfoSpan =
13804                             SrcSpan "tests/examples/DerivingVia.hs" 203 16 203 37
13805                         , srcInfoPoints =
13806                             [ SrcSpan "tests/examples/DerivingVia.hs" 203 16 203 17 ]
13807                         }
13808                       (InfixApp
13809                          SrcSpanInfo
13810                            { srcInfoSpan =
13811                                SrcSpan "tests/examples/DerivingVia.hs" 203 18 203 37
13812                            , srcInfoPoints = []
13813                            }
13814                          (Var
13815                             SrcSpanInfo
13816                               { srcInfoSpan =
13817                                   SrcSpan "tests/examples/DerivingVia.hs" 203 18 203 22
13818                               , srcInfoPoints = []
13819                               }
13820                             (UnQual
13821                                SrcSpanInfo
13822                                  { srcInfoSpan =
13823                                      SrcSpan "tests/examples/DerivingVia.hs" 203 18 203 22
13824                                  , srcInfoPoints = []
13825                                  }
13826                                (Ident
13827                                   SrcSpanInfo
13828                                     { srcInfoSpan =
13829                                         SrcSpan "tests/examples/DerivingVia.hs" 203 18 203 22
13830                                     , srcInfoPoints = []
13831                                     }
13832                                   "pure")))
13833                          (QVarOp
13834                             SrcSpanInfo
13835                               { srcInfoSpan =
13836                                   SrcSpan "tests/examples/DerivingVia.hs" 203 23 203 24
13837                               , srcInfoPoints = []
13838                               }
13839                             (UnQual
13840                                SrcSpanInfo
13841                                  { srcInfoSpan =
13842                                      SrcSpan "tests/examples/DerivingVia.hs" 203 23 203 24
13843                                  , srcInfoPoints = []
13844                                  }
13845                                (Symbol
13846                                   SrcSpanInfo
13847                                     { srcInfoSpan =
13848                                         SrcSpan "tests/examples/DerivingVia.hs" 203 23 203 24
13849                                     , srcInfoPoints = []
13850                                     }
13851                                   ".")))
13852                          (Var
13853                             SrcSpanInfo
13854                               { srcInfoSpan =
13855                                   SrcSpan "tests/examples/DerivingVia.hs" 203 25 203 37
13856                               , srcInfoPoints = []
13857                               }
13858                             (UnQual
13859                                SrcSpanInfo
13860                                  { srcInfoSpan =
13861                                      SrcSpan "tests/examples/DerivingVia.hs" 203 25 203 37
13862                                  , srcInfoPoints = []
13863                                  }
13864                                (Ident
13865                                   SrcSpanInfo
13866                                     { srcInfoSpan =
13867                                         SrcSpan "tests/examples/DerivingVia.hs" 203 25 203 37
13868                                     , srcInfoPoints = []
13869                                     }
13870                                   "fromRational")))))
13871                    Nothing)
13872             ])
13873      , InstDecl
13874          SrcSpanInfo
13875            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 205 1 221 0
13876            , srcInfoPoints =
13877                [ SrcSpan "tests/examples/DerivingVia.hs" 205 1 205 9
13878                , SrcSpan "tests/examples/DerivingVia.hs" 205 72 205 77
13879                , SrcSpan "tests/examples/DerivingVia.hs" 206 3 206 3
13880                , SrcSpan "tests/examples/DerivingVia.hs" 207 3 207 3
13881                , SrcSpan "tests/examples/DerivingVia.hs" 208 3 208 3
13882                , SrcSpan "tests/examples/DerivingVia.hs" 209 3 209 3
13883                , SrcSpan "tests/examples/DerivingVia.hs" 210 3 210 3
13884                , SrcSpan "tests/examples/DerivingVia.hs" 211 3 211 3
13885                , SrcSpan "tests/examples/DerivingVia.hs" 212 3 212 3
13886                , SrcSpan "tests/examples/DerivingVia.hs" 213 3 213 3
13887                , SrcSpan "tests/examples/DerivingVia.hs" 214 3 214 3
13888                , SrcSpan "tests/examples/DerivingVia.hs" 215 3 215 3
13889                , SrcSpan "tests/examples/DerivingVia.hs" 216 3 216 3
13890                , SrcSpan "tests/examples/DerivingVia.hs" 217 3 217 3
13891                , SrcSpan "tests/examples/DerivingVia.hs" 218 3 218 3
13892                , SrcSpan "tests/examples/DerivingVia.hs" 219 3 219 3
13893                , SrcSpan "tests/examples/DerivingVia.hs" 221 1 221 0
13894                ]
13895            }
13896          Nothing
13897          (IRule
13898             SrcSpanInfo
13899               { srcInfoSpan =
13900                   SrcSpan "tests/examples/DerivingVia.hs" 205 10 205 71
13901               , srcInfoPoints = []
13902               }
13903             Nothing
13904             (Just
13905                (CxTuple
13906                   SrcSpanInfo
13907                     { srcInfoSpan =
13908                         SrcSpan "tests/examples/DerivingVia.hs" 205 10 205 40
13909                     , srcInfoPoints =
13910                         [ SrcSpan "tests/examples/DerivingVia.hs" 205 10 205 11
13911                         , SrcSpan "tests/examples/DerivingVia.hs" 205 24 205 25
13912                         , SrcSpan "tests/examples/DerivingVia.hs" 205 36 205 37
13913                         , SrcSpan "tests/examples/DerivingVia.hs" 205 38 205 40
13914                         ]
13915                     }
13916                   [ TypeA
13917                       SrcSpanInfo
13918                         { srcInfoSpan =
13919                             SrcSpan "tests/examples/DerivingVia.hs" 205 11 205 24
13920                         , srcInfoPoints = []
13921                         }
13922                       (TyApp
13923                          SrcSpanInfo
13924                            { srcInfoSpan =
13925                                SrcSpan "tests/examples/DerivingVia.hs" 205 11 205 24
13926                            , srcInfoPoints = []
13927                            }
13928                          (TyCon
13929                             SrcSpanInfo
13930                               { srcInfoSpan =
13931                                   SrcSpan "tests/examples/DerivingVia.hs" 205 11 205 24
13932                               , srcInfoPoints = []
13933                               }
13934                             (UnQual
13935                                SrcSpanInfo
13936                                  { srcInfoSpan =
13937                                      SrcSpan "tests/examples/DerivingVia.hs" 205 11 205 22
13938                                  , srcInfoPoints = []
13939                                  }
13940                                (Ident
13941                                   SrcSpanInfo
13942                                     { srcInfoSpan =
13943                                         SrcSpan "tests/examples/DerivingVia.hs" 205 11 205 22
13944                                     , srcInfoPoints = []
13945                                     }
13946                                   "Applicative")))
13947                          (TyVar
13948                             SrcSpanInfo
13949                               { srcInfoSpan =
13950                                   SrcSpan "tests/examples/DerivingVia.hs" 205 23 205 24
13951                               , srcInfoPoints = []
13952                               }
13953                             (Ident
13954                                SrcSpanInfo
13955                                  { srcInfoSpan =
13956                                      SrcSpan "tests/examples/DerivingVia.hs" 205 23 205 24
13957                                  , srcInfoPoints = []
13958                                  }
13959                                "f")))
13960                   , TypeA
13961                       SrcSpanInfo
13962                         { srcInfoSpan =
13963                             SrcSpan "tests/examples/DerivingVia.hs" 205 26 205 36
13964                         , srcInfoPoints = []
13965                         }
13966                       (TyApp
13967                          SrcSpanInfo
13968                            { srcInfoSpan =
13969                                SrcSpan "tests/examples/DerivingVia.hs" 205 26 205 36
13970                            , srcInfoPoints = []
13971                            }
13972                          (TyCon
13973                             SrcSpanInfo
13974                               { srcInfoSpan =
13975                                   SrcSpan "tests/examples/DerivingVia.hs" 205 26 205 36
13976                               , srcInfoPoints = []
13977                               }
13978                             (UnQual
13979                                SrcSpanInfo
13980                                  { srcInfoSpan =
13981                                      SrcSpan "tests/examples/DerivingVia.hs" 205 26 205 34
13982                                  , srcInfoPoints = []
13983                                  }
13984                                (Ident
13985                                   SrcSpanInfo
13986                                     { srcInfoSpan =
13987                                         SrcSpan "tests/examples/DerivingVia.hs" 205 26 205 34
13988                                     , srcInfoPoints = []
13989                                     }
13990                                   "Floating")))
13991                          (TyVar
13992                             SrcSpanInfo
13993                               { srcInfoSpan =
13994                                   SrcSpan "tests/examples/DerivingVia.hs" 205 35 205 36
13995                               , srcInfoPoints = []
13996                               }
13997                             (Ident
13998                                SrcSpanInfo
13999                                  { srcInfoSpan =
14000                                      SrcSpan "tests/examples/DerivingVia.hs" 205 35 205 36
14001                                  , srcInfoPoints = []
14002                                  }
14003                                "a")))
14004                   ]))
14005             (IHApp
14006                SrcSpanInfo
14007                  { srcInfoSpan =
14008                      SrcSpan "tests/examples/DerivingVia.hs" 205 41 205 71
14009                  , srcInfoPoints = []
14010                  }
14011                (IHCon
14012                   SrcSpanInfo
14013                     { srcInfoSpan =
14014                         SrcSpan "tests/examples/DerivingVia.hs" 205 41 205 49
14015                     , srcInfoPoints = []
14016                     }
14017                   (UnQual
14018                      SrcSpanInfo
14019                        { srcInfoSpan =
14020                            SrcSpan "tests/examples/DerivingVia.hs" 205 41 205 49
14021                        , srcInfoPoints = []
14022                        }
14023                      (Ident
14024                         SrcSpanInfo
14025                           { srcInfoSpan =
14026                               SrcSpan "tests/examples/DerivingVia.hs" 205 41 205 49
14027                           , srcInfoPoints = []
14028                           }
14029                         "Floating")))
14030                (TyParen
14031                   SrcSpanInfo
14032                     { srcInfoSpan =
14033                         SrcSpan "tests/examples/DerivingVia.hs" 205 50 205 71
14034                     , srcInfoPoints =
14035                         [ SrcSpan "tests/examples/DerivingVia.hs" 205 50 205 51
14036                         , SrcSpan "tests/examples/DerivingVia.hs" 205 70 205 71
14037                         ]
14038                     }
14039                   (TyApp
14040                      SrcSpanInfo
14041                        { srcInfoSpan =
14042                            SrcSpan "tests/examples/DerivingVia.hs" 205 51 205 70
14043                        , srcInfoPoints = []
14044                        }
14045                      (TyApp
14046                         SrcSpanInfo
14047                           { srcInfoSpan =
14048                               SrcSpan "tests/examples/DerivingVia.hs" 205 51 205 68
14049                           , srcInfoPoints = []
14050                           }
14051                         (TyCon
14052                            SrcSpanInfo
14053                              { srcInfoSpan =
14054                                  SrcSpan "tests/examples/DerivingVia.hs" 205 51 205 66
14055                              , srcInfoPoints = []
14056                              }
14057                            (UnQual
14058                               SrcSpanInfo
14059                                 { srcInfoSpan =
14060                                     SrcSpan "tests/examples/DerivingVia.hs" 205 51 205 66
14061                                 , srcInfoPoints = []
14062                                 }
14063                               (Ident
14064                                  SrcSpanInfo
14065                                    { srcInfoSpan =
14066                                        SrcSpan "tests/examples/DerivingVia.hs" 205 51 205 66
14067                                    , srcInfoPoints = []
14068                                    }
14069                                  "WrapApplicative")))
14070                         (TyVar
14071                            SrcSpanInfo
14072                              { srcInfoSpan =
14073                                  SrcSpan "tests/examples/DerivingVia.hs" 205 67 205 68
14074                              , srcInfoPoints = []
14075                              }
14076                            (Ident
14077                               SrcSpanInfo
14078                                 { srcInfoSpan =
14079                                     SrcSpan "tests/examples/DerivingVia.hs" 205 67 205 68
14080                                 , srcInfoPoints = []
14081                                 }
14082                               "f")))
14083                      (TyVar
14084                         SrcSpanInfo
14085                           { srcInfoSpan =
14086                               SrcSpan "tests/examples/DerivingVia.hs" 205 69 205 70
14087                           , srcInfoPoints = []
14088                           }
14089                         (Ident
14090                            SrcSpanInfo
14091                              { srcInfoSpan =
14092                                  SrcSpan "tests/examples/DerivingVia.hs" 205 69 205 70
14093                              , srcInfoPoints = []
14094                              }
14095                            "a"))))))
14096          (Just
14097             [ InsDecl
14098                 SrcSpanInfo
14099                   { srcInfoSpan =
14100                       SrcSpan "tests/examples/DerivingVia.hs" 206 3 206 18
14101                   , srcInfoPoints = []
14102                   }
14103                 (PatBind
14104                    SrcSpanInfo
14105                      { srcInfoSpan =
14106                          SrcSpan "tests/examples/DerivingVia.hs" 206 3 206 18
14107                      , srcInfoPoints = []
14108                      }
14109                    (PVar
14110                       SrcSpanInfo
14111                         { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 206 3 206 5
14112                         , srcInfoPoints = []
14113                         }
14114                       (Ident
14115                          SrcSpanInfo
14116                            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 206 3 206 5
14117                            , srcInfoPoints = []
14118                            }
14119                          "pi"))
14120                    (UnGuardedRhs
14121                       SrcSpanInfo
14122                         { srcInfoSpan =
14123                             SrcSpan "tests/examples/DerivingVia.hs" 206 9 206 18
14124                         , srcInfoPoints =
14125                             [ SrcSpan "tests/examples/DerivingVia.hs" 206 9 206 10 ]
14126                         }
14127                       (App
14128                          SrcSpanInfo
14129                            { srcInfoSpan =
14130                                SrcSpan "tests/examples/DerivingVia.hs" 206 11 206 18
14131                            , srcInfoPoints = []
14132                            }
14133                          (Var
14134                             SrcSpanInfo
14135                               { srcInfoSpan =
14136                                   SrcSpan "tests/examples/DerivingVia.hs" 206 11 206 15
14137                               , srcInfoPoints = []
14138                               }
14139                             (UnQual
14140                                SrcSpanInfo
14141                                  { srcInfoSpan =
14142                                      SrcSpan "tests/examples/DerivingVia.hs" 206 11 206 15
14143                                  , srcInfoPoints = []
14144                                  }
14145                                (Ident
14146                                   SrcSpanInfo
14147                                     { srcInfoSpan =
14148                                         SrcSpan "tests/examples/DerivingVia.hs" 206 11 206 15
14149                                     , srcInfoPoints = []
14150                                     }
14151                                   "pure")))
14152                          (Var
14153                             SrcSpanInfo
14154                               { srcInfoSpan =
14155                                   SrcSpan "tests/examples/DerivingVia.hs" 206 16 206 18
14156                               , srcInfoPoints = []
14157                               }
14158                             (UnQual
14159                                SrcSpanInfo
14160                                  { srcInfoSpan =
14161                                      SrcSpan "tests/examples/DerivingVia.hs" 206 16 206 18
14162                                  , srcInfoPoints = []
14163                                  }
14164                                (Ident
14165                                   SrcSpanInfo
14166                                     { srcInfoSpan =
14167                                         SrcSpan "tests/examples/DerivingVia.hs" 206 16 206 18
14168                                     , srcInfoPoints = []
14169                                     }
14170                                   "pi")))))
14171                    Nothing)
14172             , InsDecl
14173                 SrcSpanInfo
14174                   { srcInfoSpan =
14175                       SrcSpan "tests/examples/DerivingVia.hs" 207 3 207 20
14176                   , srcInfoPoints = []
14177                   }
14178                 (PatBind
14179                    SrcSpanInfo
14180                      { srcInfoSpan =
14181                          SrcSpan "tests/examples/DerivingVia.hs" 207 3 207 20
14182                      , srcInfoPoints = []
14183                      }
14184                    (PVar
14185                       SrcSpanInfo
14186                         { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 207 3 207 7
14187                         , srcInfoPoints = []
14188                         }
14189                       (Ident
14190                          SrcSpanInfo
14191                            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 207 3 207 7
14192                            , srcInfoPoints = []
14193                            }
14194                          "sqrt"))
14195                    (UnGuardedRhs
14196                       SrcSpanInfo
14197                         { srcInfoSpan =
14198                             SrcSpan "tests/examples/DerivingVia.hs" 207 9 207 20
14199                         , srcInfoPoints =
14200                             [ SrcSpan "tests/examples/DerivingVia.hs" 207 9 207 10 ]
14201                         }
14202                       (App
14203                          SrcSpanInfo
14204                            { srcInfoSpan =
14205                                SrcSpan "tests/examples/DerivingVia.hs" 207 11 207 20
14206                            , srcInfoPoints = []
14207                            }
14208                          (Var
14209                             SrcSpanInfo
14210                               { srcInfoSpan =
14211                                   SrcSpan "tests/examples/DerivingVia.hs" 207 11 207 15
14212                               , srcInfoPoints = []
14213                               }
14214                             (UnQual
14215                                SrcSpanInfo
14216                                  { srcInfoSpan =
14217                                      SrcSpan "tests/examples/DerivingVia.hs" 207 11 207 15
14218                                  , srcInfoPoints = []
14219                                  }
14220                                (Ident
14221                                   SrcSpanInfo
14222                                     { srcInfoSpan =
14223                                         SrcSpan "tests/examples/DerivingVia.hs" 207 11 207 15
14224                                     , srcInfoPoints = []
14225                                     }
14226                                   "fmap")))
14227                          (Var
14228                             SrcSpanInfo
14229                               { srcInfoSpan =
14230                                   SrcSpan "tests/examples/DerivingVia.hs" 207 16 207 20
14231                               , srcInfoPoints = []
14232                               }
14233                             (UnQual
14234                                SrcSpanInfo
14235                                  { srcInfoSpan =
14236                                      SrcSpan "tests/examples/DerivingVia.hs" 207 16 207 20
14237                                  , srcInfoPoints = []
14238                                  }
14239                                (Ident
14240                                   SrcSpanInfo
14241                                     { srcInfoSpan =
14242                                         SrcSpan "tests/examples/DerivingVia.hs" 207 16 207 20
14243                                     , srcInfoPoints = []
14244                                     }
14245                                   "sqrt")))))
14246                    Nothing)
14247             , InsDecl
14248                 SrcSpanInfo
14249                   { srcInfoSpan =
14250                       SrcSpan "tests/examples/DerivingVia.hs" 208 3 208 19
14251                   , srcInfoPoints = []
14252                   }
14253                 (PatBind
14254                    SrcSpanInfo
14255                      { srcInfoSpan =
14256                          SrcSpan "tests/examples/DerivingVia.hs" 208 3 208 19
14257                      , srcInfoPoints = []
14258                      }
14259                    (PVar
14260                       SrcSpanInfo
14261                         { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 208 3 208 6
14262                         , srcInfoPoints = []
14263                         }
14264                       (Ident
14265                          SrcSpanInfo
14266                            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 208 3 208 6
14267                            , srcInfoPoints = []
14268                            }
14269                          "exp"))
14270                    (UnGuardedRhs
14271                       SrcSpanInfo
14272                         { srcInfoSpan =
14273                             SrcSpan "tests/examples/DerivingVia.hs" 208 9 208 19
14274                         , srcInfoPoints =
14275                             [ SrcSpan "tests/examples/DerivingVia.hs" 208 9 208 10 ]
14276                         }
14277                       (App
14278                          SrcSpanInfo
14279                            { srcInfoSpan =
14280                                SrcSpan "tests/examples/DerivingVia.hs" 208 11 208 19
14281                            , srcInfoPoints = []
14282                            }
14283                          (Var
14284                             SrcSpanInfo
14285                               { srcInfoSpan =
14286                                   SrcSpan "tests/examples/DerivingVia.hs" 208 11 208 15
14287                               , srcInfoPoints = []
14288                               }
14289                             (UnQual
14290                                SrcSpanInfo
14291                                  { srcInfoSpan =
14292                                      SrcSpan "tests/examples/DerivingVia.hs" 208 11 208 15
14293                                  , srcInfoPoints = []
14294                                  }
14295                                (Ident
14296                                   SrcSpanInfo
14297                                     { srcInfoSpan =
14298                                         SrcSpan "tests/examples/DerivingVia.hs" 208 11 208 15
14299                                     , srcInfoPoints = []
14300                                     }
14301                                   "fmap")))
14302                          (Var
14303                             SrcSpanInfo
14304                               { srcInfoSpan =
14305                                   SrcSpan "tests/examples/DerivingVia.hs" 208 16 208 19
14306                               , srcInfoPoints = []
14307                               }
14308                             (UnQual
14309                                SrcSpanInfo
14310                                  { srcInfoSpan =
14311                                      SrcSpan "tests/examples/DerivingVia.hs" 208 16 208 19
14312                                  , srcInfoPoints = []
14313                                  }
14314                                (Ident
14315                                   SrcSpanInfo
14316                                     { srcInfoSpan =
14317                                         SrcSpan "tests/examples/DerivingVia.hs" 208 16 208 19
14318                                     , srcInfoPoints = []
14319                                     }
14320                                   "exp")))))
14321                    Nothing)
14322             , InsDecl
14323                 SrcSpanInfo
14324                   { srcInfoSpan =
14325                       SrcSpan "tests/examples/DerivingVia.hs" 209 3 209 19
14326                   , srcInfoPoints = []
14327                   }
14328                 (PatBind
14329                    SrcSpanInfo
14330                      { srcInfoSpan =
14331                          SrcSpan "tests/examples/DerivingVia.hs" 209 3 209 19
14332                      , srcInfoPoints = []
14333                      }
14334                    (PVar
14335                       SrcSpanInfo
14336                         { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 209 3 209 6
14337                         , srcInfoPoints = []
14338                         }
14339                       (Ident
14340                          SrcSpanInfo
14341                            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 209 3 209 6
14342                            , srcInfoPoints = []
14343                            }
14344                          "log"))
14345                    (UnGuardedRhs
14346                       SrcSpanInfo
14347                         { srcInfoSpan =
14348                             SrcSpan "tests/examples/DerivingVia.hs" 209 9 209 19
14349                         , srcInfoPoints =
14350                             [ SrcSpan "tests/examples/DerivingVia.hs" 209 9 209 10 ]
14351                         }
14352                       (App
14353                          SrcSpanInfo
14354                            { srcInfoSpan =
14355                                SrcSpan "tests/examples/DerivingVia.hs" 209 11 209 19
14356                            , srcInfoPoints = []
14357                            }
14358                          (Var
14359                             SrcSpanInfo
14360                               { srcInfoSpan =
14361                                   SrcSpan "tests/examples/DerivingVia.hs" 209 11 209 15
14362                               , srcInfoPoints = []
14363                               }
14364                             (UnQual
14365                                SrcSpanInfo
14366                                  { srcInfoSpan =
14367                                      SrcSpan "tests/examples/DerivingVia.hs" 209 11 209 15
14368                                  , srcInfoPoints = []
14369                                  }
14370                                (Ident
14371                                   SrcSpanInfo
14372                                     { srcInfoSpan =
14373                                         SrcSpan "tests/examples/DerivingVia.hs" 209 11 209 15
14374                                     , srcInfoPoints = []
14375                                     }
14376                                   "fmap")))
14377                          (Var
14378                             SrcSpanInfo
14379                               { srcInfoSpan =
14380                                   SrcSpan "tests/examples/DerivingVia.hs" 209 16 209 19
14381                               , srcInfoPoints = []
14382                               }
14383                             (UnQual
14384                                SrcSpanInfo
14385                                  { srcInfoSpan =
14386                                      SrcSpan "tests/examples/DerivingVia.hs" 209 16 209 19
14387                                  , srcInfoPoints = []
14388                                  }
14389                                (Ident
14390                                   SrcSpanInfo
14391                                     { srcInfoSpan =
14392                                         SrcSpan "tests/examples/DerivingVia.hs" 209 16 209 19
14393                                     , srcInfoPoints = []
14394                                     }
14395                                   "log")))))
14396                    Nothing)
14397             , InsDecl
14398                 SrcSpanInfo
14399                   { srcInfoSpan =
14400                       SrcSpan "tests/examples/DerivingVia.hs" 210 3 210 19
14401                   , srcInfoPoints = []
14402                   }
14403                 (PatBind
14404                    SrcSpanInfo
14405                      { srcInfoSpan =
14406                          SrcSpan "tests/examples/DerivingVia.hs" 210 3 210 19
14407                      , srcInfoPoints = []
14408                      }
14409                    (PVar
14410                       SrcSpanInfo
14411                         { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 210 3 210 6
14412                         , srcInfoPoints = []
14413                         }
14414                       (Ident
14415                          SrcSpanInfo
14416                            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 210 3 210 6
14417                            , srcInfoPoints = []
14418                            }
14419                          "sin"))
14420                    (UnGuardedRhs
14421                       SrcSpanInfo
14422                         { srcInfoSpan =
14423                             SrcSpan "tests/examples/DerivingVia.hs" 210 9 210 19
14424                         , srcInfoPoints =
14425                             [ SrcSpan "tests/examples/DerivingVia.hs" 210 9 210 10 ]
14426                         }
14427                       (App
14428                          SrcSpanInfo
14429                            { srcInfoSpan =
14430                                SrcSpan "tests/examples/DerivingVia.hs" 210 11 210 19
14431                            , srcInfoPoints = []
14432                            }
14433                          (Var
14434                             SrcSpanInfo
14435                               { srcInfoSpan =
14436                                   SrcSpan "tests/examples/DerivingVia.hs" 210 11 210 15
14437                               , srcInfoPoints = []
14438                               }
14439                             (UnQual
14440                                SrcSpanInfo
14441                                  { srcInfoSpan =
14442                                      SrcSpan "tests/examples/DerivingVia.hs" 210 11 210 15
14443                                  , srcInfoPoints = []
14444                                  }
14445                                (Ident
14446                                   SrcSpanInfo
14447                                     { srcInfoSpan =
14448                                         SrcSpan "tests/examples/DerivingVia.hs" 210 11 210 15
14449                                     , srcInfoPoints = []
14450                                     }
14451                                   "fmap")))
14452                          (Var
14453                             SrcSpanInfo
14454                               { srcInfoSpan =
14455                                   SrcSpan "tests/examples/DerivingVia.hs" 210 16 210 19
14456                               , srcInfoPoints = []
14457                               }
14458                             (UnQual
14459                                SrcSpanInfo
14460                                  { srcInfoSpan =
14461                                      SrcSpan "tests/examples/DerivingVia.hs" 210 16 210 19
14462                                  , srcInfoPoints = []
14463                                  }
14464                                (Ident
14465                                   SrcSpanInfo
14466                                     { srcInfoSpan =
14467                                         SrcSpan "tests/examples/DerivingVia.hs" 210 16 210 19
14468                                     , srcInfoPoints = []
14469                                     }
14470                                   "sin")))))
14471                    Nothing)
14472             , InsDecl
14473                 SrcSpanInfo
14474                   { srcInfoSpan =
14475                       SrcSpan "tests/examples/DerivingVia.hs" 211 3 211 19
14476                   , srcInfoPoints = []
14477                   }
14478                 (PatBind
14479                    SrcSpanInfo
14480                      { srcInfoSpan =
14481                          SrcSpan "tests/examples/DerivingVia.hs" 211 3 211 19
14482                      , srcInfoPoints = []
14483                      }
14484                    (PVar
14485                       SrcSpanInfo
14486                         { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 211 3 211 6
14487                         , srcInfoPoints = []
14488                         }
14489                       (Ident
14490                          SrcSpanInfo
14491                            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 211 3 211 6
14492                            , srcInfoPoints = []
14493                            }
14494                          "cos"))
14495                    (UnGuardedRhs
14496                       SrcSpanInfo
14497                         { srcInfoSpan =
14498                             SrcSpan "tests/examples/DerivingVia.hs" 211 9 211 19
14499                         , srcInfoPoints =
14500                             [ SrcSpan "tests/examples/DerivingVia.hs" 211 9 211 10 ]
14501                         }
14502                       (App
14503                          SrcSpanInfo
14504                            { srcInfoSpan =
14505                                SrcSpan "tests/examples/DerivingVia.hs" 211 11 211 19
14506                            , srcInfoPoints = []
14507                            }
14508                          (Var
14509                             SrcSpanInfo
14510                               { srcInfoSpan =
14511                                   SrcSpan "tests/examples/DerivingVia.hs" 211 11 211 15
14512                               , srcInfoPoints = []
14513                               }
14514                             (UnQual
14515                                SrcSpanInfo
14516                                  { srcInfoSpan =
14517                                      SrcSpan "tests/examples/DerivingVia.hs" 211 11 211 15
14518                                  , srcInfoPoints = []
14519                                  }
14520                                (Ident
14521                                   SrcSpanInfo
14522                                     { srcInfoSpan =
14523                                         SrcSpan "tests/examples/DerivingVia.hs" 211 11 211 15
14524                                     , srcInfoPoints = []
14525                                     }
14526                                   "fmap")))
14527                          (Var
14528                             SrcSpanInfo
14529                               { srcInfoSpan =
14530                                   SrcSpan "tests/examples/DerivingVia.hs" 211 16 211 19
14531                               , srcInfoPoints = []
14532                               }
14533                             (UnQual
14534                                SrcSpanInfo
14535                                  { srcInfoSpan =
14536                                      SrcSpan "tests/examples/DerivingVia.hs" 211 16 211 19
14537                                  , srcInfoPoints = []
14538                                  }
14539                                (Ident
14540                                   SrcSpanInfo
14541                                     { srcInfoSpan =
14542                                         SrcSpan "tests/examples/DerivingVia.hs" 211 16 211 19
14543                                     , srcInfoPoints = []
14544                                     }
14545                                   "cos")))))
14546                    Nothing)
14547             , InsDecl
14548                 SrcSpanInfo
14549                   { srcInfoSpan =
14550                       SrcSpan "tests/examples/DerivingVia.hs" 212 3 212 20
14551                   , srcInfoPoints = []
14552                   }
14553                 (PatBind
14554                    SrcSpanInfo
14555                      { srcInfoSpan =
14556                          SrcSpan "tests/examples/DerivingVia.hs" 212 3 212 20
14557                      , srcInfoPoints = []
14558                      }
14559                    (PVar
14560                       SrcSpanInfo
14561                         { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 212 3 212 7
14562                         , srcInfoPoints = []
14563                         }
14564                       (Ident
14565                          SrcSpanInfo
14566                            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 212 3 212 7
14567                            , srcInfoPoints = []
14568                            }
14569                          "asin"))
14570                    (UnGuardedRhs
14571                       SrcSpanInfo
14572                         { srcInfoSpan =
14573                             SrcSpan "tests/examples/DerivingVia.hs" 212 9 212 20
14574                         , srcInfoPoints =
14575                             [ SrcSpan "tests/examples/DerivingVia.hs" 212 9 212 10 ]
14576                         }
14577                       (App
14578                          SrcSpanInfo
14579                            { srcInfoSpan =
14580                                SrcSpan "tests/examples/DerivingVia.hs" 212 11 212 20
14581                            , srcInfoPoints = []
14582                            }
14583                          (Var
14584                             SrcSpanInfo
14585                               { srcInfoSpan =
14586                                   SrcSpan "tests/examples/DerivingVia.hs" 212 11 212 15
14587                               , srcInfoPoints = []
14588                               }
14589                             (UnQual
14590                                SrcSpanInfo
14591                                  { srcInfoSpan =
14592                                      SrcSpan "tests/examples/DerivingVia.hs" 212 11 212 15
14593                                  , srcInfoPoints = []
14594                                  }
14595                                (Ident
14596                                   SrcSpanInfo
14597                                     { srcInfoSpan =
14598                                         SrcSpan "tests/examples/DerivingVia.hs" 212 11 212 15
14599                                     , srcInfoPoints = []
14600                                     }
14601                                   "fmap")))
14602                          (Var
14603                             SrcSpanInfo
14604                               { srcInfoSpan =
14605                                   SrcSpan "tests/examples/DerivingVia.hs" 212 16 212 20
14606                               , srcInfoPoints = []
14607                               }
14608                             (UnQual
14609                                SrcSpanInfo
14610                                  { srcInfoSpan =
14611                                      SrcSpan "tests/examples/DerivingVia.hs" 212 16 212 20
14612                                  , srcInfoPoints = []
14613                                  }
14614                                (Ident
14615                                   SrcSpanInfo
14616                                     { srcInfoSpan =
14617                                         SrcSpan "tests/examples/DerivingVia.hs" 212 16 212 20
14618                                     , srcInfoPoints = []
14619                                     }
14620                                   "asin")))))
14621                    Nothing)
14622             , InsDecl
14623                 SrcSpanInfo
14624                   { srcInfoSpan =
14625                       SrcSpan "tests/examples/DerivingVia.hs" 213 3 213 20
14626                   , srcInfoPoints = []
14627                   }
14628                 (PatBind
14629                    SrcSpanInfo
14630                      { srcInfoSpan =
14631                          SrcSpan "tests/examples/DerivingVia.hs" 213 3 213 20
14632                      , srcInfoPoints = []
14633                      }
14634                    (PVar
14635                       SrcSpanInfo
14636                         { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 213 3 213 7
14637                         , srcInfoPoints = []
14638                         }
14639                       (Ident
14640                          SrcSpanInfo
14641                            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 213 3 213 7
14642                            , srcInfoPoints = []
14643                            }
14644                          "atan"))
14645                    (UnGuardedRhs
14646                       SrcSpanInfo
14647                         { srcInfoSpan =
14648                             SrcSpan "tests/examples/DerivingVia.hs" 213 9 213 20
14649                         , srcInfoPoints =
14650                             [ SrcSpan "tests/examples/DerivingVia.hs" 213 9 213 10 ]
14651                         }
14652                       (App
14653                          SrcSpanInfo
14654                            { srcInfoSpan =
14655                                SrcSpan "tests/examples/DerivingVia.hs" 213 11 213 20
14656                            , srcInfoPoints = []
14657                            }
14658                          (Var
14659                             SrcSpanInfo
14660                               { srcInfoSpan =
14661                                   SrcSpan "tests/examples/DerivingVia.hs" 213 11 213 15
14662                               , srcInfoPoints = []
14663                               }
14664                             (UnQual
14665                                SrcSpanInfo
14666                                  { srcInfoSpan =
14667                                      SrcSpan "tests/examples/DerivingVia.hs" 213 11 213 15
14668                                  , srcInfoPoints = []
14669                                  }
14670                                (Ident
14671                                   SrcSpanInfo
14672                                     { srcInfoSpan =
14673                                         SrcSpan "tests/examples/DerivingVia.hs" 213 11 213 15
14674                                     , srcInfoPoints = []
14675                                     }
14676                                   "fmap")))
14677                          (Var
14678                             SrcSpanInfo
14679                               { srcInfoSpan =
14680                                   SrcSpan "tests/examples/DerivingVia.hs" 213 16 213 20
14681                               , srcInfoPoints = []
14682                               }
14683                             (UnQual
14684                                SrcSpanInfo
14685                                  { srcInfoSpan =
14686                                      SrcSpan "tests/examples/DerivingVia.hs" 213 16 213 20
14687                                  , srcInfoPoints = []
14688                                  }
14689                                (Ident
14690                                   SrcSpanInfo
14691                                     { srcInfoSpan =
14692                                         SrcSpan "tests/examples/DerivingVia.hs" 213 16 213 20
14693                                     , srcInfoPoints = []
14694                                     }
14695                                   "atan")))))
14696                    Nothing)
14697             , InsDecl
14698                 SrcSpanInfo
14699                   { srcInfoSpan =
14700                       SrcSpan "tests/examples/DerivingVia.hs" 214 3 214 20
14701                   , srcInfoPoints = []
14702                   }
14703                 (PatBind
14704                    SrcSpanInfo
14705                      { srcInfoSpan =
14706                          SrcSpan "tests/examples/DerivingVia.hs" 214 3 214 20
14707                      , srcInfoPoints = []
14708                      }
14709                    (PVar
14710                       SrcSpanInfo
14711                         { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 214 3 214 7
14712                         , srcInfoPoints = []
14713                         }
14714                       (Ident
14715                          SrcSpanInfo
14716                            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 214 3 214 7
14717                            , srcInfoPoints = []
14718                            }
14719                          "acos"))
14720                    (UnGuardedRhs
14721                       SrcSpanInfo
14722                         { srcInfoSpan =
14723                             SrcSpan "tests/examples/DerivingVia.hs" 214 9 214 20
14724                         , srcInfoPoints =
14725                             [ SrcSpan "tests/examples/DerivingVia.hs" 214 9 214 10 ]
14726                         }
14727                       (App
14728                          SrcSpanInfo
14729                            { srcInfoSpan =
14730                                SrcSpan "tests/examples/DerivingVia.hs" 214 11 214 20
14731                            , srcInfoPoints = []
14732                            }
14733                          (Var
14734                             SrcSpanInfo
14735                               { srcInfoSpan =
14736                                   SrcSpan "tests/examples/DerivingVia.hs" 214 11 214 15
14737                               , srcInfoPoints = []
14738                               }
14739                             (UnQual
14740                                SrcSpanInfo
14741                                  { srcInfoSpan =
14742                                      SrcSpan "tests/examples/DerivingVia.hs" 214 11 214 15
14743                                  , srcInfoPoints = []
14744                                  }
14745                                (Ident
14746                                   SrcSpanInfo
14747                                     { srcInfoSpan =
14748                                         SrcSpan "tests/examples/DerivingVia.hs" 214 11 214 15
14749                                     , srcInfoPoints = []
14750                                     }
14751                                   "fmap")))
14752                          (Var
14753                             SrcSpanInfo
14754                               { srcInfoSpan =
14755                                   SrcSpan "tests/examples/DerivingVia.hs" 214 16 214 20
14756                               , srcInfoPoints = []
14757                               }
14758                             (UnQual
14759                                SrcSpanInfo
14760                                  { srcInfoSpan =
14761                                      SrcSpan "tests/examples/DerivingVia.hs" 214 16 214 20
14762                                  , srcInfoPoints = []
14763                                  }
14764                                (Ident
14765                                   SrcSpanInfo
14766                                     { srcInfoSpan =
14767                                         SrcSpan "tests/examples/DerivingVia.hs" 214 16 214 20
14768                                     , srcInfoPoints = []
14769                                     }
14770                                   "acos")))))
14771                    Nothing)
14772             , InsDecl
14773                 SrcSpanInfo
14774                   { srcInfoSpan =
14775                       SrcSpan "tests/examples/DerivingVia.hs" 215 3 215 20
14776                   , srcInfoPoints = []
14777                   }
14778                 (PatBind
14779                    SrcSpanInfo
14780                      { srcInfoSpan =
14781                          SrcSpan "tests/examples/DerivingVia.hs" 215 3 215 20
14782                      , srcInfoPoints = []
14783                      }
14784                    (PVar
14785                       SrcSpanInfo
14786                         { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 215 3 215 7
14787                         , srcInfoPoints = []
14788                         }
14789                       (Ident
14790                          SrcSpanInfo
14791                            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 215 3 215 7
14792                            , srcInfoPoints = []
14793                            }
14794                          "sinh"))
14795                    (UnGuardedRhs
14796                       SrcSpanInfo
14797                         { srcInfoSpan =
14798                             SrcSpan "tests/examples/DerivingVia.hs" 215 9 215 20
14799                         , srcInfoPoints =
14800                             [ SrcSpan "tests/examples/DerivingVia.hs" 215 9 215 10 ]
14801                         }
14802                       (App
14803                          SrcSpanInfo
14804                            { srcInfoSpan =
14805                                SrcSpan "tests/examples/DerivingVia.hs" 215 11 215 20
14806                            , srcInfoPoints = []
14807                            }
14808                          (Var
14809                             SrcSpanInfo
14810                               { srcInfoSpan =
14811                                   SrcSpan "tests/examples/DerivingVia.hs" 215 11 215 15
14812                               , srcInfoPoints = []
14813                               }
14814                             (UnQual
14815                                SrcSpanInfo
14816                                  { srcInfoSpan =
14817                                      SrcSpan "tests/examples/DerivingVia.hs" 215 11 215 15
14818                                  , srcInfoPoints = []
14819                                  }
14820                                (Ident
14821                                   SrcSpanInfo
14822                                     { srcInfoSpan =
14823                                         SrcSpan "tests/examples/DerivingVia.hs" 215 11 215 15
14824                                     , srcInfoPoints = []
14825                                     }
14826                                   "fmap")))
14827                          (Var
14828                             SrcSpanInfo
14829                               { srcInfoSpan =
14830                                   SrcSpan "tests/examples/DerivingVia.hs" 215 16 215 20
14831                               , srcInfoPoints = []
14832                               }
14833                             (UnQual
14834                                SrcSpanInfo
14835                                  { srcInfoSpan =
14836                                      SrcSpan "tests/examples/DerivingVia.hs" 215 16 215 20
14837                                  , srcInfoPoints = []
14838                                  }
14839                                (Ident
14840                                   SrcSpanInfo
14841                                     { srcInfoSpan =
14842                                         SrcSpan "tests/examples/DerivingVia.hs" 215 16 215 20
14843                                     , srcInfoPoints = []
14844                                     }
14845                                   "sinh")))))
14846                    Nothing)
14847             , InsDecl
14848                 SrcSpanInfo
14849                   { srcInfoSpan =
14850                       SrcSpan "tests/examples/DerivingVia.hs" 216 3 216 20
14851                   , srcInfoPoints = []
14852                   }
14853                 (PatBind
14854                    SrcSpanInfo
14855                      { srcInfoSpan =
14856                          SrcSpan "tests/examples/DerivingVia.hs" 216 3 216 20
14857                      , srcInfoPoints = []
14858                      }
14859                    (PVar
14860                       SrcSpanInfo
14861                         { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 216 3 216 7
14862                         , srcInfoPoints = []
14863                         }
14864                       (Ident
14865                          SrcSpanInfo
14866                            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 216 3 216 7
14867                            , srcInfoPoints = []
14868                            }
14869                          "cosh"))
14870                    (UnGuardedRhs
14871                       SrcSpanInfo
14872                         { srcInfoSpan =
14873                             SrcSpan "tests/examples/DerivingVia.hs" 216 9 216 20
14874                         , srcInfoPoints =
14875                             [ SrcSpan "tests/examples/DerivingVia.hs" 216 9 216 10 ]
14876                         }
14877                       (App
14878                          SrcSpanInfo
14879                            { srcInfoSpan =
14880                                SrcSpan "tests/examples/DerivingVia.hs" 216 11 216 20
14881                            , srcInfoPoints = []
14882                            }
14883                          (Var
14884                             SrcSpanInfo
14885                               { srcInfoSpan =
14886                                   SrcSpan "tests/examples/DerivingVia.hs" 216 11 216 15
14887                               , srcInfoPoints = []
14888                               }
14889                             (UnQual
14890                                SrcSpanInfo
14891                                  { srcInfoSpan =
14892                                      SrcSpan "tests/examples/DerivingVia.hs" 216 11 216 15
14893                                  , srcInfoPoints = []
14894                                  }
14895                                (Ident
14896                                   SrcSpanInfo
14897                                     { srcInfoSpan =
14898                                         SrcSpan "tests/examples/DerivingVia.hs" 216 11 216 15
14899                                     , srcInfoPoints = []
14900                                     }
14901                                   "fmap")))
14902                          (Var
14903                             SrcSpanInfo
14904                               { srcInfoSpan =
14905                                   SrcSpan "tests/examples/DerivingVia.hs" 216 16 216 20
14906                               , srcInfoPoints = []
14907                               }
14908                             (UnQual
14909                                SrcSpanInfo
14910                                  { srcInfoSpan =
14911                                      SrcSpan "tests/examples/DerivingVia.hs" 216 16 216 20
14912                                  , srcInfoPoints = []
14913                                  }
14914                                (Ident
14915                                   SrcSpanInfo
14916                                     { srcInfoSpan =
14917                                         SrcSpan "tests/examples/DerivingVia.hs" 216 16 216 20
14918                                     , srcInfoPoints = []
14919                                     }
14920                                   "cosh")))))
14921                    Nothing)
14922             , InsDecl
14923                 SrcSpanInfo
14924                   { srcInfoSpan =
14925                       SrcSpan "tests/examples/DerivingVia.hs" 217 3 217 21
14926                   , srcInfoPoints = []
14927                   }
14928                 (PatBind
14929                    SrcSpanInfo
14930                      { srcInfoSpan =
14931                          SrcSpan "tests/examples/DerivingVia.hs" 217 3 217 21
14932                      , srcInfoPoints = []
14933                      }
14934                    (PVar
14935                       SrcSpanInfo
14936                         { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 217 3 217 8
14937                         , srcInfoPoints = []
14938                         }
14939                       (Ident
14940                          SrcSpanInfo
14941                            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 217 3 217 8
14942                            , srcInfoPoints = []
14943                            }
14944                          "asinh"))
14945                    (UnGuardedRhs
14946                       SrcSpanInfo
14947                         { srcInfoSpan =
14948                             SrcSpan "tests/examples/DerivingVia.hs" 217 9 217 21
14949                         , srcInfoPoints =
14950                             [ SrcSpan "tests/examples/DerivingVia.hs" 217 9 217 10 ]
14951                         }
14952                       (App
14953                          SrcSpanInfo
14954                            { srcInfoSpan =
14955                                SrcSpan "tests/examples/DerivingVia.hs" 217 11 217 21
14956                            , srcInfoPoints = []
14957                            }
14958                          (Var
14959                             SrcSpanInfo
14960                               { srcInfoSpan =
14961                                   SrcSpan "tests/examples/DerivingVia.hs" 217 11 217 15
14962                               , srcInfoPoints = []
14963                               }
14964                             (UnQual
14965                                SrcSpanInfo
14966                                  { srcInfoSpan =
14967                                      SrcSpan "tests/examples/DerivingVia.hs" 217 11 217 15
14968                                  , srcInfoPoints = []
14969                                  }
14970                                (Ident
14971                                   SrcSpanInfo
14972                                     { srcInfoSpan =
14973                                         SrcSpan "tests/examples/DerivingVia.hs" 217 11 217 15
14974                                     , srcInfoPoints = []
14975                                     }
14976                                   "fmap")))
14977                          (Var
14978                             SrcSpanInfo
14979                               { srcInfoSpan =
14980                                   SrcSpan "tests/examples/DerivingVia.hs" 217 16 217 21
14981                               , srcInfoPoints = []
14982                               }
14983                             (UnQual
14984                                SrcSpanInfo
14985                                  { srcInfoSpan =
14986                                      SrcSpan "tests/examples/DerivingVia.hs" 217 16 217 21
14987                                  , srcInfoPoints = []
14988                                  }
14989                                (Ident
14990                                   SrcSpanInfo
14991                                     { srcInfoSpan =
14992                                         SrcSpan "tests/examples/DerivingVia.hs" 217 16 217 21
14993                                     , srcInfoPoints = []
14994                                     }
14995                                   "asinh")))))
14996                    Nothing)
14997             , InsDecl
14998                 SrcSpanInfo
14999                   { srcInfoSpan =
15000                       SrcSpan "tests/examples/DerivingVia.hs" 218 3 218 21
15001                   , srcInfoPoints = []
15002                   }
15003                 (PatBind
15004                    SrcSpanInfo
15005                      { srcInfoSpan =
15006                          SrcSpan "tests/examples/DerivingVia.hs" 218 3 218 21
15007                      , srcInfoPoints = []
15008                      }
15009                    (PVar
15010                       SrcSpanInfo
15011                         { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 218 3 218 8
15012                         , srcInfoPoints = []
15013                         }
15014                       (Ident
15015                          SrcSpanInfo
15016                            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 218 3 218 8
15017                            , srcInfoPoints = []
15018                            }
15019                          "atanh"))
15020                    (UnGuardedRhs
15021                       SrcSpanInfo
15022                         { srcInfoSpan =
15023                             SrcSpan "tests/examples/DerivingVia.hs" 218 9 218 21
15024                         , srcInfoPoints =
15025                             [ SrcSpan "tests/examples/DerivingVia.hs" 218 9 218 10 ]
15026                         }
15027                       (App
15028                          SrcSpanInfo
15029                            { srcInfoSpan =
15030                                SrcSpan "tests/examples/DerivingVia.hs" 218 11 218 21
15031                            , srcInfoPoints = []
15032                            }
15033                          (Var
15034                             SrcSpanInfo
15035                               { srcInfoSpan =
15036                                   SrcSpan "tests/examples/DerivingVia.hs" 218 11 218 15
15037                               , srcInfoPoints = []
15038                               }
15039                             (UnQual
15040                                SrcSpanInfo
15041                                  { srcInfoSpan =
15042                                      SrcSpan "tests/examples/DerivingVia.hs" 218 11 218 15
15043                                  , srcInfoPoints = []
15044                                  }
15045                                (Ident
15046                                   SrcSpanInfo
15047                                     { srcInfoSpan =
15048                                         SrcSpan "tests/examples/DerivingVia.hs" 218 11 218 15
15049                                     , srcInfoPoints = []
15050                                     }
15051                                   "fmap")))
15052                          (Var
15053                             SrcSpanInfo
15054                               { srcInfoSpan =
15055                                   SrcSpan "tests/examples/DerivingVia.hs" 218 16 218 21
15056                               , srcInfoPoints = []
15057                               }
15058                             (UnQual
15059                                SrcSpanInfo
15060                                  { srcInfoSpan =
15061                                      SrcSpan "tests/examples/DerivingVia.hs" 218 16 218 21
15062                                  , srcInfoPoints = []
15063                                  }
15064                                (Ident
15065                                   SrcSpanInfo
15066                                     { srcInfoSpan =
15067                                         SrcSpan "tests/examples/DerivingVia.hs" 218 16 218 21
15068                                     , srcInfoPoints = []
15069                                     }
15070                                   "atanh")))))
15071                    Nothing)
15072             , InsDecl
15073                 SrcSpanInfo
15074                   { srcInfoSpan =
15075                       SrcSpan "tests/examples/DerivingVia.hs" 219 3 219 21
15076                   , srcInfoPoints = []
15077                   }
15078                 (PatBind
15079                    SrcSpanInfo
15080                      { srcInfoSpan =
15081                          SrcSpan "tests/examples/DerivingVia.hs" 219 3 219 21
15082                      , srcInfoPoints = []
15083                      }
15084                    (PVar
15085                       SrcSpanInfo
15086                         { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 219 3 219 8
15087                         , srcInfoPoints = []
15088                         }
15089                       (Ident
15090                          SrcSpanInfo
15091                            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 219 3 219 8
15092                            , srcInfoPoints = []
15093                            }
15094                          "acosh"))
15095                    (UnGuardedRhs
15096                       SrcSpanInfo
15097                         { srcInfoSpan =
15098                             SrcSpan "tests/examples/DerivingVia.hs" 219 9 219 21
15099                         , srcInfoPoints =
15100                             [ SrcSpan "tests/examples/DerivingVia.hs" 219 9 219 10 ]
15101                         }
15102                       (App
15103                          SrcSpanInfo
15104                            { srcInfoSpan =
15105                                SrcSpan "tests/examples/DerivingVia.hs" 219 11 219 21
15106                            , srcInfoPoints = []
15107                            }
15108                          (Var
15109                             SrcSpanInfo
15110                               { srcInfoSpan =
15111                                   SrcSpan "tests/examples/DerivingVia.hs" 219 11 219 15
15112                               , srcInfoPoints = []
15113                               }
15114                             (UnQual
15115                                SrcSpanInfo
15116                                  { srcInfoSpan =
15117                                      SrcSpan "tests/examples/DerivingVia.hs" 219 11 219 15
15118                                  , srcInfoPoints = []
15119                                  }
15120                                (Ident
15121                                   SrcSpanInfo
15122                                     { srcInfoSpan =
15123                                         SrcSpan "tests/examples/DerivingVia.hs" 219 11 219 15
15124                                     , srcInfoPoints = []
15125                                     }
15126                                   "fmap")))
15127                          (Var
15128                             SrcSpanInfo
15129                               { srcInfoSpan =
15130                                   SrcSpan "tests/examples/DerivingVia.hs" 219 16 219 21
15131                               , srcInfoPoints = []
15132                               }
15133                             (UnQual
15134                                SrcSpanInfo
15135                                  { srcInfoSpan =
15136                                      SrcSpan "tests/examples/DerivingVia.hs" 219 16 219 21
15137                                  , srcInfoPoints = []
15138                                  }
15139                                (Ident
15140                                   SrcSpanInfo
15141                                     { srcInfoSpan =
15142                                         SrcSpan "tests/examples/DerivingVia.hs" 219 16 219 21
15143                                     , srcInfoPoints = []
15144                                     }
15145                                   "acosh")))))
15146                    Nothing)
15147             ])
15148      , InstDecl
15149          SrcSpanInfo
15150            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 221 1 224 0
15151            , srcInfoPoints =
15152                [ SrcSpan "tests/examples/DerivingVia.hs" 221 1 221 9
15153                , SrcSpan "tests/examples/DerivingVia.hs" 221 74 221 79
15154                , SrcSpan "tests/examples/DerivingVia.hs" 222 3 222 3
15155                , SrcSpan "tests/examples/DerivingVia.hs" 224 1 224 0
15156                ]
15157            }
15158          Nothing
15159          (IRule
15160             SrcSpanInfo
15161               { srcInfoSpan =
15162                   SrcSpan "tests/examples/DerivingVia.hs" 221 10 221 73
15163               , srcInfoPoints = []
15164               }
15165             Nothing
15166             (Just
15167                (CxTuple
15168                   SrcSpanInfo
15169                     { srcInfoSpan =
15170                         SrcSpan "tests/examples/DerivingVia.hs" 221 10 221 41
15171                     , srcInfoPoints =
15172                         [ SrcSpan "tests/examples/DerivingVia.hs" 221 10 221 11
15173                         , SrcSpan "tests/examples/DerivingVia.hs" 221 24 221 25
15174                         , SrcSpan "tests/examples/DerivingVia.hs" 221 37 221 38
15175                         , SrcSpan "tests/examples/DerivingVia.hs" 221 39 221 41
15176                         ]
15177                     }
15178                   [ TypeA
15179                       SrcSpanInfo
15180                         { srcInfoSpan =
15181                             SrcSpan "tests/examples/DerivingVia.hs" 221 11 221 24
15182                         , srcInfoPoints = []
15183                         }
15184                       (TyApp
15185                          SrcSpanInfo
15186                            { srcInfoSpan =
15187                                SrcSpan "tests/examples/DerivingVia.hs" 221 11 221 24
15188                            , srcInfoPoints = []
15189                            }
15190                          (TyCon
15191                             SrcSpanInfo
15192                               { srcInfoSpan =
15193                                   SrcSpan "tests/examples/DerivingVia.hs" 221 11 221 24
15194                               , srcInfoPoints = []
15195                               }
15196                             (UnQual
15197                                SrcSpanInfo
15198                                  { srcInfoSpan =
15199                                      SrcSpan "tests/examples/DerivingVia.hs" 221 11 221 22
15200                                  , srcInfoPoints = []
15201                                  }
15202                                (Ident
15203                                   SrcSpanInfo
15204                                     { srcInfoSpan =
15205                                         SrcSpan "tests/examples/DerivingVia.hs" 221 11 221 22
15206                                     , srcInfoPoints = []
15207                                     }
15208                                   "Applicative")))
15209                          (TyVar
15210                             SrcSpanInfo
15211                               { srcInfoSpan =
15212                                   SrcSpan "tests/examples/DerivingVia.hs" 221 23 221 24
15213                               , srcInfoPoints = []
15214                               }
15215                             (Ident
15216                                SrcSpanInfo
15217                                  { srcInfoSpan =
15218                                      SrcSpan "tests/examples/DerivingVia.hs" 221 23 221 24
15219                                  , srcInfoPoints = []
15220                                  }
15221                                "f")))
15222                   , TypeA
15223                       SrcSpanInfo
15224                         { srcInfoSpan =
15225                             SrcSpan "tests/examples/DerivingVia.hs" 221 26 221 37
15226                         , srcInfoPoints = []
15227                         }
15228                       (TyApp
15229                          SrcSpanInfo
15230                            { srcInfoSpan =
15231                                SrcSpan "tests/examples/DerivingVia.hs" 221 26 221 37
15232                            , srcInfoPoints = []
15233                            }
15234                          (TyCon
15235                             SrcSpanInfo
15236                               { srcInfoSpan =
15237                                   SrcSpan "tests/examples/DerivingVia.hs" 221 26 221 37
15238                               , srcInfoPoints = []
15239                               }
15240                             (UnQual
15241                                SrcSpanInfo
15242                                  { srcInfoSpan =
15243                                      SrcSpan "tests/examples/DerivingVia.hs" 221 26 221 35
15244                                  , srcInfoPoints = []
15245                                  }
15246                                (Ident
15247                                   SrcSpanInfo
15248                                     { srcInfoSpan =
15249                                         SrcSpan "tests/examples/DerivingVia.hs" 221 26 221 35
15250                                     , srcInfoPoints = []
15251                                     }
15252                                   "Semigroup")))
15253                          (TyVar
15254                             SrcSpanInfo
15255                               { srcInfoSpan =
15256                                   SrcSpan "tests/examples/DerivingVia.hs" 221 36 221 37
15257                               , srcInfoPoints = []
15258                               }
15259                             (Ident
15260                                SrcSpanInfo
15261                                  { srcInfoSpan =
15262                                      SrcSpan "tests/examples/DerivingVia.hs" 221 36 221 37
15263                                  , srcInfoPoints = []
15264                                  }
15265                                "s")))
15266                   ]))
15267             (IHApp
15268                SrcSpanInfo
15269                  { srcInfoSpan =
15270                      SrcSpan "tests/examples/DerivingVia.hs" 221 42 221 73
15271                  , srcInfoPoints = []
15272                  }
15273                (IHCon
15274                   SrcSpanInfo
15275                     { srcInfoSpan =
15276                         SrcSpan "tests/examples/DerivingVia.hs" 221 42 221 51
15277                     , srcInfoPoints = []
15278                     }
15279                   (UnQual
15280                      SrcSpanInfo
15281                        { srcInfoSpan =
15282                            SrcSpan "tests/examples/DerivingVia.hs" 221 42 221 51
15283                        , srcInfoPoints = []
15284                        }
15285                      (Ident
15286                         SrcSpanInfo
15287                           { srcInfoSpan =
15288                               SrcSpan "tests/examples/DerivingVia.hs" 221 42 221 51
15289                           , srcInfoPoints = []
15290                           }
15291                         "Semigroup")))
15292                (TyParen
15293                   SrcSpanInfo
15294                     { srcInfoSpan =
15295                         SrcSpan "tests/examples/DerivingVia.hs" 221 52 221 73
15296                     , srcInfoPoints =
15297                         [ SrcSpan "tests/examples/DerivingVia.hs" 221 52 221 53
15298                         , SrcSpan "tests/examples/DerivingVia.hs" 221 72 221 73
15299                         ]
15300                     }
15301                   (TyApp
15302                      SrcSpanInfo
15303                        { srcInfoSpan =
15304                            SrcSpan "tests/examples/DerivingVia.hs" 221 53 221 72
15305                        , srcInfoPoints = []
15306                        }
15307                      (TyApp
15308                         SrcSpanInfo
15309                           { srcInfoSpan =
15310                               SrcSpan "tests/examples/DerivingVia.hs" 221 53 221 70
15311                           , srcInfoPoints = []
15312                           }
15313                         (TyCon
15314                            SrcSpanInfo
15315                              { srcInfoSpan =
15316                                  SrcSpan "tests/examples/DerivingVia.hs" 221 53 221 68
15317                              , srcInfoPoints = []
15318                              }
15319                            (UnQual
15320                               SrcSpanInfo
15321                                 { srcInfoSpan =
15322                                     SrcSpan "tests/examples/DerivingVia.hs" 221 53 221 68
15323                                 , srcInfoPoints = []
15324                                 }
15325                               (Ident
15326                                  SrcSpanInfo
15327                                    { srcInfoSpan =
15328                                        SrcSpan "tests/examples/DerivingVia.hs" 221 53 221 68
15329                                    , srcInfoPoints = []
15330                                    }
15331                                  "WrapApplicative")))
15332                         (TyVar
15333                            SrcSpanInfo
15334                              { srcInfoSpan =
15335                                  SrcSpan "tests/examples/DerivingVia.hs" 221 69 221 70
15336                              , srcInfoPoints = []
15337                              }
15338                            (Ident
15339                               SrcSpanInfo
15340                                 { srcInfoSpan =
15341                                     SrcSpan "tests/examples/DerivingVia.hs" 221 69 221 70
15342                                 , srcInfoPoints = []
15343                                 }
15344                               "f")))
15345                      (TyVar
15346                         SrcSpanInfo
15347                           { srcInfoSpan =
15348                               SrcSpan "tests/examples/DerivingVia.hs" 221 71 221 72
15349                           , srcInfoPoints = []
15350                           }
15351                         (Ident
15352                            SrcSpanInfo
15353                              { srcInfoSpan =
15354                                  SrcSpan "tests/examples/DerivingVia.hs" 221 71 221 72
15355                              , srcInfoPoints = []
15356                              }
15357                            "s"))))))
15358          (Just
15359             [ InsDecl
15360                 SrcSpanInfo
15361                   { srcInfoSpan =
15362                       SrcSpan "tests/examples/DerivingVia.hs" 222 3 222 21
15363                   , srcInfoPoints = []
15364                   }
15365                 (PatBind
15366                    SrcSpanInfo
15367                      { srcInfoSpan =
15368                          SrcSpan "tests/examples/DerivingVia.hs" 222 3 222 21
15369                      , srcInfoPoints = []
15370                      }
15371                    (PVar
15372                       SrcSpanInfo
15373                         { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 222 3 222 7
15374                         , srcInfoPoints =
15375                             [ SrcSpan "tests/examples/DerivingVia.hs" 222 3 222 4
15376                             , SrcSpan "tests/examples/DerivingVia.hs" 222 4 222 6
15377                             , SrcSpan "tests/examples/DerivingVia.hs" 222 6 222 7
15378                             ]
15379                         }
15380                       (Symbol
15381                          SrcSpanInfo
15382                            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 222 4 222 6
15383                            , srcInfoPoints = []
15384                            }
15385                          "<>"))
15386                    (UnGuardedRhs
15387                       SrcSpanInfo
15388                         { srcInfoSpan =
15389                             SrcSpan "tests/examples/DerivingVia.hs" 222 8 222 21
15390                         , srcInfoPoints =
15391                             [ SrcSpan "tests/examples/DerivingVia.hs" 222 8 222 9 ]
15392                         }
15393                       (App
15394                          SrcSpanInfo
15395                            { srcInfoSpan =
15396                                SrcSpan "tests/examples/DerivingVia.hs" 222 10 222 21
15397                            , srcInfoPoints = []
15398                            }
15399                          (Var
15400                             SrcSpanInfo
15401                               { srcInfoSpan =
15402                                   SrcSpan "tests/examples/DerivingVia.hs" 222 10 222 16
15403                               , srcInfoPoints = []
15404                               }
15405                             (UnQual
15406                                SrcSpanInfo
15407                                  { srcInfoSpan =
15408                                      SrcSpan "tests/examples/DerivingVia.hs" 222 10 222 16
15409                                  , srcInfoPoints = []
15410                                  }
15411                                (Ident
15412                                   SrcSpanInfo
15413                                     { srcInfoSpan =
15414                                         SrcSpan "tests/examples/DerivingVia.hs" 222 10 222 16
15415                                     , srcInfoPoints = []
15416                                     }
15417                                   "liftA2")))
15418                          (Var
15419                             SrcSpanInfo
15420                               { srcInfoSpan =
15421                                   SrcSpan "tests/examples/DerivingVia.hs" 222 17 222 21
15422                               , srcInfoPoints =
15423                                   [ SrcSpan "tests/examples/DerivingVia.hs" 222 17 222 18
15424                                   , SrcSpan "tests/examples/DerivingVia.hs" 222 18 222 20
15425                                   , SrcSpan "tests/examples/DerivingVia.hs" 222 20 222 21
15426                                   ]
15427                               }
15428                             (UnQual
15429                                SrcSpanInfo
15430                                  { srcInfoSpan =
15431                                      SrcSpan "tests/examples/DerivingVia.hs" 222 17 222 21
15432                                  , srcInfoPoints =
15433                                      [ SrcSpan "tests/examples/DerivingVia.hs" 222 17 222 18
15434                                      , SrcSpan "tests/examples/DerivingVia.hs" 222 18 222 20
15435                                      , SrcSpan "tests/examples/DerivingVia.hs" 222 20 222 21
15436                                      ]
15437                                  }
15438                                (Symbol
15439                                   SrcSpanInfo
15440                                     { srcInfoSpan =
15441                                         SrcSpan "tests/examples/DerivingVia.hs" 222 18 222 20
15442                                     , srcInfoPoints = []
15443                                     }
15444                                   "<>")))))
15445                    Nothing)
15446             ])
15447      , InstDecl
15448          SrcSpanInfo
15449            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 224 1 230 0
15450            , srcInfoPoints =
15451                [ SrcSpan "tests/examples/DerivingVia.hs" 224 1 224 9
15452                , SrcSpan "tests/examples/DerivingVia.hs" 224 68 224 73
15453                , SrcSpan "tests/examples/DerivingVia.hs" 225 3 225 3
15454                , SrcSpan "tests/examples/DerivingVia.hs" 230 1 230 0
15455                ]
15456            }
15457          Nothing
15458          (IRule
15459             SrcSpanInfo
15460               { srcInfoSpan =
15461                   SrcSpan "tests/examples/DerivingVia.hs" 224 10 224 67
15462               , srcInfoPoints = []
15463               }
15464             Nothing
15465             (Just
15466                (CxTuple
15467                   SrcSpanInfo
15468                     { srcInfoSpan =
15469                         SrcSpan "tests/examples/DerivingVia.hs" 224 10 224 38
15470                     , srcInfoPoints =
15471                         [ SrcSpan "tests/examples/DerivingVia.hs" 224 10 224 11
15472                         , SrcSpan "tests/examples/DerivingVia.hs" 224 24 224 25
15473                         , SrcSpan "tests/examples/DerivingVia.hs" 224 34 224 35
15474                         , SrcSpan "tests/examples/DerivingVia.hs" 224 36 224 38
15475                         ]
15476                     }
15477                   [ TypeA
15478                       SrcSpanInfo
15479                         { srcInfoSpan =
15480                             SrcSpan "tests/examples/DerivingVia.hs" 224 11 224 24
15481                         , srcInfoPoints = []
15482                         }
15483                       (TyApp
15484                          SrcSpanInfo
15485                            { srcInfoSpan =
15486                                SrcSpan "tests/examples/DerivingVia.hs" 224 11 224 24
15487                            , srcInfoPoints = []
15488                            }
15489                          (TyCon
15490                             SrcSpanInfo
15491                               { srcInfoSpan =
15492                                   SrcSpan "tests/examples/DerivingVia.hs" 224 11 224 24
15493                               , srcInfoPoints = []
15494                               }
15495                             (UnQual
15496                                SrcSpanInfo
15497                                  { srcInfoSpan =
15498                                      SrcSpan "tests/examples/DerivingVia.hs" 224 11 224 22
15499                                  , srcInfoPoints = []
15500                                  }
15501                                (Ident
15502                                   SrcSpanInfo
15503                                     { srcInfoSpan =
15504                                         SrcSpan "tests/examples/DerivingVia.hs" 224 11 224 22
15505                                     , srcInfoPoints = []
15506                                     }
15507                                   "Applicative")))
15508                          (TyVar
15509                             SrcSpanInfo
15510                               { srcInfoSpan =
15511                                   SrcSpan "tests/examples/DerivingVia.hs" 224 23 224 24
15512                               , srcInfoPoints = []
15513                               }
15514                             (Ident
15515                                SrcSpanInfo
15516                                  { srcInfoSpan =
15517                                      SrcSpan "tests/examples/DerivingVia.hs" 224 23 224 24
15518                                  , srcInfoPoints = []
15519                                  }
15520                                "f")))
15521                   , TypeA
15522                       SrcSpanInfo
15523                         { srcInfoSpan =
15524                             SrcSpan "tests/examples/DerivingVia.hs" 224 26 224 34
15525                         , srcInfoPoints = []
15526                         }
15527                       (TyApp
15528                          SrcSpanInfo
15529                            { srcInfoSpan =
15530                                SrcSpan "tests/examples/DerivingVia.hs" 224 26 224 34
15531                            , srcInfoPoints = []
15532                            }
15533                          (TyCon
15534                             SrcSpanInfo
15535                               { srcInfoSpan =
15536                                   SrcSpan "tests/examples/DerivingVia.hs" 224 26 224 34
15537                               , srcInfoPoints = []
15538                               }
15539                             (UnQual
15540                                SrcSpanInfo
15541                                  { srcInfoSpan =
15542                                      SrcSpan "tests/examples/DerivingVia.hs" 224 26 224 32
15543                                  , srcInfoPoints = []
15544                                  }
15545                                (Ident
15546                                   SrcSpanInfo
15547                                     { srcInfoSpan =
15548                                         SrcSpan "tests/examples/DerivingVia.hs" 224 26 224 32
15549                                     , srcInfoPoints = []
15550                                     }
15551                                   "Monoid")))
15552                          (TyVar
15553                             SrcSpanInfo
15554                               { srcInfoSpan =
15555                                   SrcSpan "tests/examples/DerivingVia.hs" 224 33 224 34
15556                               , srcInfoPoints = []
15557                               }
15558                             (Ident
15559                                SrcSpanInfo
15560                                  { srcInfoSpan =
15561                                      SrcSpan "tests/examples/DerivingVia.hs" 224 33 224 34
15562                                  , srcInfoPoints = []
15563                                  }
15564                                "m")))
15565                   ]))
15566             (IHApp
15567                SrcSpanInfo
15568                  { srcInfoSpan =
15569                      SrcSpan "tests/examples/DerivingVia.hs" 224 39 224 67
15570                  , srcInfoPoints = []
15571                  }
15572                (IHCon
15573                   SrcSpanInfo
15574                     { srcInfoSpan =
15575                         SrcSpan "tests/examples/DerivingVia.hs" 224 39 224 45
15576                     , srcInfoPoints = []
15577                     }
15578                   (UnQual
15579                      SrcSpanInfo
15580                        { srcInfoSpan =
15581                            SrcSpan "tests/examples/DerivingVia.hs" 224 39 224 45
15582                        , srcInfoPoints = []
15583                        }
15584                      (Ident
15585                         SrcSpanInfo
15586                           { srcInfoSpan =
15587                               SrcSpan "tests/examples/DerivingVia.hs" 224 39 224 45
15588                           , srcInfoPoints = []
15589                           }
15590                         "Monoid")))
15591                (TyParen
15592                   SrcSpanInfo
15593                     { srcInfoSpan =
15594                         SrcSpan "tests/examples/DerivingVia.hs" 224 46 224 67
15595                     , srcInfoPoints =
15596                         [ SrcSpan "tests/examples/DerivingVia.hs" 224 46 224 47
15597                         , SrcSpan "tests/examples/DerivingVia.hs" 224 66 224 67
15598                         ]
15599                     }
15600                   (TyApp
15601                      SrcSpanInfo
15602                        { srcInfoSpan =
15603                            SrcSpan "tests/examples/DerivingVia.hs" 224 47 224 66
15604                        , srcInfoPoints = []
15605                        }
15606                      (TyApp
15607                         SrcSpanInfo
15608                           { srcInfoSpan =
15609                               SrcSpan "tests/examples/DerivingVia.hs" 224 47 224 64
15610                           , srcInfoPoints = []
15611                           }
15612                         (TyCon
15613                            SrcSpanInfo
15614                              { srcInfoSpan =
15615                                  SrcSpan "tests/examples/DerivingVia.hs" 224 47 224 62
15616                              , srcInfoPoints = []
15617                              }
15618                            (UnQual
15619                               SrcSpanInfo
15620                                 { srcInfoSpan =
15621                                     SrcSpan "tests/examples/DerivingVia.hs" 224 47 224 62
15622                                 , srcInfoPoints = []
15623                                 }
15624                               (Ident
15625                                  SrcSpanInfo
15626                                    { srcInfoSpan =
15627                                        SrcSpan "tests/examples/DerivingVia.hs" 224 47 224 62
15628                                    , srcInfoPoints = []
15629                                    }
15630                                  "WrapApplicative")))
15631                         (TyVar
15632                            SrcSpanInfo
15633                              { srcInfoSpan =
15634                                  SrcSpan "tests/examples/DerivingVia.hs" 224 63 224 64
15635                              , srcInfoPoints = []
15636                              }
15637                            (Ident
15638                               SrcSpanInfo
15639                                 { srcInfoSpan =
15640                                     SrcSpan "tests/examples/DerivingVia.hs" 224 63 224 64
15641                                 , srcInfoPoints = []
15642                                 }
15643                               "f")))
15644                      (TyVar
15645                         SrcSpanInfo
15646                           { srcInfoSpan =
15647                               SrcSpan "tests/examples/DerivingVia.hs" 224 65 224 66
15648                           , srcInfoPoints = []
15649                           }
15650                         (Ident
15651                            SrcSpanInfo
15652                              { srcInfoSpan =
15653                                  SrcSpan "tests/examples/DerivingVia.hs" 224 65 224 66
15654                              , srcInfoPoints = []
15655                              }
15656                            "m"))))))
15657          (Just
15658             [ InsDecl
15659                 SrcSpanInfo
15660                   { srcInfoSpan =
15661                       SrcSpan "tests/examples/DerivingVia.hs" 225 3 225 23
15662                   , srcInfoPoints = []
15663                   }
15664                 (PatBind
15665                    SrcSpanInfo
15666                      { srcInfoSpan =
15667                          SrcSpan "tests/examples/DerivingVia.hs" 225 3 225 23
15668                      , srcInfoPoints = []
15669                      }
15670                    (PVar
15671                       SrcSpanInfo
15672                         { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 225 3 225 9
15673                         , srcInfoPoints = []
15674                         }
15675                       (Ident
15676                          SrcSpanInfo
15677                            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 225 3 225 9
15678                            , srcInfoPoints = []
15679                            }
15680                          "mempty"))
15681                    (UnGuardedRhs
15682                       SrcSpanInfo
15683                         { srcInfoSpan =
15684                             SrcSpan "tests/examples/DerivingVia.hs" 225 10 225 23
15685                         , srcInfoPoints =
15686                             [ SrcSpan "tests/examples/DerivingVia.hs" 225 10 225 11 ]
15687                         }
15688                       (App
15689                          SrcSpanInfo
15690                            { srcInfoSpan =
15691                                SrcSpan "tests/examples/DerivingVia.hs" 225 12 225 23
15692                            , srcInfoPoints = []
15693                            }
15694                          (Var
15695                             SrcSpanInfo
15696                               { srcInfoSpan =
15697                                   SrcSpan "tests/examples/DerivingVia.hs" 225 12 225 16
15698                               , srcInfoPoints = []
15699                               }
15700                             (UnQual
15701                                SrcSpanInfo
15702                                  { srcInfoSpan =
15703                                      SrcSpan "tests/examples/DerivingVia.hs" 225 12 225 16
15704                                  , srcInfoPoints = []
15705                                  }
15706                                (Ident
15707                                   SrcSpanInfo
15708                                     { srcInfoSpan =
15709                                         SrcSpan "tests/examples/DerivingVia.hs" 225 12 225 16
15710                                     , srcInfoPoints = []
15711                                     }
15712                                   "pure")))
15713                          (Var
15714                             SrcSpanInfo
15715                               { srcInfoSpan =
15716                                   SrcSpan "tests/examples/DerivingVia.hs" 225 17 225 23
15717                               , srcInfoPoints = []
15718                               }
15719                             (UnQual
15720                                SrcSpanInfo
15721                                  { srcInfoSpan =
15722                                      SrcSpan "tests/examples/DerivingVia.hs" 225 17 225 23
15723                                  , srcInfoPoints = []
15724                                  }
15725                                (Ident
15726                                   SrcSpanInfo
15727                                     { srcInfoSpan =
15728                                         SrcSpan "tests/examples/DerivingVia.hs" 225 17 225 23
15729                                     , srcInfoPoints = []
15730                                     }
15731                                   "mempty")))))
15732                    Nothing)
15733             ])
15734      , ClassDecl
15735          SrcSpanInfo
15736            { srcInfoSpan =
15737                SrcSpan "tests/examples/DerivingVia.hs" 230 1 231 22
15738            , srcInfoPoints =
15739                [ SrcSpan "tests/examples/DerivingVia.hs" 230 1 230 6
15740                , SrcSpan "tests/examples/DerivingVia.hs" 230 17 230 22
15741                , SrcSpan "tests/examples/DerivingVia.hs" 231 3 231 3
15742                , SrcSpan "tests/examples/DerivingVia.hs" 233 1 233 0
15743                ]
15744            }
15745          Nothing
15746          (DHApp
15747             SrcSpanInfo
15748               { srcInfoSpan =
15749                   SrcSpan "tests/examples/DerivingVia.hs" 230 7 230 16
15750               , srcInfoPoints = []
15751               }
15752             (DHead
15753                SrcSpanInfo
15754                  { srcInfoSpan =
15755                      SrcSpan "tests/examples/DerivingVia.hs" 230 7 230 14
15756                  , srcInfoPoints = []
15757                  }
15758                (Ident
15759                   SrcSpanInfo
15760                     { srcInfoSpan =
15761                         SrcSpan "tests/examples/DerivingVia.hs" 230 7 230 14
15762                     , srcInfoPoints = []
15763                     }
15764                   "Pointed"))
15765             (UnkindedVar
15766                SrcSpanInfo
15767                  { srcInfoSpan =
15768                      SrcSpan "tests/examples/DerivingVia.hs" 230 15 230 16
15769                  , srcInfoPoints = []
15770                  }
15771                (Ident
15772                   SrcSpanInfo
15773                     { srcInfoSpan =
15774                         SrcSpan "tests/examples/DerivingVia.hs" 230 15 230 16
15775                     , srcInfoPoints = []
15776                     }
15777                   "p")))
15778          []
15779          (Just
15780             [ ClsDecl
15781                 SrcSpanInfo
15782                   { srcInfoSpan =
15783                       SrcSpan "tests/examples/DerivingVia.hs" 231 3 231 22
15784                   , srcInfoPoints =
15785                       [ SrcSpan "tests/examples/DerivingVia.hs" 231 11 231 13 ]
15786                   }
15787                 (TypeSig
15788                    SrcSpanInfo
15789                      { srcInfoSpan =
15790                          SrcSpan "tests/examples/DerivingVia.hs" 231 3 231 22
15791                      , srcInfoPoints =
15792                          [ SrcSpan "tests/examples/DerivingVia.hs" 231 11 231 13 ]
15793                      }
15794                    [ Ident
15795                        SrcSpanInfo
15796                          { srcInfoSpan =
15797                              SrcSpan "tests/examples/DerivingVia.hs" 231 3 231 10
15798                          , srcInfoPoints = []
15799                          }
15800                        "pointed"
15801                    ]
15802                    (TyFun
15803                       SrcSpanInfo
15804                         { srcInfoSpan =
15805                             SrcSpan "tests/examples/DerivingVia.hs" 231 14 231 22
15806                         , srcInfoPoints =
15807                             [ SrcSpan "tests/examples/DerivingVia.hs" 231 16 231 18 ]
15808                         }
15809                       (TyVar
15810                          SrcSpanInfo
15811                            { srcInfoSpan =
15812                                SrcSpan "tests/examples/DerivingVia.hs" 231 14 231 15
15813                            , srcInfoPoints = []
15814                            }
15815                          (Ident
15816                             SrcSpanInfo
15817                               { srcInfoSpan =
15818                                   SrcSpan "tests/examples/DerivingVia.hs" 231 14 231 15
15819                               , srcInfoPoints = []
15820                               }
15821                             "a"))
15822                       (TyApp
15823                          SrcSpanInfo
15824                            { srcInfoSpan =
15825                                SrcSpan "tests/examples/DerivingVia.hs" 231 19 231 22
15826                            , srcInfoPoints = []
15827                            }
15828                          (TyVar
15829                             SrcSpanInfo
15830                               { srcInfoSpan =
15831                                   SrcSpan "tests/examples/DerivingVia.hs" 231 19 231 20
15832                               , srcInfoPoints = []
15833                               }
15834                             (Ident
15835                                SrcSpanInfo
15836                                  { srcInfoSpan =
15837                                      SrcSpan "tests/examples/DerivingVia.hs" 231 19 231 20
15838                                  , srcInfoPoints = []
15839                                  }
15840                                "p"))
15841                          (TyVar
15842                             SrcSpanInfo
15843                               { srcInfoSpan =
15844                                   SrcSpan "tests/examples/DerivingVia.hs" 231 21 231 22
15845                               , srcInfoPoints = []
15846                               }
15847                             (Ident
15848                                SrcSpanInfo
15849                                  { srcInfoSpan =
15850                                      SrcSpan "tests/examples/DerivingVia.hs" 231 21 231 22
15851                                  , srcInfoPoints = []
15852                                  }
15853                                "a")))))
15854             ])
15855      , DataDecl
15856          SrcSpanInfo
15857            { srcInfoSpan =
15858                SrcSpan "tests/examples/DerivingVia.hs" 233 1 234 36
15859            , srcInfoPoints =
15860                [ SrcSpan "tests/examples/DerivingVia.hs" 233 23 233 24 ]
15861            }
15862          (NewType
15863             SrcSpanInfo
15864               { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 233 1 233 8
15865               , srcInfoPoints = []
15866               })
15867          Nothing
15868          (DHApp
15869             SrcSpanInfo
15870               { srcInfoSpan =
15871                   SrcSpan "tests/examples/DerivingVia.hs" 233 9 233 22
15872               , srcInfoPoints = []
15873               }
15874             (DHApp
15875                SrcSpanInfo
15876                  { srcInfoSpan =
15877                      SrcSpan "tests/examples/DerivingVia.hs" 233 9 233 20
15878                  , srcInfoPoints = []
15879                  }
15880                (DHead
15881                   SrcSpanInfo
15882                     { srcInfoSpan =
15883                         SrcSpan "tests/examples/DerivingVia.hs" 233 9 233 18
15884                     , srcInfoPoints = []
15885                     }
15886                   (Ident
15887                      SrcSpanInfo
15888                        { srcInfoSpan =
15889                            SrcSpan "tests/examples/DerivingVia.hs" 233 9 233 18
15890                        , srcInfoPoints = []
15891                        }
15892                      "WrapMonad"))
15893                (UnkindedVar
15894                   SrcSpanInfo
15895                     { srcInfoSpan =
15896                         SrcSpan "tests/examples/DerivingVia.hs" 233 19 233 20
15897                     , srcInfoPoints = []
15898                     }
15899                   (Ident
15900                      SrcSpanInfo
15901                        { srcInfoSpan =
15902                            SrcSpan "tests/examples/DerivingVia.hs" 233 19 233 20
15903                        , srcInfoPoints = []
15904                        }
15905                      "f")))
15906             (UnkindedVar
15907                SrcSpanInfo
15908                  { srcInfoSpan =
15909                      SrcSpan "tests/examples/DerivingVia.hs" 233 21 233 22
15910                  , srcInfoPoints = []
15911                  }
15912                (Ident
15913                   SrcSpanInfo
15914                     { srcInfoSpan =
15915                         SrcSpan "tests/examples/DerivingVia.hs" 233 21 233 22
15916                     , srcInfoPoints = []
15917                     }
15918                   "a")))
15919          [ QualConDecl
15920              SrcSpanInfo
15921                { srcInfoSpan =
15922                    SrcSpan "tests/examples/DerivingVia.hs" 233 25 233 43
15923                , srcInfoPoints = []
15924                }
15925              Nothing
15926              Nothing
15927              (ConDecl
15928                 SrcSpanInfo
15929                   { srcInfoSpan =
15930                       SrcSpan "tests/examples/DerivingVia.hs" 233 25 233 43
15931                   , srcInfoPoints = []
15932                   }
15933                 (Ident
15934                    SrcSpanInfo
15935                      { srcInfoSpan =
15936                          SrcSpan "tests/examples/DerivingVia.hs" 233 25 233 37
15937                      , srcInfoPoints = []
15938                      }
15939                    "WrappedMonad")
15940                 [ TyParen
15941                     SrcSpanInfo
15942                       { srcInfoSpan =
15943                           SrcSpan "tests/examples/DerivingVia.hs" 233 38 233 43
15944                       , srcInfoPoints =
15945                           [ SrcSpan "tests/examples/DerivingVia.hs" 233 38 233 39
15946                           , SrcSpan "tests/examples/DerivingVia.hs" 233 42 233 43
15947                           ]
15948                       }
15949                     (TyApp
15950                        SrcSpanInfo
15951                          { srcInfoSpan =
15952                              SrcSpan "tests/examples/DerivingVia.hs" 233 39 233 42
15953                          , srcInfoPoints = []
15954                          }
15955                        (TyVar
15956                           SrcSpanInfo
15957                             { srcInfoSpan =
15958                                 SrcSpan "tests/examples/DerivingVia.hs" 233 39 233 40
15959                             , srcInfoPoints = []
15960                             }
15961                           (Ident
15962                              SrcSpanInfo
15963                                { srcInfoSpan =
15964                                    SrcSpan "tests/examples/DerivingVia.hs" 233 39 233 40
15965                                , srcInfoPoints = []
15966                                }
15967                              "f"))
15968                        (TyVar
15969                           SrcSpanInfo
15970                             { srcInfoSpan =
15971                                 SrcSpan "tests/examples/DerivingVia.hs" 233 41 233 42
15972                             , srcInfoPoints = []
15973                             }
15974                           (Ident
15975                              SrcSpanInfo
15976                                { srcInfoSpan =
15977                                    SrcSpan "tests/examples/DerivingVia.hs" 233 41 233 42
15978                                , srcInfoPoints = []
15979                                }
15980                              "a")))
15981                 ])
15982          ]
15983          [ Deriving
15984              SrcSpanInfo
15985                { srcInfoSpan =
15986                    SrcSpan "tests/examples/DerivingVia.hs" 234 3 234 36
15987                , srcInfoPoints =
15988                    [ SrcSpan "tests/examples/DerivingVia.hs" 234 3 234 11
15989                    , SrcSpan "tests/examples/DerivingVia.hs" 234 20 234 21
15990                    , SrcSpan "tests/examples/DerivingVia.hs" 234 28 234 29
15991                    , SrcSpan "tests/examples/DerivingVia.hs" 234 35 234 36
15992                    ]
15993                }
15994              (Just
15995                 (DerivNewtype
15996                    SrcSpanInfo
15997                      { srcInfoSpan =
15998                          SrcSpan "tests/examples/DerivingVia.hs" 234 12 234 19
15999                      , srcInfoPoints = []
16000                      }))
16001              [ IRule
16002                  SrcSpanInfo
16003                    { srcInfoSpan =
16004                        SrcSpan "tests/examples/DerivingVia.hs" 234 21 234 28
16005                    , srcInfoPoints = []
16006                    }
16007                  Nothing
16008                  Nothing
16009                  (IHCon
16010                     SrcSpanInfo
16011                       { srcInfoSpan =
16012                           SrcSpan "tests/examples/DerivingVia.hs" 234 21 234 28
16013                       , srcInfoPoints = []
16014                       }
16015                     (UnQual
16016                        SrcSpanInfo
16017                          { srcInfoSpan =
16018                              SrcSpan "tests/examples/DerivingVia.hs" 234 21 234 28
16019                          , srcInfoPoints = []
16020                          }
16021                        (Ident
16022                           SrcSpanInfo
16023                             { srcInfoSpan =
16024                                 SrcSpan "tests/examples/DerivingVia.hs" 234 21 234 28
16025                             , srcInfoPoints = []
16026                             }
16027                           "Pointed")))
16028              , IRule
16029                  SrcSpanInfo
16030                    { srcInfoSpan =
16031                        SrcSpan "tests/examples/DerivingVia.hs" 234 30 234 35
16032                    , srcInfoPoints = []
16033                    }
16034                  Nothing
16035                  Nothing
16036                  (IHCon
16037                     SrcSpanInfo
16038                       { srcInfoSpan =
16039                           SrcSpan "tests/examples/DerivingVia.hs" 234 30 234 35
16040                       , srcInfoPoints = []
16041                       }
16042                     (UnQual
16043                        SrcSpanInfo
16044                          { srcInfoSpan =
16045                              SrcSpan "tests/examples/DerivingVia.hs" 234 30 234 35
16046                          , srcInfoPoints = []
16047                          }
16048                        (Ident
16049                           SrcSpanInfo
16050                             { srcInfoSpan =
16051                                 SrcSpan "tests/examples/DerivingVia.hs" 234 30 234 35
16052                             , srcInfoPoints = []
16053                             }
16054                           "Monad")))
16055              ]
16056          ]
16057      , InstDecl
16058          SrcSpanInfo
16059            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 236 1 239 0
16060            , srcInfoPoints =
16061                [ SrcSpan "tests/examples/DerivingVia.hs" 236 1 236 9
16062                , SrcSpan "tests/examples/DerivingVia.hs" 236 56 236 61
16063                , SrcSpan "tests/examples/DerivingVia.hs" 237 3 237 3
16064                , SrcSpan "tests/examples/DerivingVia.hs" 239 1 239 0
16065                ]
16066            }
16067          Nothing
16068          (IRule
16069             SrcSpanInfo
16070               { srcInfoSpan =
16071                   SrcSpan "tests/examples/DerivingVia.hs" 236 10 236 55
16072               , srcInfoPoints = []
16073               }
16074             Nothing
16075             (Just
16076                (CxTuple
16077                   SrcSpanInfo
16078                     { srcInfoSpan =
16079                         SrcSpan "tests/examples/DerivingVia.hs" 236 10 236 33
16080                     , srcInfoPoints =
16081                         [ SrcSpan "tests/examples/DerivingVia.hs" 236 10 236 11
16082                         , SrcSpan "tests/examples/DerivingVia.hs" 236 18 236 19
16083                         , SrcSpan "tests/examples/DerivingVia.hs" 236 29 236 30
16084                         , SrcSpan "tests/examples/DerivingVia.hs" 236 31 236 33
16085                         ]
16086                     }
16087                   [ TypeA
16088                       SrcSpanInfo
16089                         { srcInfoSpan =
16090                             SrcSpan "tests/examples/DerivingVia.hs" 236 11 236 18
16091                         , srcInfoPoints = []
16092                         }
16093                       (TyApp
16094                          SrcSpanInfo
16095                            { srcInfoSpan =
16096                                SrcSpan "tests/examples/DerivingVia.hs" 236 11 236 18
16097                            , srcInfoPoints = []
16098                            }
16099                          (TyCon
16100                             SrcSpanInfo
16101                               { srcInfoSpan =
16102                                   SrcSpan "tests/examples/DerivingVia.hs" 236 11 236 18
16103                               , srcInfoPoints = []
16104                               }
16105                             (UnQual
16106                                SrcSpanInfo
16107                                  { srcInfoSpan =
16108                                      SrcSpan "tests/examples/DerivingVia.hs" 236 11 236 16
16109                                  , srcInfoPoints = []
16110                                  }
16111                                (Ident
16112                                   SrcSpanInfo
16113                                     { srcInfoSpan =
16114                                         SrcSpan "tests/examples/DerivingVia.hs" 236 11 236 16
16115                                     , srcInfoPoints = []
16116                                     }
16117                                   "Monad")))
16118                          (TyVar
16119                             SrcSpanInfo
16120                               { srcInfoSpan =
16121                                   SrcSpan "tests/examples/DerivingVia.hs" 236 17 236 18
16122                               , srcInfoPoints = []
16123                               }
16124                             (Ident
16125                                SrcSpanInfo
16126                                  { srcInfoSpan =
16127                                      SrcSpan "tests/examples/DerivingVia.hs" 236 17 236 18
16128                                  , srcInfoPoints = []
16129                                  }
16130                                "m")))
16131                   , TypeA
16132                       SrcSpanInfo
16133                         { srcInfoSpan =
16134                             SrcSpan "tests/examples/DerivingVia.hs" 236 20 236 29
16135                         , srcInfoPoints = []
16136                         }
16137                       (TyApp
16138                          SrcSpanInfo
16139                            { srcInfoSpan =
16140                                SrcSpan "tests/examples/DerivingVia.hs" 236 20 236 29
16141                            , srcInfoPoints = []
16142                            }
16143                          (TyCon
16144                             SrcSpanInfo
16145                               { srcInfoSpan =
16146                                   SrcSpan "tests/examples/DerivingVia.hs" 236 20 236 29
16147                               , srcInfoPoints = []
16148                               }
16149                             (UnQual
16150                                SrcSpanInfo
16151                                  { srcInfoSpan =
16152                                      SrcSpan "tests/examples/DerivingVia.hs" 236 20 236 27
16153                                  , srcInfoPoints = []
16154                                  }
16155                                (Ident
16156                                   SrcSpanInfo
16157                                     { srcInfoSpan =
16158                                         SrcSpan "tests/examples/DerivingVia.hs" 236 20 236 27
16159                                     , srcInfoPoints = []
16160                                     }
16161                                   "Pointed")))
16162                          (TyVar
16163                             SrcSpanInfo
16164                               { srcInfoSpan =
16165                                   SrcSpan "tests/examples/DerivingVia.hs" 236 28 236 29
16166                               , srcInfoPoints = []
16167                               }
16168                             (Ident
16169                                SrcSpanInfo
16170                                  { srcInfoSpan =
16171                                      SrcSpan "tests/examples/DerivingVia.hs" 236 28 236 29
16172                                  , srcInfoPoints = []
16173                                  }
16174                                "m")))
16175                   ]))
16176             (IHApp
16177                SrcSpanInfo
16178                  { srcInfoSpan =
16179                      SrcSpan "tests/examples/DerivingVia.hs" 236 34 236 55
16180                  , srcInfoPoints = []
16181                  }
16182                (IHCon
16183                   SrcSpanInfo
16184                     { srcInfoSpan =
16185                         SrcSpan "tests/examples/DerivingVia.hs" 236 34 236 41
16186                     , srcInfoPoints = []
16187                     }
16188                   (UnQual
16189                      SrcSpanInfo
16190                        { srcInfoSpan =
16191                            SrcSpan "tests/examples/DerivingVia.hs" 236 34 236 41
16192                        , srcInfoPoints = []
16193                        }
16194                      (Ident
16195                         SrcSpanInfo
16196                           { srcInfoSpan =
16197                               SrcSpan "tests/examples/DerivingVia.hs" 236 34 236 41
16198                           , srcInfoPoints = []
16199                           }
16200                         "Functor")))
16201                (TyParen
16202                   SrcSpanInfo
16203                     { srcInfoSpan =
16204                         SrcSpan "tests/examples/DerivingVia.hs" 236 42 236 55
16205                     , srcInfoPoints =
16206                         [ SrcSpan "tests/examples/DerivingVia.hs" 236 42 236 43
16207                         , SrcSpan "tests/examples/DerivingVia.hs" 236 54 236 55
16208                         ]
16209                     }
16210                   (TyApp
16211                      SrcSpanInfo
16212                        { srcInfoSpan =
16213                            SrcSpan "tests/examples/DerivingVia.hs" 236 43 236 54
16214                        , srcInfoPoints = []
16215                        }
16216                      (TyCon
16217                         SrcSpanInfo
16218                           { srcInfoSpan =
16219                               SrcSpan "tests/examples/DerivingVia.hs" 236 43 236 52
16220                           , srcInfoPoints = []
16221                           }
16222                         (UnQual
16223                            SrcSpanInfo
16224                              { srcInfoSpan =
16225                                  SrcSpan "tests/examples/DerivingVia.hs" 236 43 236 52
16226                              , srcInfoPoints = []
16227                              }
16228                            (Ident
16229                               SrcSpanInfo
16230                                 { srcInfoSpan =
16231                                     SrcSpan "tests/examples/DerivingVia.hs" 236 43 236 52
16232                                 , srcInfoPoints = []
16233                                 }
16234                               "WrapMonad")))
16235                      (TyVar
16236                         SrcSpanInfo
16237                           { srcInfoSpan =
16238                               SrcSpan "tests/examples/DerivingVia.hs" 236 53 236 54
16239                           , srcInfoPoints = []
16240                           }
16241                         (Ident
16242                            SrcSpanInfo
16243                              { srcInfoSpan =
16244                                  SrcSpan "tests/examples/DerivingVia.hs" 236 53 236 54
16245                              , srcInfoPoints = []
16246                              }
16247                            "m"))))))
16248          (Just
16249             [ InsDecl
16250                 SrcSpanInfo
16251                   { srcInfoSpan =
16252                       SrcSpan "tests/examples/DerivingVia.hs" 237 3 237 15
16253                   , srcInfoPoints = []
16254                   }
16255                 (PatBind
16256                    SrcSpanInfo
16257                      { srcInfoSpan =
16258                          SrcSpan "tests/examples/DerivingVia.hs" 237 3 237 15
16259                      , srcInfoPoints = []
16260                      }
16261                    (PVar
16262                       SrcSpanInfo
16263                         { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 237 3 237 7
16264                         , srcInfoPoints = []
16265                         }
16266                       (Ident
16267                          SrcSpanInfo
16268                            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 237 3 237 7
16269                            , srcInfoPoints = []
16270                            }
16271                          "fmap"))
16272                    (UnGuardedRhs
16273                       SrcSpanInfo
16274                         { srcInfoSpan =
16275                             SrcSpan "tests/examples/DerivingVia.hs" 237 8 237 15
16276                         , srcInfoPoints =
16277                             [ SrcSpan "tests/examples/DerivingVia.hs" 237 8 237 9 ]
16278                         }
16279                       (Var
16280                          SrcSpanInfo
16281                            { srcInfoSpan =
16282                                SrcSpan "tests/examples/DerivingVia.hs" 237 10 237 15
16283                            , srcInfoPoints = []
16284                            }
16285                          (UnQual
16286                             SrcSpanInfo
16287                               { srcInfoSpan =
16288                                   SrcSpan "tests/examples/DerivingVia.hs" 237 10 237 15
16289                               , srcInfoPoints = []
16290                               }
16291                             (Ident
16292                                SrcSpanInfo
16293                                  { srcInfoSpan =
16294                                      SrcSpan "tests/examples/DerivingVia.hs" 237 10 237 15
16295                                  , srcInfoPoints = []
16296                                  }
16297                                "liftM"))))
16298                    Nothing)
16299             ])
16300      , InstDecl
16301          SrcSpanInfo
16302            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 239 1 244 0
16303            , srcInfoPoints =
16304                [ SrcSpan "tests/examples/DerivingVia.hs" 239 1 239 9
16305                , SrcSpan "tests/examples/DerivingVia.hs" 239 60 239 65
16306                , SrcSpan "tests/examples/DerivingVia.hs" 240 3 240 3
16307                , SrcSpan "tests/examples/DerivingVia.hs" 241 3 241 3
16308                , SrcSpan "tests/examples/DerivingVia.hs" 244 1 244 0
16309                ]
16310            }
16311          Nothing
16312          (IRule
16313             SrcSpanInfo
16314               { srcInfoSpan =
16315                   SrcSpan "tests/examples/DerivingVia.hs" 239 10 239 59
16316               , srcInfoPoints = []
16317               }
16318             Nothing
16319             (Just
16320                (CxTuple
16321                   SrcSpanInfo
16322                     { srcInfoSpan =
16323                         SrcSpan "tests/examples/DerivingVia.hs" 239 10 239 33
16324                     , srcInfoPoints =
16325                         [ SrcSpan "tests/examples/DerivingVia.hs" 239 10 239 11
16326                         , SrcSpan "tests/examples/DerivingVia.hs" 239 18 239 19
16327                         , SrcSpan "tests/examples/DerivingVia.hs" 239 29 239 30
16328                         , SrcSpan "tests/examples/DerivingVia.hs" 239 31 239 33
16329                         ]
16330                     }
16331                   [ TypeA
16332                       SrcSpanInfo
16333                         { srcInfoSpan =
16334                             SrcSpan "tests/examples/DerivingVia.hs" 239 11 239 18
16335                         , srcInfoPoints = []
16336                         }
16337                       (TyApp
16338                          SrcSpanInfo
16339                            { srcInfoSpan =
16340                                SrcSpan "tests/examples/DerivingVia.hs" 239 11 239 18
16341                            , srcInfoPoints = []
16342                            }
16343                          (TyCon
16344                             SrcSpanInfo
16345                               { srcInfoSpan =
16346                                   SrcSpan "tests/examples/DerivingVia.hs" 239 11 239 18
16347                               , srcInfoPoints = []
16348                               }
16349                             (UnQual
16350                                SrcSpanInfo
16351                                  { srcInfoSpan =
16352                                      SrcSpan "tests/examples/DerivingVia.hs" 239 11 239 16
16353                                  , srcInfoPoints = []
16354                                  }
16355                                (Ident
16356                                   SrcSpanInfo
16357                                     { srcInfoSpan =
16358                                         SrcSpan "tests/examples/DerivingVia.hs" 239 11 239 16
16359                                     , srcInfoPoints = []
16360                                     }
16361                                   "Monad")))
16362                          (TyVar
16363                             SrcSpanInfo
16364                               { srcInfoSpan =
16365                                   SrcSpan "tests/examples/DerivingVia.hs" 239 17 239 18
16366                               , srcInfoPoints = []
16367                               }
16368                             (Ident
16369                                SrcSpanInfo
16370                                  { srcInfoSpan =
16371                                      SrcSpan "tests/examples/DerivingVia.hs" 239 17 239 18
16372                                  , srcInfoPoints = []
16373                                  }
16374                                "m")))
16375                   , TypeA
16376                       SrcSpanInfo
16377                         { srcInfoSpan =
16378                             SrcSpan "tests/examples/DerivingVia.hs" 239 20 239 29
16379                         , srcInfoPoints = []
16380                         }
16381                       (TyApp
16382                          SrcSpanInfo
16383                            { srcInfoSpan =
16384                                SrcSpan "tests/examples/DerivingVia.hs" 239 20 239 29
16385                            , srcInfoPoints = []
16386                            }
16387                          (TyCon
16388                             SrcSpanInfo
16389                               { srcInfoSpan =
16390                                   SrcSpan "tests/examples/DerivingVia.hs" 239 20 239 29
16391                               , srcInfoPoints = []
16392                               }
16393                             (UnQual
16394                                SrcSpanInfo
16395                                  { srcInfoSpan =
16396                                      SrcSpan "tests/examples/DerivingVia.hs" 239 20 239 27
16397                                  , srcInfoPoints = []
16398                                  }
16399                                (Ident
16400                                   SrcSpanInfo
16401                                     { srcInfoSpan =
16402                                         SrcSpan "tests/examples/DerivingVia.hs" 239 20 239 27
16403                                     , srcInfoPoints = []
16404                                     }
16405                                   "Pointed")))
16406                          (TyVar
16407                             SrcSpanInfo
16408                               { srcInfoSpan =
16409                                   SrcSpan "tests/examples/DerivingVia.hs" 239 28 239 29
16410                               , srcInfoPoints = []
16411                               }
16412                             (Ident
16413                                SrcSpanInfo
16414                                  { srcInfoSpan =
16415                                      SrcSpan "tests/examples/DerivingVia.hs" 239 28 239 29
16416                                  , srcInfoPoints = []
16417                                  }
16418                                "m")))
16419                   ]))
16420             (IHApp
16421                SrcSpanInfo
16422                  { srcInfoSpan =
16423                      SrcSpan "tests/examples/DerivingVia.hs" 239 34 239 59
16424                  , srcInfoPoints = []
16425                  }
16426                (IHCon
16427                   SrcSpanInfo
16428                     { srcInfoSpan =
16429                         SrcSpan "tests/examples/DerivingVia.hs" 239 34 239 45
16430                     , srcInfoPoints = []
16431                     }
16432                   (UnQual
16433                      SrcSpanInfo
16434                        { srcInfoSpan =
16435                            SrcSpan "tests/examples/DerivingVia.hs" 239 34 239 45
16436                        , srcInfoPoints = []
16437                        }
16438                      (Ident
16439                         SrcSpanInfo
16440                           { srcInfoSpan =
16441                               SrcSpan "tests/examples/DerivingVia.hs" 239 34 239 45
16442                           , srcInfoPoints = []
16443                           }
16444                         "Applicative")))
16445                (TyParen
16446                   SrcSpanInfo
16447                     { srcInfoSpan =
16448                         SrcSpan "tests/examples/DerivingVia.hs" 239 46 239 59
16449                     , srcInfoPoints =
16450                         [ SrcSpan "tests/examples/DerivingVia.hs" 239 46 239 47
16451                         , SrcSpan "tests/examples/DerivingVia.hs" 239 58 239 59
16452                         ]
16453                     }
16454                   (TyApp
16455                      SrcSpanInfo
16456                        { srcInfoSpan =
16457                            SrcSpan "tests/examples/DerivingVia.hs" 239 47 239 58
16458                        , srcInfoPoints = []
16459                        }
16460                      (TyCon
16461                         SrcSpanInfo
16462                           { srcInfoSpan =
16463                               SrcSpan "tests/examples/DerivingVia.hs" 239 47 239 56
16464                           , srcInfoPoints = []
16465                           }
16466                         (UnQual
16467                            SrcSpanInfo
16468                              { srcInfoSpan =
16469                                  SrcSpan "tests/examples/DerivingVia.hs" 239 47 239 56
16470                              , srcInfoPoints = []
16471                              }
16472                            (Ident
16473                               SrcSpanInfo
16474                                 { srcInfoSpan =
16475                                     SrcSpan "tests/examples/DerivingVia.hs" 239 47 239 56
16476                                 , srcInfoPoints = []
16477                                 }
16478                               "WrapMonad")))
16479                      (TyVar
16480                         SrcSpanInfo
16481                           { srcInfoSpan =
16482                               SrcSpan "tests/examples/DerivingVia.hs" 239 57 239 58
16483                           , srcInfoPoints = []
16484                           }
16485                         (Ident
16486                            SrcSpanInfo
16487                              { srcInfoSpan =
16488                                  SrcSpan "tests/examples/DerivingVia.hs" 239 57 239 58
16489                              , srcInfoPoints = []
16490                              }
16491                            "m"))))))
16492          (Just
16493             [ InsDecl
16494                 SrcSpanInfo
16495                   { srcInfoSpan =
16496                       SrcSpan "tests/examples/DerivingVia.hs" 240 3 240 18
16497                   , srcInfoPoints = []
16498                   }
16499                 (PatBind
16500                    SrcSpanInfo
16501                      { srcInfoSpan =
16502                          SrcSpan "tests/examples/DerivingVia.hs" 240 3 240 18
16503                      , srcInfoPoints = []
16504                      }
16505                    (PVar
16506                       SrcSpanInfo
16507                         { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 240 3 240 7
16508                         , srcInfoPoints = []
16509                         }
16510                       (Ident
16511                          SrcSpanInfo
16512                            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 240 3 240 7
16513                            , srcInfoPoints = []
16514                            }
16515                          "pure"))
16516                    (UnGuardedRhs
16517                       SrcSpanInfo
16518                         { srcInfoSpan =
16519                             SrcSpan "tests/examples/DerivingVia.hs" 240 9 240 18
16520                         , srcInfoPoints =
16521                             [ SrcSpan "tests/examples/DerivingVia.hs" 240 9 240 10 ]
16522                         }
16523                       (Var
16524                          SrcSpanInfo
16525                            { srcInfoSpan =
16526                                SrcSpan "tests/examples/DerivingVia.hs" 240 11 240 18
16527                            , srcInfoPoints = []
16528                            }
16529                          (UnQual
16530                             SrcSpanInfo
16531                               { srcInfoSpan =
16532                                   SrcSpan "tests/examples/DerivingVia.hs" 240 11 240 18
16533                               , srcInfoPoints = []
16534                               }
16535                             (Ident
16536                                SrcSpanInfo
16537                                  { srcInfoSpan =
16538                                      SrcSpan "tests/examples/DerivingVia.hs" 240 11 240 18
16539                                  , srcInfoPoints = []
16540                                  }
16541                                "pointed"))))
16542                    Nothing)
16543             , InsDecl
16544                 SrcSpanInfo
16545                   { srcInfoSpan =
16546                       SrcSpan "tests/examples/DerivingVia.hs" 241 3 241 13
16547                   , srcInfoPoints = []
16548                   }
16549                 (PatBind
16550                    SrcSpanInfo
16551                      { srcInfoSpan =
16552                          SrcSpan "tests/examples/DerivingVia.hs" 241 3 241 13
16553                      , srcInfoPoints = []
16554                      }
16555                    (PVar
16556                       SrcSpanInfo
16557                         { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 241 3 241 8
16558                         , srcInfoPoints =
16559                             [ SrcSpan "tests/examples/DerivingVia.hs" 241 3 241 4
16560                             , SrcSpan "tests/examples/DerivingVia.hs" 241 4 241 7
16561                             , SrcSpan "tests/examples/DerivingVia.hs" 241 7 241 8
16562                             ]
16563                         }
16564                       (Symbol
16565                          SrcSpanInfo
16566                            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 241 4 241 7
16567                            , srcInfoPoints = []
16568                            }
16569                          "<*>"))
16570                    (UnGuardedRhs
16571                       SrcSpanInfo
16572                         { srcInfoSpan =
16573                             SrcSpan "tests/examples/DerivingVia.hs" 241 9 241 13
16574                         , srcInfoPoints =
16575                             [ SrcSpan "tests/examples/DerivingVia.hs" 241 9 241 10 ]
16576                         }
16577                       (Var
16578                          SrcSpanInfo
16579                            { srcInfoSpan =
16580                                SrcSpan "tests/examples/DerivingVia.hs" 241 11 241 13
16581                            , srcInfoPoints = []
16582                            }
16583                          (UnQual
16584                             SrcSpanInfo
16585                               { srcInfoSpan =
16586                                   SrcSpan "tests/examples/DerivingVia.hs" 241 11 241 13
16587                               , srcInfoPoints = []
16588                               }
16589                             (Ident
16590                                SrcSpanInfo
16591                                  { srcInfoSpan =
16592                                      SrcSpan "tests/examples/DerivingVia.hs" 241 11 241 13
16593                                  , srcInfoPoints = []
16594                                  }
16595                                "ap"))))
16596                    Nothing)
16597             ])
16598      , DataDecl
16599          SrcSpanInfo
16600            { srcInfoSpan =
16601                SrcSpan "tests/examples/DerivingVia.hs" 244 1 247 58
16602            , srcInfoPoints =
16603                [ SrcSpan "tests/examples/DerivingVia.hs" 244 15 244 16 ]
16604            }
16605          (DataType
16606             SrcSpanInfo
16607               { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 244 1 244 5
16608               , srcInfoPoints = []
16609               })
16610          Nothing
16611          (DHApp
16612             SrcSpanInfo
16613               { srcInfoSpan =
16614                   SrcSpan "tests/examples/DerivingVia.hs" 244 6 244 14
16615               , srcInfoPoints = []
16616               }
16617             (DHead
16618                SrcSpanInfo
16619                  { srcInfoSpan =
16620                      SrcSpan "tests/examples/DerivingVia.hs" 244 6 244 12
16621                  , srcInfoPoints = []
16622                  }
16623                (Ident
16624                   SrcSpanInfo
16625                     { srcInfoSpan =
16626                         SrcSpan "tests/examples/DerivingVia.hs" 244 6 244 12
16627                     , srcInfoPoints = []
16628                     }
16629                   "Sorted"))
16630             (UnkindedVar
16631                SrcSpanInfo
16632                  { srcInfoSpan =
16633                      SrcSpan "tests/examples/DerivingVia.hs" 244 13 244 14
16634                  , srcInfoPoints = []
16635                  }
16636                (Ident
16637                   SrcSpanInfo
16638                     { srcInfoSpan =
16639                         SrcSpan "tests/examples/DerivingVia.hs" 244 13 244 14
16640                     , srcInfoPoints = []
16641                     }
16642                   "a")))
16643          [ QualConDecl
16644              SrcSpanInfo
16645                { srcInfoSpan =
16646                    SrcSpan "tests/examples/DerivingVia.hs" 244 17 244 29
16647                , srcInfoPoints = []
16648                }
16649              Nothing
16650              Nothing
16651              (ConDecl
16652                 SrcSpanInfo
16653                   { srcInfoSpan =
16654                       SrcSpan "tests/examples/DerivingVia.hs" 244 17 244 29
16655                   , srcInfoPoints = []
16656                   }
16657                 (Ident
16658                    SrcSpanInfo
16659                      { srcInfoSpan =
16660                          SrcSpan "tests/examples/DerivingVia.hs" 244 17 244 23
16661                      , srcInfoPoints = []
16662                      }
16663                    "Sorted")
16664                 [ TyVar
16665                     SrcSpanInfo
16666                       { srcInfoSpan =
16667                           SrcSpan "tests/examples/DerivingVia.hs" 244 24 244 25
16668                       , srcInfoPoints = []
16669                       }
16670                     (Ident
16671                        SrcSpanInfo
16672                          { srcInfoSpan =
16673                              SrcSpan "tests/examples/DerivingVia.hs" 244 24 244 25
16674                          , srcInfoPoints = []
16675                          }
16676                        "a")
16677                 , TyVar
16678                     SrcSpanInfo
16679                       { srcInfoSpan =
16680                           SrcSpan "tests/examples/DerivingVia.hs" 244 26 244 27
16681                       , srcInfoPoints = []
16682                       }
16683                     (Ident
16684                        SrcSpanInfo
16685                          { srcInfoSpan =
16686                              SrcSpan "tests/examples/DerivingVia.hs" 244 26 244 27
16687                          , srcInfoPoints = []
16688                          }
16689                        "a")
16690                 , TyVar
16691                     SrcSpanInfo
16692                       { srcInfoSpan =
16693                           SrcSpan "tests/examples/DerivingVia.hs" 244 28 244 29
16694                       , srcInfoPoints = []
16695                       }
16696                     (Ident
16697                        SrcSpanInfo
16698                          { srcInfoSpan =
16699                              SrcSpan "tests/examples/DerivingVia.hs" 244 28 244 29
16700                          , srcInfoPoints = []
16701                          }
16702                        "a")
16703                 ])
16704          ]
16705          [ Deriving
16706              SrcSpanInfo
16707                { srcInfoSpan =
16708                    SrcSpan "tests/examples/DerivingVia.hs" 245 3 245 34
16709                , srcInfoPoints =
16710                    [ SrcSpan "tests/examples/DerivingVia.hs" 245 3 245 11
16711                    , SrcSpan "tests/examples/DerivingVia.hs" 245 12 245 13
16712                    , SrcSpan "tests/examples/DerivingVia.hs" 245 20 245 21
16713                    , SrcSpan "tests/examples/DerivingVia.hs" 245 33 245 34
16714                    ]
16715                }
16716              (Just
16717                 (DerivVia
16718                    SrcSpanInfo
16719                      { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 246 5 246 8
16720                      , srcInfoPoints = []
16721                      }
16722                    (TyParen
16723                       SrcSpanInfo
16724                         { srcInfoSpan =
16725                             SrcSpan "tests/examples/DerivingVia.hs" 246 9 246 27
16726                         , srcInfoPoints =
16727                             [ SrcSpan "tests/examples/DerivingVia.hs" 246 9 246 10
16728                             , SrcSpan "tests/examples/DerivingVia.hs" 246 26 246 27
16729                             ]
16730                         }
16731                       (TyApp
16732                          SrcSpanInfo
16733                            { srcInfoSpan =
16734                                SrcSpan "tests/examples/DerivingVia.hs" 246 10 246 26
16735                            , srcInfoPoints = []
16736                            }
16737                          (TyCon
16738                             SrcSpanInfo
16739                               { srcInfoSpan =
16740                                   SrcSpan "tests/examples/DerivingVia.hs" 246 10 246 19
16741                               , srcInfoPoints = []
16742                               }
16743                             (UnQual
16744                                SrcSpanInfo
16745                                  { srcInfoSpan =
16746                                      SrcSpan "tests/examples/DerivingVia.hs" 246 10 246 19
16747                                  , srcInfoPoints = []
16748                                  }
16749                                (Ident
16750                                   SrcSpanInfo
16751                                     { srcInfoSpan =
16752                                         SrcSpan "tests/examples/DerivingVia.hs" 246 10 246 19
16753                                     , srcInfoPoints = []
16754                                     }
16755                                   "WrapMonad")))
16756                          (TyCon
16757                             SrcSpanInfo
16758                               { srcInfoSpan =
16759                                   SrcSpan "tests/examples/DerivingVia.hs" 246 20 246 26
16760                               , srcInfoPoints = []
16761                               }
16762                             (UnQual
16763                                SrcSpanInfo
16764                                  { srcInfoSpan =
16765                                      SrcSpan "tests/examples/DerivingVia.hs" 246 20 246 26
16766                                  , srcInfoPoints = []
16767                                  }
16768                                (Ident
16769                                   SrcSpanInfo
16770                                     { srcInfoSpan =
16771                                         SrcSpan "tests/examples/DerivingVia.hs" 246 20 246 26
16772                                     , srcInfoPoints = []
16773                                     }
16774                                   "Sorted")))))))
16775              [ IRule
16776                  SrcSpanInfo
16777                    { srcInfoSpan =
16778                        SrcSpan "tests/examples/DerivingVia.hs" 245 13 245 20
16779                    , srcInfoPoints = []
16780                    }
16781                  Nothing
16782                  Nothing
16783                  (IHCon
16784                     SrcSpanInfo
16785                       { srcInfoSpan =
16786                           SrcSpan "tests/examples/DerivingVia.hs" 245 13 245 20
16787                       , srcInfoPoints = []
16788                       }
16789                     (UnQual
16790                        SrcSpanInfo
16791                          { srcInfoSpan =
16792                              SrcSpan "tests/examples/DerivingVia.hs" 245 13 245 20
16793                          , srcInfoPoints = []
16794                          }
16795                        (Ident
16796                           SrcSpanInfo
16797                             { srcInfoSpan =
16798                                 SrcSpan "tests/examples/DerivingVia.hs" 245 13 245 20
16799                             , srcInfoPoints = []
16800                             }
16801                           "Functor")))
16802              , IRule
16803                  SrcSpanInfo
16804                    { srcInfoSpan =
16805                        SrcSpan "tests/examples/DerivingVia.hs" 245 22 245 33
16806                    , srcInfoPoints = []
16807                    }
16808                  Nothing
16809                  Nothing
16810                  (IHCon
16811                     SrcSpanInfo
16812                       { srcInfoSpan =
16813                           SrcSpan "tests/examples/DerivingVia.hs" 245 22 245 33
16814                       , srcInfoPoints = []
16815                       }
16816                     (UnQual
16817                        SrcSpanInfo
16818                          { srcInfoSpan =
16819                              SrcSpan "tests/examples/DerivingVia.hs" 245 22 245 33
16820                          , srcInfoPoints = []
16821                          }
16822                        (Ident
16823                           SrcSpanInfo
16824                             { srcInfoSpan =
16825                                 SrcSpan "tests/examples/DerivingVia.hs" 245 22 245 33
16826                             , srcInfoPoints = []
16827                             }
16828                           "Applicative")))
16829              ]
16830          , Deriving
16831              SrcSpanInfo
16832                { srcInfoSpan =
16833                    SrcSpan "tests/examples/DerivingVia.hs" 247 3 247 58
16834                , srcInfoPoints =
16835                    [ SrcSpan "tests/examples/DerivingVia.hs" 247 3 247 11
16836                    , SrcSpan "tests/examples/DerivingVia.hs" 247 12 247 13
16837                    , SrcSpan "tests/examples/DerivingVia.hs" 247 16 247 17
16838                    , SrcSpan "tests/examples/DerivingVia.hs" 247 28 247 29
16839                    , SrcSpan "tests/examples/DerivingVia.hs" 247 38 247 39
16840                    , SrcSpan "tests/examples/DerivingVia.hs" 247 49 247 50
16841                    , SrcSpan "tests/examples/DerivingVia.hs" 247 57 247 58
16842                    ]
16843                }
16844              (Just
16845                 (DerivVia
16846                    SrcSpanInfo
16847                      { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 248 5 248 8
16848                      , srcInfoPoints = []
16849                      }
16850                    (TyParen
16851                       SrcSpanInfo
16852                         { srcInfoSpan =
16853                             SrcSpan "tests/examples/DerivingVia.hs" 248 9 248 35
16854                         , srcInfoPoints =
16855                             [ SrcSpan "tests/examples/DerivingVia.hs" 248 9 248 10
16856                             , SrcSpan "tests/examples/DerivingVia.hs" 248 34 248 35
16857                             ]
16858                         }
16859                       (TyApp
16860                          SrcSpanInfo
16861                            { srcInfoSpan =
16862                                SrcSpan "tests/examples/DerivingVia.hs" 248 10 248 34
16863                            , srcInfoPoints = []
16864                            }
16865                          (TyApp
16866                             SrcSpanInfo
16867                               { srcInfoSpan =
16868                                   SrcSpan "tests/examples/DerivingVia.hs" 248 10 248 32
16869                               , srcInfoPoints = []
16870                               }
16871                             (TyCon
16872                                SrcSpanInfo
16873                                  { srcInfoSpan =
16874                                      SrcSpan "tests/examples/DerivingVia.hs" 248 10 248 25
16875                                  , srcInfoPoints = []
16876                                  }
16877                                (UnQual
16878                                   SrcSpanInfo
16879                                     { srcInfoSpan =
16880                                         SrcSpan "tests/examples/DerivingVia.hs" 248 10 248 25
16881                                     , srcInfoPoints = []
16882                                     }
16883                                   (Ident
16884                                      SrcSpanInfo
16885                                        { srcInfoSpan =
16886                                            SrcSpan "tests/examples/DerivingVia.hs" 248 10 248 25
16887                                        , srcInfoPoints = []
16888                                        }
16889                                      "WrapApplicative")))
16890                             (TyCon
16891                                SrcSpanInfo
16892                                  { srcInfoSpan =
16893                                      SrcSpan "tests/examples/DerivingVia.hs" 248 26 248 32
16894                                  , srcInfoPoints = []
16895                                  }
16896                                (UnQual
16897                                   SrcSpanInfo
16898                                     { srcInfoSpan =
16899                                         SrcSpan "tests/examples/DerivingVia.hs" 248 26 248 32
16900                                     , srcInfoPoints = []
16901                                     }
16902                                   (Ident
16903                                      SrcSpanInfo
16904                                        { srcInfoSpan =
16905                                            SrcSpan "tests/examples/DerivingVia.hs" 248 26 248 32
16906                                        , srcInfoPoints = []
16907                                        }
16908                                      "Sorted"))))
16909                          (TyVar
16910                             SrcSpanInfo
16911                               { srcInfoSpan =
16912                                   SrcSpan "tests/examples/DerivingVia.hs" 248 33 248 34
16913                               , srcInfoPoints = []
16914                               }
16915                             (Ident
16916                                SrcSpanInfo
16917                                  { srcInfoSpan =
16918                                      SrcSpan "tests/examples/DerivingVia.hs" 248 33 248 34
16919                                  , srcInfoPoints = []
16920                                  }
16921                                "a"))))))
16922              [ IRule
16923                  SrcSpanInfo
16924                    { srcInfoSpan =
16925                        SrcSpan "tests/examples/DerivingVia.hs" 247 13 247 16
16926                    , srcInfoPoints = []
16927                    }
16928                  Nothing
16929                  Nothing
16930                  (IHCon
16931                     SrcSpanInfo
16932                       { srcInfoSpan =
16933                           SrcSpan "tests/examples/DerivingVia.hs" 247 13 247 16
16934                       , srcInfoPoints = []
16935                       }
16936                     (UnQual
16937                        SrcSpanInfo
16938                          { srcInfoSpan =
16939                              SrcSpan "tests/examples/DerivingVia.hs" 247 13 247 16
16940                          , srcInfoPoints = []
16941                          }
16942                        (Ident
16943                           SrcSpanInfo
16944                             { srcInfoSpan =
16945                                 SrcSpan "tests/examples/DerivingVia.hs" 247 13 247 16
16946                             , srcInfoPoints = []
16947                             }
16948                           "Num")))
16949              , IRule
16950                  SrcSpanInfo
16951                    { srcInfoSpan =
16952                        SrcSpan "tests/examples/DerivingVia.hs" 247 18 247 28
16953                    , srcInfoPoints = []
16954                    }
16955                  Nothing
16956                  Nothing
16957                  (IHCon
16958                     SrcSpanInfo
16959                       { srcInfoSpan =
16960                           SrcSpan "tests/examples/DerivingVia.hs" 247 18 247 28
16961                       , srcInfoPoints = []
16962                       }
16963                     (UnQual
16964                        SrcSpanInfo
16965                          { srcInfoSpan =
16966                              SrcSpan "tests/examples/DerivingVia.hs" 247 18 247 28
16967                          , srcInfoPoints = []
16968                          }
16969                        (Ident
16970                           SrcSpanInfo
16971                             { srcInfoSpan =
16972                                 SrcSpan "tests/examples/DerivingVia.hs" 247 18 247 28
16973                             , srcInfoPoints = []
16974                             }
16975                           "Fractional")))
16976              , IRule
16977                  SrcSpanInfo
16978                    { srcInfoSpan =
16979                        SrcSpan "tests/examples/DerivingVia.hs" 247 30 247 38
16980                    , srcInfoPoints = []
16981                    }
16982                  Nothing
16983                  Nothing
16984                  (IHCon
16985                     SrcSpanInfo
16986                       { srcInfoSpan =
16987                           SrcSpan "tests/examples/DerivingVia.hs" 247 30 247 38
16988                       , srcInfoPoints = []
16989                       }
16990                     (UnQual
16991                        SrcSpanInfo
16992                          { srcInfoSpan =
16993                              SrcSpan "tests/examples/DerivingVia.hs" 247 30 247 38
16994                          , srcInfoPoints = []
16995                          }
16996                        (Ident
16997                           SrcSpanInfo
16998                             { srcInfoSpan =
16999                                 SrcSpan "tests/examples/DerivingVia.hs" 247 30 247 38
17000                             , srcInfoPoints = []
17001                             }
17002                           "Floating")))
17003              , IRule
17004                  SrcSpanInfo
17005                    { srcInfoSpan =
17006                        SrcSpan "tests/examples/DerivingVia.hs" 247 40 247 49
17007                    , srcInfoPoints = []
17008                    }
17009                  Nothing
17010                  Nothing
17011                  (IHCon
17012                     SrcSpanInfo
17013                       { srcInfoSpan =
17014                           SrcSpan "tests/examples/DerivingVia.hs" 247 40 247 49
17015                       , srcInfoPoints = []
17016                       }
17017                     (UnQual
17018                        SrcSpanInfo
17019                          { srcInfoSpan =
17020                              SrcSpan "tests/examples/DerivingVia.hs" 247 40 247 49
17021                          , srcInfoPoints = []
17022                          }
17023                        (Ident
17024                           SrcSpanInfo
17025                             { srcInfoSpan =
17026                                 SrcSpan "tests/examples/DerivingVia.hs" 247 40 247 49
17027                             , srcInfoPoints = []
17028                             }
17029                           "Semigroup")))
17030              , IRule
17031                  SrcSpanInfo
17032                    { srcInfoSpan =
17033                        SrcSpan "tests/examples/DerivingVia.hs" 247 51 247 57
17034                    , srcInfoPoints = []
17035                    }
17036                  Nothing
17037                  Nothing
17038                  (IHCon
17039                     SrcSpanInfo
17040                       { srcInfoSpan =
17041                           SrcSpan "tests/examples/DerivingVia.hs" 247 51 247 57
17042                       , srcInfoPoints = []
17043                       }
17044                     (UnQual
17045                        SrcSpanInfo
17046                          { srcInfoSpan =
17047                              SrcSpan "tests/examples/DerivingVia.hs" 247 51 247 57
17048                          , srcInfoPoints = []
17049                          }
17050                        (Ident
17051                           SrcSpanInfo
17052                             { srcInfoSpan =
17053                                 SrcSpan "tests/examples/DerivingVia.hs" 247 51 247 57
17054                             , srcInfoPoints = []
17055                             }
17056                           "Monoid")))
17057              ]
17058          ]
17059      , InstDecl
17060          SrcSpanInfo
17061            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 251 1 258 0
17062            , srcInfoPoints =
17063                [ SrcSpan "tests/examples/DerivingVia.hs" 251 1 251 9
17064                , SrcSpan "tests/examples/DerivingVia.hs" 251 23 251 28
17065                , SrcSpan "tests/examples/DerivingVia.hs" 252 3 252 3
17066                , SrcSpan "tests/examples/DerivingVia.hs" 253 3 253 3
17067                , SrcSpan "tests/examples/DerivingVia.hs" 258 1 258 0
17068                ]
17069            }
17070          Nothing
17071          (IRule
17072             SrcSpanInfo
17073               { srcInfoSpan =
17074                   SrcSpan "tests/examples/DerivingVia.hs" 251 10 251 22
17075               , srcInfoPoints = []
17076               }
17077             Nothing
17078             Nothing
17079             (IHApp
17080                SrcSpanInfo
17081                  { srcInfoSpan =
17082                      SrcSpan "tests/examples/DerivingVia.hs" 251 10 251 22
17083                  , srcInfoPoints = []
17084                  }
17085                (IHCon
17086                   SrcSpanInfo
17087                     { srcInfoSpan =
17088                         SrcSpan "tests/examples/DerivingVia.hs" 251 10 251 15
17089                     , srcInfoPoints = []
17090                     }
17091                   (UnQual
17092                      SrcSpanInfo
17093                        { srcInfoSpan =
17094                            SrcSpan "tests/examples/DerivingVia.hs" 251 10 251 15
17095                        , srcInfoPoints = []
17096                        }
17097                      (Ident
17098                         SrcSpanInfo
17099                           { srcInfoSpan =
17100                               SrcSpan "tests/examples/DerivingVia.hs" 251 10 251 15
17101                           , srcInfoPoints = []
17102                           }
17103                         "Monad")))
17104                (TyCon
17105                   SrcSpanInfo
17106                     { srcInfoSpan =
17107                         SrcSpan "tests/examples/DerivingVia.hs" 251 16 251 22
17108                     , srcInfoPoints = []
17109                     }
17110                   (UnQual
17111                      SrcSpanInfo
17112                        { srcInfoSpan =
17113                            SrcSpan "tests/examples/DerivingVia.hs" 251 16 251 22
17114                        , srcInfoPoints = []
17115                        }
17116                      (Ident
17117                         SrcSpanInfo
17118                           { srcInfoSpan =
17119                               SrcSpan "tests/examples/DerivingVia.hs" 251 16 251 22
17120                           , srcInfoPoints = []
17121                           }
17122                         "Sorted")))))
17123          (Just
17124             [ InsDecl
17125                 SrcSpanInfo
17126                   { srcInfoSpan =
17127                       SrcSpan "tests/examples/DerivingVia.hs" 252 3 252 51
17128                   , srcInfoPoints =
17129                       [ SrcSpan "tests/examples/DerivingVia.hs" 252 9 252 11 ]
17130                   }
17131                 (TypeSig
17132                    SrcSpanInfo
17133                      { srcInfoSpan =
17134                          SrcSpan "tests/examples/DerivingVia.hs" 252 3 252 51
17135                      , srcInfoPoints =
17136                          [ SrcSpan "tests/examples/DerivingVia.hs" 252 9 252 11 ]
17137                      }
17138                    [ Symbol
17139                        SrcSpanInfo
17140                          { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 252 3 252 8
17141                          , srcInfoPoints =
17142                              [ SrcSpan "tests/examples/DerivingVia.hs" 252 3 252 4
17143                              , SrcSpan "tests/examples/DerivingVia.hs" 252 4 252 7
17144                              , SrcSpan "tests/examples/DerivingVia.hs" 252 7 252 8
17145                              ]
17146                          }
17147                        ">>="
17148                    ]
17149                    (TyFun
17150                       SrcSpanInfo
17151                         { srcInfoSpan =
17152                             SrcSpan "tests/examples/DerivingVia.hs" 252 12 252 51
17153                         , srcInfoPoints =
17154                             [ SrcSpan "tests/examples/DerivingVia.hs" 252 21 252 23 ]
17155                         }
17156                       (TyApp
17157                          SrcSpanInfo
17158                            { srcInfoSpan =
17159                                SrcSpan "tests/examples/DerivingVia.hs" 252 12 252 20
17160                            , srcInfoPoints = []
17161                            }
17162                          (TyCon
17163                             SrcSpanInfo
17164                               { srcInfoSpan =
17165                                   SrcSpan "tests/examples/DerivingVia.hs" 252 12 252 18
17166                               , srcInfoPoints = []
17167                               }
17168                             (UnQual
17169                                SrcSpanInfo
17170                                  { srcInfoSpan =
17171                                      SrcSpan "tests/examples/DerivingVia.hs" 252 12 252 18
17172                                  , srcInfoPoints = []
17173                                  }
17174                                (Ident
17175                                   SrcSpanInfo
17176                                     { srcInfoSpan =
17177                                         SrcSpan "tests/examples/DerivingVia.hs" 252 12 252 18
17178                                     , srcInfoPoints = []
17179                                     }
17180                                   "Sorted")))
17181                          (TyVar
17182                             SrcSpanInfo
17183                               { srcInfoSpan =
17184                                   SrcSpan "tests/examples/DerivingVia.hs" 252 19 252 20
17185                               , srcInfoPoints = []
17186                               }
17187                             (Ident
17188                                SrcSpanInfo
17189                                  { srcInfoSpan =
17190                                      SrcSpan "tests/examples/DerivingVia.hs" 252 19 252 20
17191                                  , srcInfoPoints = []
17192                                  }
17193                                "a")))
17194                       (TyFun
17195                          SrcSpanInfo
17196                            { srcInfoSpan =
17197                                SrcSpan "tests/examples/DerivingVia.hs" 252 24 252 51
17198                            , srcInfoPoints =
17199                                [ SrcSpan "tests/examples/DerivingVia.hs" 252 40 252 42 ]
17200                            }
17201                          (TyParen
17202                             SrcSpanInfo
17203                               { srcInfoSpan =
17204                                   SrcSpan "tests/examples/DerivingVia.hs" 252 24 252 39
17205                               , srcInfoPoints =
17206                                   [ SrcSpan "tests/examples/DerivingVia.hs" 252 24 252 25
17207                                   , SrcSpan "tests/examples/DerivingVia.hs" 252 38 252 39
17208                                   ]
17209                               }
17210                             (TyFun
17211                                SrcSpanInfo
17212                                  { srcInfoSpan =
17213                                      SrcSpan "tests/examples/DerivingVia.hs" 252 25 252 38
17214                                  , srcInfoPoints =
17215                                      [ SrcSpan "tests/examples/DerivingVia.hs" 252 27 252 29 ]
17216                                  }
17217                                (TyVar
17218                                   SrcSpanInfo
17219                                     { srcInfoSpan =
17220                                         SrcSpan "tests/examples/DerivingVia.hs" 252 25 252 26
17221                                     , srcInfoPoints = []
17222                                     }
17223                                   (Ident
17224                                      SrcSpanInfo
17225                                        { srcInfoSpan =
17226                                            SrcSpan "tests/examples/DerivingVia.hs" 252 25 252 26
17227                                        , srcInfoPoints = []
17228                                        }
17229                                      "a"))
17230                                (TyApp
17231                                   SrcSpanInfo
17232                                     { srcInfoSpan =
17233                                         SrcSpan "tests/examples/DerivingVia.hs" 252 30 252 38
17234                                     , srcInfoPoints = []
17235                                     }
17236                                   (TyCon
17237                                      SrcSpanInfo
17238                                        { srcInfoSpan =
17239                                            SrcSpan "tests/examples/DerivingVia.hs" 252 30 252 36
17240                                        , srcInfoPoints = []
17241                                        }
17242                                      (UnQual
17243                                         SrcSpanInfo
17244                                           { srcInfoSpan =
17245                                               SrcSpan "tests/examples/DerivingVia.hs" 252 30 252 36
17246                                           , srcInfoPoints = []
17247                                           }
17248                                         (Ident
17249                                            SrcSpanInfo
17250                                              { srcInfoSpan =
17251                                                  SrcSpan
17252                                                    "tests/examples/DerivingVia.hs" 252 30 252 36
17253                                              , srcInfoPoints = []
17254                                              }
17255                                            "Sorted")))
17256                                   (TyVar
17257                                      SrcSpanInfo
17258                                        { srcInfoSpan =
17259                                            SrcSpan "tests/examples/DerivingVia.hs" 252 37 252 38
17260                                        , srcInfoPoints = []
17261                                        }
17262                                      (Ident
17263                                         SrcSpanInfo
17264                                           { srcInfoSpan =
17265                                               SrcSpan "tests/examples/DerivingVia.hs" 252 37 252 38
17266                                           , srcInfoPoints = []
17267                                           }
17268                                         "b")))))
17269                          (TyApp
17270                             SrcSpanInfo
17271                               { srcInfoSpan =
17272                                   SrcSpan "tests/examples/DerivingVia.hs" 252 43 252 51
17273                               , srcInfoPoints = []
17274                               }
17275                             (TyCon
17276                                SrcSpanInfo
17277                                  { srcInfoSpan =
17278                                      SrcSpan "tests/examples/DerivingVia.hs" 252 43 252 49
17279                                  , srcInfoPoints = []
17280                                  }
17281                                (UnQual
17282                                   SrcSpanInfo
17283                                     { srcInfoSpan =
17284                                         SrcSpan "tests/examples/DerivingVia.hs" 252 43 252 49
17285                                     , srcInfoPoints = []
17286                                     }
17287                                   (Ident
17288                                      SrcSpanInfo
17289                                        { srcInfoSpan =
17290                                            SrcSpan "tests/examples/DerivingVia.hs" 252 43 252 49
17291                                        , srcInfoPoints = []
17292                                        }
17293                                      "Sorted")))
17294                             (TyVar
17295                                SrcSpanInfo
17296                                  { srcInfoSpan =
17297                                      SrcSpan "tests/examples/DerivingVia.hs" 252 50 252 51
17298                                  , srcInfoPoints = []
17299                                  }
17300                                (Ident
17301                                   SrcSpanInfo
17302                                     { srcInfoSpan =
17303                                         SrcSpan "tests/examples/DerivingVia.hs" 252 50 252 51
17304                                     , srcInfoPoints = []
17305                                     }
17306                                   "b"))))))
17307             , InsDecl
17308                 SrcSpanInfo
17309                   { srcInfoSpan =
17310                       SrcSpan "tests/examples/DerivingVia.hs" 253 3 256 26
17311                   , srcInfoPoints =
17312                       [ SrcSpan "tests/examples/DerivingVia.hs" 253 40 253 45 ]
17313                   }
17314                 (FunBind
17315                    SrcSpanInfo
17316                      { srcInfoSpan =
17317                          SrcSpan "tests/examples/DerivingVia.hs" 253 3 256 26
17318                      , srcInfoPoints =
17319                          [ SrcSpan "tests/examples/DerivingVia.hs" 253 40 253 45 ]
17320                      }
17321                    [ InfixMatch
17322                        SrcSpanInfo
17323                          { srcInfoSpan =
17324                              SrcSpan "tests/examples/DerivingVia.hs" 253 3 256 26
17325                          , srcInfoPoints =
17326                              [ SrcSpan "tests/examples/DerivingVia.hs" 253 40 253 45 ]
17327                          }
17328                        (PApp
17329                           SrcSpanInfo
17330                             { srcInfoSpan =
17331                                 SrcSpan "tests/examples/DerivingVia.hs" 253 3 253 15
17332                             , srcInfoPoints = []
17333                             }
17334                           (UnQual
17335                              SrcSpanInfo
17336                                { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 253 3 253 9
17337                                , srcInfoPoints = []
17338                                }
17339                              (Ident
17340                                 SrcSpanInfo
17341                                   { srcInfoSpan =
17342                                       SrcSpan "tests/examples/DerivingVia.hs" 253 3 253 9
17343                                   , srcInfoPoints = []
17344                                   }
17345                                 "Sorted"))
17346                           [ PVar
17347                               SrcSpanInfo
17348                                 { srcInfoSpan =
17349                                     SrcSpan "tests/examples/DerivingVia.hs" 253 10 253 11
17350                                 , srcInfoPoints = []
17351                                 }
17352                               (Ident
17353                                  SrcSpanInfo
17354                                    { srcInfoSpan =
17355                                        SrcSpan "tests/examples/DerivingVia.hs" 253 10 253 11
17356                                    , srcInfoPoints = []
17357                                    }
17358                                  "a")
17359                           , PVar
17360                               SrcSpanInfo
17361                                 { srcInfoSpan =
17362                                     SrcSpan "tests/examples/DerivingVia.hs" 253 12 253 13
17363                                 , srcInfoPoints = []
17364                                 }
17365                               (Ident
17366                                  SrcSpanInfo
17367                                    { srcInfoSpan =
17368                                        SrcSpan "tests/examples/DerivingVia.hs" 253 12 253 13
17369                                    , srcInfoPoints = []
17370                                    }
17371                                  "b")
17372                           , PVar
17373                               SrcSpanInfo
17374                                 { srcInfoSpan =
17375                                     SrcSpan "tests/examples/DerivingVia.hs" 253 14 253 15
17376                                 , srcInfoPoints = []
17377                                 }
17378                               (Ident
17379                                  SrcSpanInfo
17380                                    { srcInfoSpan =
17381                                        SrcSpan "tests/examples/DerivingVia.hs" 253 14 253 15
17382                                    , srcInfoPoints = []
17383                                    }
17384                                  "c")
17385                           ])
17386                        (Symbol
17387                           SrcSpanInfo
17388                             { srcInfoSpan =
17389                                 SrcSpan "tests/examples/DerivingVia.hs" 253 16 253 19
17390                             , srcInfoPoints = []
17391                             }
17392                           ">>=")
17393                        [ PVar
17394                            SrcSpanInfo
17395                              { srcInfoSpan =
17396                                  SrcSpan "tests/examples/DerivingVia.hs" 253 20 253 21
17397                              , srcInfoPoints = []
17398                              }
17399                            (Ident
17400                               SrcSpanInfo
17401                                 { srcInfoSpan =
17402                                     SrcSpan "tests/examples/DerivingVia.hs" 253 20 253 21
17403                                 , srcInfoPoints = []
17404                                 }
17405                               "f")
17406                        ]
17407                        (UnGuardedRhs
17408                           SrcSpanInfo
17409                             { srcInfoSpan =
17410                                 SrcSpan "tests/examples/DerivingVia.hs" 253 22 253 39
17411                             , srcInfoPoints =
17412                                 [ SrcSpan "tests/examples/DerivingVia.hs" 253 22 253 23 ]
17413                             }
17414                           (App
17415                              SrcSpanInfo
17416                                { srcInfoSpan =
17417                                    SrcSpan "tests/examples/DerivingVia.hs" 253 24 253 39
17418                                , srcInfoPoints = []
17419                                }
17420                              (App
17421                                 SrcSpanInfo
17422                                   { srcInfoSpan =
17423                                       SrcSpan "tests/examples/DerivingVia.hs" 253 24 253 36
17424                                   , srcInfoPoints = []
17425                                   }
17426                                 (App
17427                                    SrcSpanInfo
17428                                      { srcInfoSpan =
17429                                          SrcSpan "tests/examples/DerivingVia.hs" 253 24 253 33
17430                                      , srcInfoPoints = []
17431                                      }
17432                                    (Con
17433                                       SrcSpanInfo
17434                                         { srcInfoSpan =
17435                                             SrcSpan "tests/examples/DerivingVia.hs" 253 24 253 30
17436                                         , srcInfoPoints = []
17437                                         }
17438                                       (UnQual
17439                                          SrcSpanInfo
17440                                            { srcInfoSpan =
17441                                                SrcSpan
17442                                                  "tests/examples/DerivingVia.hs" 253 24 253 30
17443                                            , srcInfoPoints = []
17444                                            }
17445                                          (Ident
17446                                             SrcSpanInfo
17447                                               { srcInfoSpan =
17448                                                   SrcSpan
17449                                                     "tests/examples/DerivingVia.hs" 253 24 253 30
17450                                               , srcInfoPoints = []
17451                                               }
17452                                             "Sorted")))
17453                                    (Var
17454                                       SrcSpanInfo
17455                                         { srcInfoSpan =
17456                                             SrcSpan "tests/examples/DerivingVia.hs" 253 31 253 33
17457                                         , srcInfoPoints = []
17458                                         }
17459                                       (UnQual
17460                                          SrcSpanInfo
17461                                            { srcInfoSpan =
17462                                                SrcSpan
17463                                                  "tests/examples/DerivingVia.hs" 253 31 253 33
17464                                            , srcInfoPoints = []
17465                                            }
17466                                          (Ident
17467                                             SrcSpanInfo
17468                                               { srcInfoSpan =
17469                                                   SrcSpan
17470                                                     "tests/examples/DerivingVia.hs" 253 31 253 33
17471                                               , srcInfoPoints = []
17472                                               }
17473                                             "a'"))))
17474                                 (Var
17475                                    SrcSpanInfo
17476                                      { srcInfoSpan =
17477                                          SrcSpan "tests/examples/DerivingVia.hs" 253 34 253 36
17478                                      , srcInfoPoints = []
17479                                      }
17480                                    (UnQual
17481                                       SrcSpanInfo
17482                                         { srcInfoSpan =
17483                                             SrcSpan "tests/examples/DerivingVia.hs" 253 34 253 36
17484                                         , srcInfoPoints = []
17485                                         }
17486                                       (Ident
17487                                          SrcSpanInfo
17488                                            { srcInfoSpan =
17489                                                SrcSpan
17490                                                  "tests/examples/DerivingVia.hs" 253 34 253 36
17491                                            , srcInfoPoints = []
17492                                            }
17493                                          "b'"))))
17494                              (Var
17495                                 SrcSpanInfo
17496                                   { srcInfoSpan =
17497                                       SrcSpan "tests/examples/DerivingVia.hs" 253 37 253 39
17498                                   , srcInfoPoints = []
17499                                   }
17500                                 (UnQual
17501                                    SrcSpanInfo
17502                                      { srcInfoSpan =
17503                                          SrcSpan "tests/examples/DerivingVia.hs" 253 37 253 39
17504                                      , srcInfoPoints = []
17505                                      }
17506                                    (Ident
17507                                       SrcSpanInfo
17508                                         { srcInfoSpan =
17509                                             SrcSpan "tests/examples/DerivingVia.hs" 253 37 253 39
17510                                         , srcInfoPoints = []
17511                                         }
17512                                       "c'")))))
17513                        (Just
17514                           (BDecls
17515                              SrcSpanInfo
17516                                { srcInfoSpan =
17517                                    SrcSpan "tests/examples/DerivingVia.hs" 254 5 256 26
17518                                , srcInfoPoints =
17519                                    [ SrcSpan "tests/examples/DerivingVia.hs" 254 5 254 5
17520                                    , SrcSpan "tests/examples/DerivingVia.hs" 255 5 255 5
17521                                    , SrcSpan "tests/examples/DerivingVia.hs" 256 5 256 5
17522                                    , SrcSpan "tests/examples/DerivingVia.hs" 258 1 258 0
17523                                    ]
17524                                }
17525                              [ PatBind
17526                                  SrcSpanInfo
17527                                    { srcInfoSpan =
17528                                        SrcSpan "tests/examples/DerivingVia.hs" 254 5 254 26
17529                                    , srcInfoPoints = []
17530                                    }
17531                                  (PApp
17532                                     SrcSpanInfo
17533                                       { srcInfoSpan =
17534                                           SrcSpan "tests/examples/DerivingVia.hs" 254 5 254 19
17535                                       , srcInfoPoints = []
17536                                       }
17537                                     (UnQual
17538                                        SrcSpanInfo
17539                                          { srcInfoSpan =
17540                                              SrcSpan "tests/examples/DerivingVia.hs" 254 5 254 11
17541                                          , srcInfoPoints = []
17542                                          }
17543                                        (Ident
17544                                           SrcSpanInfo
17545                                             { srcInfoSpan =
17546                                                 SrcSpan
17547                                                   "tests/examples/DerivingVia.hs" 254 5 254 11
17548                                             , srcInfoPoints = []
17549                                             }
17550                                           "Sorted"))
17551                                     [ PVar
17552                                         SrcSpanInfo
17553                                           { srcInfoSpan =
17554                                               SrcSpan "tests/examples/DerivingVia.hs" 254 12 254 14
17555                                           , srcInfoPoints = []
17556                                           }
17557                                         (Ident
17558                                            SrcSpanInfo
17559                                              { srcInfoSpan =
17560                                                  SrcSpan
17561                                                    "tests/examples/DerivingVia.hs" 254 12 254 14
17562                                              , srcInfoPoints = []
17563                                              }
17564                                            "a'")
17565                                     , PWildCard
17566                                         SrcSpanInfo
17567                                           { srcInfoSpan =
17568                                               SrcSpan "tests/examples/DerivingVia.hs" 254 15 254 16
17569                                           , srcInfoPoints = []
17570                                           }
17571                                     , PWildCard
17572                                         SrcSpanInfo
17573                                           { srcInfoSpan =
17574                                               SrcSpan "tests/examples/DerivingVia.hs" 254 18 254 19
17575                                           , srcInfoPoints = []
17576                                           }
17577                                     ])
17578                                  (UnGuardedRhs
17579                                     SrcSpanInfo
17580                                       { srcInfoSpan =
17581                                           SrcSpan "tests/examples/DerivingVia.hs" 254 21 254 26
17582                                       , srcInfoPoints =
17583                                           [ SrcSpan "tests/examples/DerivingVia.hs" 254 21 254 22 ]
17584                                       }
17585                                     (App
17586                                        SrcSpanInfo
17587                                          { srcInfoSpan =
17588                                              SrcSpan "tests/examples/DerivingVia.hs" 254 23 254 26
17589                                          , srcInfoPoints = []
17590                                          }
17591                                        (Var
17592                                           SrcSpanInfo
17593                                             { srcInfoSpan =
17594                                                 SrcSpan
17595                                                   "tests/examples/DerivingVia.hs" 254 23 254 24
17596                                             , srcInfoPoints = []
17597                                             }
17598                                           (UnQual
17599                                              SrcSpanInfo
17600                                                { srcInfoSpan =
17601                                                    SrcSpan
17602                                                      "tests/examples/DerivingVia.hs" 254 23 254 24
17603                                                , srcInfoPoints = []
17604                                                }
17605                                              (Ident
17606                                                 SrcSpanInfo
17607                                                   { srcInfoSpan =
17608                                                       SrcSpan
17609                                                         "tests/examples/DerivingVia.hs"
17610                                                         254
17611                                                         23
17612                                                         254
17613                                                         24
17614                                                   , srcInfoPoints = []
17615                                                   }
17616                                                 "f")))
17617                                        (Var
17618                                           SrcSpanInfo
17619                                             { srcInfoSpan =
17620                                                 SrcSpan
17621                                                   "tests/examples/DerivingVia.hs" 254 25 254 26
17622                                             , srcInfoPoints = []
17623                                             }
17624                                           (UnQual
17625                                              SrcSpanInfo
17626                                                { srcInfoSpan =
17627                                                    SrcSpan
17628                                                      "tests/examples/DerivingVia.hs" 254 25 254 26
17629                                                , srcInfoPoints = []
17630                                                }
17631                                              (Ident
17632                                                 SrcSpanInfo
17633                                                   { srcInfoSpan =
17634                                                       SrcSpan
17635                                                         "tests/examples/DerivingVia.hs"
17636                                                         254
17637                                                         25
17638                                                         254
17639                                                         26
17640                                                   , srcInfoPoints = []
17641                                                   }
17642                                                 "a")))))
17643                                  Nothing
17644                              , PatBind
17645                                  SrcSpanInfo
17646                                    { srcInfoSpan =
17647                                        SrcSpan "tests/examples/DerivingVia.hs" 255 5 255 26
17648                                    , srcInfoPoints = []
17649                                    }
17650                                  (PApp
17651                                     SrcSpanInfo
17652                                       { srcInfoSpan =
17653                                           SrcSpan "tests/examples/DerivingVia.hs" 255 5 255 19
17654                                       , srcInfoPoints = []
17655                                       }
17656                                     (UnQual
17657                                        SrcSpanInfo
17658                                          { srcInfoSpan =
17659                                              SrcSpan "tests/examples/DerivingVia.hs" 255 5 255 11
17660                                          , srcInfoPoints = []
17661                                          }
17662                                        (Ident
17663                                           SrcSpanInfo
17664                                             { srcInfoSpan =
17665                                                 SrcSpan
17666                                                   "tests/examples/DerivingVia.hs" 255 5 255 11
17667                                             , srcInfoPoints = []
17668                                             }
17669                                           "Sorted"))
17670                                     [ PWildCard
17671                                         SrcSpanInfo
17672                                           { srcInfoSpan =
17673                                               SrcSpan "tests/examples/DerivingVia.hs" 255 12 255 13
17674                                           , srcInfoPoints = []
17675                                           }
17676                                     , PVar
17677                                         SrcSpanInfo
17678                                           { srcInfoSpan =
17679                                               SrcSpan "tests/examples/DerivingVia.hs" 255 15 255 17
17680                                           , srcInfoPoints = []
17681                                           }
17682                                         (Ident
17683                                            SrcSpanInfo
17684                                              { srcInfoSpan =
17685                                                  SrcSpan
17686                                                    "tests/examples/DerivingVia.hs" 255 15 255 17
17687                                              , srcInfoPoints = []
17688                                              }
17689                                            "b'")
17690                                     , PWildCard
17691                                         SrcSpanInfo
17692                                           { srcInfoSpan =
17693                                               SrcSpan "tests/examples/DerivingVia.hs" 255 18 255 19
17694                                           , srcInfoPoints = []
17695                                           }
17696                                     ])
17697                                  (UnGuardedRhs
17698                                     SrcSpanInfo
17699                                       { srcInfoSpan =
17700                                           SrcSpan "tests/examples/DerivingVia.hs" 255 21 255 26
17701                                       , srcInfoPoints =
17702                                           [ SrcSpan "tests/examples/DerivingVia.hs" 255 21 255 22 ]
17703                                       }
17704                                     (App
17705                                        SrcSpanInfo
17706                                          { srcInfoSpan =
17707                                              SrcSpan "tests/examples/DerivingVia.hs" 255 23 255 26
17708                                          , srcInfoPoints = []
17709                                          }
17710                                        (Var
17711                                           SrcSpanInfo
17712                                             { srcInfoSpan =
17713                                                 SrcSpan
17714                                                   "tests/examples/DerivingVia.hs" 255 23 255 24
17715                                             , srcInfoPoints = []
17716                                             }
17717                                           (UnQual
17718                                              SrcSpanInfo
17719                                                { srcInfoSpan =
17720                                                    SrcSpan
17721                                                      "tests/examples/DerivingVia.hs" 255 23 255 24
17722                                                , srcInfoPoints = []
17723                                                }
17724                                              (Ident
17725                                                 SrcSpanInfo
17726                                                   { srcInfoSpan =
17727                                                       SrcSpan
17728                                                         "tests/examples/DerivingVia.hs"
17729                                                         255
17730                                                         23
17731                                                         255
17732                                                         24
17733                                                   , srcInfoPoints = []
17734                                                   }
17735                                                 "f")))
17736                                        (Var
17737                                           SrcSpanInfo
17738                                             { srcInfoSpan =
17739                                                 SrcSpan
17740                                                   "tests/examples/DerivingVia.hs" 255 25 255 26
17741                                             , srcInfoPoints = []
17742                                             }
17743                                           (UnQual
17744                                              SrcSpanInfo
17745                                                { srcInfoSpan =
17746                                                    SrcSpan
17747                                                      "tests/examples/DerivingVia.hs" 255 25 255 26
17748                                                , srcInfoPoints = []
17749                                                }
17750                                              (Ident
17751                                                 SrcSpanInfo
17752                                                   { srcInfoSpan =
17753                                                       SrcSpan
17754                                                         "tests/examples/DerivingVia.hs"
17755                                                         255
17756                                                         25
17757                                                         255
17758                                                         26
17759                                                   , srcInfoPoints = []
17760                                                   }
17761                                                 "b")))))
17762                                  Nothing
17763                              , PatBind
17764                                  SrcSpanInfo
17765                                    { srcInfoSpan =
17766                                        SrcSpan "tests/examples/DerivingVia.hs" 256 5 256 26
17767                                    , srcInfoPoints = []
17768                                    }
17769                                  (PApp
17770                                     SrcSpanInfo
17771                                       { srcInfoSpan =
17772                                           SrcSpan "tests/examples/DerivingVia.hs" 256 5 256 20
17773                                       , srcInfoPoints = []
17774                                       }
17775                                     (UnQual
17776                                        SrcSpanInfo
17777                                          { srcInfoSpan =
17778                                              SrcSpan "tests/examples/DerivingVia.hs" 256 5 256 11
17779                                          , srcInfoPoints = []
17780                                          }
17781                                        (Ident
17782                                           SrcSpanInfo
17783                                             { srcInfoSpan =
17784                                                 SrcSpan
17785                                                   "tests/examples/DerivingVia.hs" 256 5 256 11
17786                                             , srcInfoPoints = []
17787                                             }
17788                                           "Sorted"))
17789                                     [ PWildCard
17790                                         SrcSpanInfo
17791                                           { srcInfoSpan =
17792                                               SrcSpan "tests/examples/DerivingVia.hs" 256 12 256 13
17793                                           , srcInfoPoints = []
17794                                           }
17795                                     , PWildCard
17796                                         SrcSpanInfo
17797                                           { srcInfoSpan =
17798                                               SrcSpan "tests/examples/DerivingVia.hs" 256 15 256 16
17799                                           , srcInfoPoints = []
17800                                           }
17801                                     , PVar
17802                                         SrcSpanInfo
17803                                           { srcInfoSpan =
17804                                               SrcSpan "tests/examples/DerivingVia.hs" 256 18 256 20
17805                                           , srcInfoPoints = []
17806                                           }
17807                                         (Ident
17808                                            SrcSpanInfo
17809                                              { srcInfoSpan =
17810                                                  SrcSpan
17811                                                    "tests/examples/DerivingVia.hs" 256 18 256 20
17812                                              , srcInfoPoints = []
17813                                              }
17814                                            "c'")
17815                                     ])
17816                                  (UnGuardedRhs
17817                                     SrcSpanInfo
17818                                       { srcInfoSpan =
17819                                           SrcSpan "tests/examples/DerivingVia.hs" 256 21 256 26
17820                                       , srcInfoPoints =
17821                                           [ SrcSpan "tests/examples/DerivingVia.hs" 256 21 256 22 ]
17822                                       }
17823                                     (App
17824                                        SrcSpanInfo
17825                                          { srcInfoSpan =
17826                                              SrcSpan "tests/examples/DerivingVia.hs" 256 23 256 26
17827                                          , srcInfoPoints = []
17828                                          }
17829                                        (Var
17830                                           SrcSpanInfo
17831                                             { srcInfoSpan =
17832                                                 SrcSpan
17833                                                   "tests/examples/DerivingVia.hs" 256 23 256 24
17834                                             , srcInfoPoints = []
17835                                             }
17836                                           (UnQual
17837                                              SrcSpanInfo
17838                                                { srcInfoSpan =
17839                                                    SrcSpan
17840                                                      "tests/examples/DerivingVia.hs" 256 23 256 24
17841                                                , srcInfoPoints = []
17842                                                }
17843                                              (Ident
17844                                                 SrcSpanInfo
17845                                                   { srcInfoSpan =
17846                                                       SrcSpan
17847                                                         "tests/examples/DerivingVia.hs"
17848                                                         256
17849                                                         23
17850                                                         256
17851                                                         24
17852                                                   , srcInfoPoints = []
17853                                                   }
17854                                                 "f")))
17855                                        (Var
17856                                           SrcSpanInfo
17857                                             { srcInfoSpan =
17858                                                 SrcSpan
17859                                                   "tests/examples/DerivingVia.hs" 256 25 256 26
17860                                             , srcInfoPoints = []
17861                                             }
17862                                           (UnQual
17863                                              SrcSpanInfo
17864                                                { srcInfoSpan =
17865                                                    SrcSpan
17866                                                      "tests/examples/DerivingVia.hs" 256 25 256 26
17867                                                , srcInfoPoints = []
17868                                                }
17869                                              (Ident
17870                                                 SrcSpanInfo
17871                                                   { srcInfoSpan =
17872                                                       SrcSpan
17873                                                         "tests/examples/DerivingVia.hs"
17874                                                         256
17875                                                         25
17876                                                         256
17877                                                         26
17878                                                   , srcInfoPoints = []
17879                                                   }
17880                                                 "c")))))
17881                                  Nothing
17882                              ]))
17883                    ])
17884             ])
17885      , InstDecl
17886          SrcSpanInfo
17887            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 258 1 265 0
17888            , srcInfoPoints =
17889                [ SrcSpan "tests/examples/DerivingVia.hs" 258 1 258 9
17890                , SrcSpan "tests/examples/DerivingVia.hs" 258 25 258 30
17891                , SrcSpan "tests/examples/DerivingVia.hs" 259 3 259 3
17892                , SrcSpan "tests/examples/DerivingVia.hs" 260 3 260 3
17893                , SrcSpan "tests/examples/DerivingVia.hs" 265 1 265 0
17894                ]
17895            }
17896          Nothing
17897          (IRule
17898             SrcSpanInfo
17899               { srcInfoSpan =
17900                   SrcSpan "tests/examples/DerivingVia.hs" 258 10 258 24
17901               , srcInfoPoints = []
17902               }
17903             Nothing
17904             Nothing
17905             (IHApp
17906                SrcSpanInfo
17907                  { srcInfoSpan =
17908                      SrcSpan "tests/examples/DerivingVia.hs" 258 10 258 24
17909                  , srcInfoPoints = []
17910                  }
17911                (IHCon
17912                   SrcSpanInfo
17913                     { srcInfoSpan =
17914                         SrcSpan "tests/examples/DerivingVia.hs" 258 10 258 17
17915                     , srcInfoPoints = []
17916                     }
17917                   (UnQual
17918                      SrcSpanInfo
17919                        { srcInfoSpan =
17920                            SrcSpan "tests/examples/DerivingVia.hs" 258 10 258 17
17921                        , srcInfoPoints = []
17922                        }
17923                      (Ident
17924                         SrcSpanInfo
17925                           { srcInfoSpan =
17926                               SrcSpan "tests/examples/DerivingVia.hs" 258 10 258 17
17927                           , srcInfoPoints = []
17928                           }
17929                         "Pointed")))
17930                (TyCon
17931                   SrcSpanInfo
17932                     { srcInfoSpan =
17933                         SrcSpan "tests/examples/DerivingVia.hs" 258 18 258 24
17934                     , srcInfoPoints = []
17935                     }
17936                   (UnQual
17937                      SrcSpanInfo
17938                        { srcInfoSpan =
17939                            SrcSpan "tests/examples/DerivingVia.hs" 258 18 258 24
17940                        , srcInfoPoints = []
17941                        }
17942                      (Ident
17943                         SrcSpanInfo
17944                           { srcInfoSpan =
17945                               SrcSpan "tests/examples/DerivingVia.hs" 258 18 258 24
17946                           , srcInfoPoints = []
17947                           }
17948                         "Sorted")))))
17949          (Just
17950             [ InsDecl
17951                 SrcSpanInfo
17952                   { srcInfoSpan =
17953                       SrcSpan "tests/examples/DerivingVia.hs" 259 3 259 27
17954                   , srcInfoPoints =
17955                       [ SrcSpan "tests/examples/DerivingVia.hs" 259 11 259 13 ]
17956                   }
17957                 (TypeSig
17958                    SrcSpanInfo
17959                      { srcInfoSpan =
17960                          SrcSpan "tests/examples/DerivingVia.hs" 259 3 259 27
17961                      , srcInfoPoints =
17962                          [ SrcSpan "tests/examples/DerivingVia.hs" 259 11 259 13 ]
17963                      }
17964                    [ Ident
17965                        SrcSpanInfo
17966                          { srcInfoSpan =
17967                              SrcSpan "tests/examples/DerivingVia.hs" 259 3 259 10
17968                          , srcInfoPoints = []
17969                          }
17970                        "pointed"
17971                    ]
17972                    (TyFun
17973                       SrcSpanInfo
17974                         { srcInfoSpan =
17975                             SrcSpan "tests/examples/DerivingVia.hs" 259 14 259 27
17976                         , srcInfoPoints =
17977                             [ SrcSpan "tests/examples/DerivingVia.hs" 259 16 259 18 ]
17978                         }
17979                       (TyVar
17980                          SrcSpanInfo
17981                            { srcInfoSpan =
17982                                SrcSpan "tests/examples/DerivingVia.hs" 259 14 259 15
17983                            , srcInfoPoints = []
17984                            }
17985                          (Ident
17986                             SrcSpanInfo
17987                               { srcInfoSpan =
17988                                   SrcSpan "tests/examples/DerivingVia.hs" 259 14 259 15
17989                               , srcInfoPoints = []
17990                               }
17991                             "a"))
17992                       (TyApp
17993                          SrcSpanInfo
17994                            { srcInfoSpan =
17995                                SrcSpan "tests/examples/DerivingVia.hs" 259 19 259 27
17996                            , srcInfoPoints = []
17997                            }
17998                          (TyCon
17999                             SrcSpanInfo
18000                               { srcInfoSpan =
18001                                   SrcSpan "tests/examples/DerivingVia.hs" 259 19 259 25
18002                               , srcInfoPoints = []
18003                               }
18004                             (UnQual
18005                                SrcSpanInfo
18006                                  { srcInfoSpan =
18007                                      SrcSpan "tests/examples/DerivingVia.hs" 259 19 259 25
18008                                  , srcInfoPoints = []
18009                                  }
18010                                (Ident
18011                                   SrcSpanInfo
18012                                     { srcInfoSpan =
18013                                         SrcSpan "tests/examples/DerivingVia.hs" 259 19 259 25
18014                                     , srcInfoPoints = []
18015                                     }
18016                                   "Sorted")))
18017                          (TyVar
18018                             SrcSpanInfo
18019                               { srcInfoSpan =
18020                                   SrcSpan "tests/examples/DerivingVia.hs" 259 26 259 27
18021                               , srcInfoPoints = []
18022                               }
18023                             (Ident
18024                                SrcSpanInfo
18025                                  { srcInfoSpan =
18026                                      SrcSpan "tests/examples/DerivingVia.hs" 259 26 259 27
18027                                  , srcInfoPoints = []
18028                                  }
18029                                "a")))))
18030             , InsDecl
18031                 SrcSpanInfo
18032                   { srcInfoSpan =
18033                       SrcSpan "tests/examples/DerivingVia.hs" 260 3 260 27
18034                   , srcInfoPoints = []
18035                   }
18036                 (FunBind
18037                    SrcSpanInfo
18038                      { srcInfoSpan =
18039                          SrcSpan "tests/examples/DerivingVia.hs" 260 3 260 27
18040                      , srcInfoPoints = []
18041                      }
18042                    [ Match
18043                        SrcSpanInfo
18044                          { srcInfoSpan =
18045                              SrcSpan "tests/examples/DerivingVia.hs" 260 3 260 27
18046                          , srcInfoPoints = []
18047                          }
18048                        (Ident
18049                           SrcSpanInfo
18050                             { srcInfoSpan =
18051                                 SrcSpan "tests/examples/DerivingVia.hs" 260 3 260 10
18052                             , srcInfoPoints = []
18053                             }
18054                           "pointed")
18055                        [ PVar
18056                            SrcSpanInfo
18057                              { srcInfoSpan =
18058                                  SrcSpan "tests/examples/DerivingVia.hs" 260 11 260 12
18059                              , srcInfoPoints = []
18060                              }
18061                            (Ident
18062                               SrcSpanInfo
18063                                 { srcInfoSpan =
18064                                     SrcSpan "tests/examples/DerivingVia.hs" 260 11 260 12
18065                                 , srcInfoPoints = []
18066                                 }
18067                               "a")
18068                        ]
18069                        (UnGuardedRhs
18070                           SrcSpanInfo
18071                             { srcInfoSpan =
18072                                 SrcSpan "tests/examples/DerivingVia.hs" 260 13 260 27
18073                             , srcInfoPoints =
18074                                 [ SrcSpan "tests/examples/DerivingVia.hs" 260 13 260 14 ]
18075                             }
18076                           (App
18077                              SrcSpanInfo
18078                                { srcInfoSpan =
18079                                    SrcSpan "tests/examples/DerivingVia.hs" 260 15 260 27
18080                                , srcInfoPoints = []
18081                                }
18082                              (App
18083                                 SrcSpanInfo
18084                                   { srcInfoSpan =
18085                                       SrcSpan "tests/examples/DerivingVia.hs" 260 15 260 25
18086                                   , srcInfoPoints = []
18087                                   }
18088                                 (App
18089                                    SrcSpanInfo
18090                                      { srcInfoSpan =
18091                                          SrcSpan "tests/examples/DerivingVia.hs" 260 15 260 23
18092                                      , srcInfoPoints = []
18093                                      }
18094                                    (Con
18095                                       SrcSpanInfo
18096                                         { srcInfoSpan =
18097                                             SrcSpan "tests/examples/DerivingVia.hs" 260 15 260 21
18098                                         , srcInfoPoints = []
18099                                         }
18100                                       (UnQual
18101                                          SrcSpanInfo
18102                                            { srcInfoSpan =
18103                                                SrcSpan
18104                                                  "tests/examples/DerivingVia.hs" 260 15 260 21
18105                                            , srcInfoPoints = []
18106                                            }
18107                                          (Ident
18108                                             SrcSpanInfo
18109                                               { srcInfoSpan =
18110                                                   SrcSpan
18111                                                     "tests/examples/DerivingVia.hs" 260 15 260 21
18112                                               , srcInfoPoints = []
18113                                               }
18114                                             "Sorted")))
18115                                    (Var
18116                                       SrcSpanInfo
18117                                         { srcInfoSpan =
18118                                             SrcSpan "tests/examples/DerivingVia.hs" 260 22 260 23
18119                                         , srcInfoPoints = []
18120                                         }
18121                                       (UnQual
18122                                          SrcSpanInfo
18123                                            { srcInfoSpan =
18124                                                SrcSpan
18125                                                  "tests/examples/DerivingVia.hs" 260 22 260 23
18126                                            , srcInfoPoints = []
18127                                            }
18128                                          (Ident
18129                                             SrcSpanInfo
18130                                               { srcInfoSpan =
18131                                                   SrcSpan
18132                                                     "tests/examples/DerivingVia.hs" 260 22 260 23
18133                                               , srcInfoPoints = []
18134                                               }
18135                                             "a"))))
18136                                 (Var
18137                                    SrcSpanInfo
18138                                      { srcInfoSpan =
18139                                          SrcSpan "tests/examples/DerivingVia.hs" 260 24 260 25
18140                                      , srcInfoPoints = []
18141                                      }
18142                                    (UnQual
18143                                       SrcSpanInfo
18144                                         { srcInfoSpan =
18145                                             SrcSpan "tests/examples/DerivingVia.hs" 260 24 260 25
18146                                         , srcInfoPoints = []
18147                                         }
18148                                       (Ident
18149                                          SrcSpanInfo
18150                                            { srcInfoSpan =
18151                                                SrcSpan
18152                                                  "tests/examples/DerivingVia.hs" 260 24 260 25
18153                                            , srcInfoPoints = []
18154                                            }
18155                                          "a"))))
18156                              (Var
18157                                 SrcSpanInfo
18158                                   { srcInfoSpan =
18159                                       SrcSpan "tests/examples/DerivingVia.hs" 260 26 260 27
18160                                   , srcInfoPoints = []
18161                                   }
18162                                 (UnQual
18163                                    SrcSpanInfo
18164                                      { srcInfoSpan =
18165                                          SrcSpan "tests/examples/DerivingVia.hs" 260 26 260 27
18166                                      , srcInfoPoints = []
18167                                      }
18168                                    (Ident
18169                                       SrcSpanInfo
18170                                         { srcInfoSpan =
18171                                             SrcSpan "tests/examples/DerivingVia.hs" 260 26 260 27
18172                                         , srcInfoPoints = []
18173                                         }
18174                                       "a")))))
18175                        Nothing
18176                    ])
18177             ])
18178      , ClassDecl
18179          SrcSpanInfo
18180            { srcInfoSpan =
18181                SrcSpan "tests/examples/DerivingVia.hs" 265 1 266 22
18182            , srcInfoPoints =
18183                [ SrcSpan "tests/examples/DerivingVia.hs" 265 1 265 6
18184                , SrcSpan "tests/examples/DerivingVia.hs" 265 16 265 21
18185                , SrcSpan "tests/examples/DerivingVia.hs" 266 3 266 3
18186                , SrcSpan "tests/examples/DerivingVia.hs" 268 1 268 0
18187                ]
18188            }
18189          Nothing
18190          (DHApp
18191             SrcSpanInfo
18192               { srcInfoSpan =
18193                   SrcSpan "tests/examples/DerivingVia.hs" 265 7 265 15
18194               , srcInfoPoints = []
18195               }
18196             (DHead
18197                SrcSpanInfo
18198                  { srcInfoSpan =
18199                      SrcSpan "tests/examples/DerivingVia.hs" 265 7 265 13
18200                  , srcInfoPoints = []
18201                  }
18202                (Ident
18203                   SrcSpanInfo
18204                     { srcInfoSpan =
18205                         SrcSpan "tests/examples/DerivingVia.hs" 265 7 265 13
18206                     , srcInfoPoints = []
18207                     }
18208                   "IsZero"))
18209             (UnkindedVar
18210                SrcSpanInfo
18211                  { srcInfoSpan =
18212                      SrcSpan "tests/examples/DerivingVia.hs" 265 14 265 15
18213                  , srcInfoPoints = []
18214                  }
18215                (Ident
18216                   SrcSpanInfo
18217                     { srcInfoSpan =
18218                         SrcSpan "tests/examples/DerivingVia.hs" 265 14 265 15
18219                     , srcInfoPoints = []
18220                     }
18221                   "a")))
18222          []
18223          (Just
18224             [ ClsDecl
18225                 SrcSpanInfo
18226                   { srcInfoSpan =
18227                       SrcSpan "tests/examples/DerivingVia.hs" 266 3 266 22
18228                   , srcInfoPoints =
18229                       [ SrcSpan "tests/examples/DerivingVia.hs" 266 10 266 12 ]
18230                   }
18231                 (TypeSig
18232                    SrcSpanInfo
18233                      { srcInfoSpan =
18234                          SrcSpan "tests/examples/DerivingVia.hs" 266 3 266 22
18235                      , srcInfoPoints =
18236                          [ SrcSpan "tests/examples/DerivingVia.hs" 266 10 266 12 ]
18237                      }
18238                    [ Ident
18239                        SrcSpanInfo
18240                          { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 266 3 266 9
18241                          , srcInfoPoints = []
18242                          }
18243                        "isZero"
18244                    ]
18245                    (TyFun
18246                       SrcSpanInfo
18247                         { srcInfoSpan =
18248                             SrcSpan "tests/examples/DerivingVia.hs" 266 13 266 22
18249                         , srcInfoPoints =
18250                             [ SrcSpan "tests/examples/DerivingVia.hs" 266 15 266 17 ]
18251                         }
18252                       (TyVar
18253                          SrcSpanInfo
18254                            { srcInfoSpan =
18255                                SrcSpan "tests/examples/DerivingVia.hs" 266 13 266 14
18256                            , srcInfoPoints = []
18257                            }
18258                          (Ident
18259                             SrcSpanInfo
18260                               { srcInfoSpan =
18261                                   SrcSpan "tests/examples/DerivingVia.hs" 266 13 266 14
18262                               , srcInfoPoints = []
18263                               }
18264                             "a"))
18265                       (TyCon
18266                          SrcSpanInfo
18267                            { srcInfoSpan =
18268                                SrcSpan "tests/examples/DerivingVia.hs" 266 18 266 22
18269                            , srcInfoPoints = []
18270                            }
18271                          (UnQual
18272                             SrcSpanInfo
18273                               { srcInfoSpan =
18274                                   SrcSpan "tests/examples/DerivingVia.hs" 266 18 266 22
18275                               , srcInfoPoints = []
18276                               }
18277                             (Ident
18278                                SrcSpanInfo
18279                                  { srcInfoSpan =
18280                                      SrcSpan "tests/examples/DerivingVia.hs" 266 18 266 22
18281                                  , srcInfoPoints = []
18282                                  }
18283                                "Bool")))))
18284             ])
18285      , DataDecl
18286          SrcSpanInfo
18287            { srcInfoSpan =
18288                SrcSpan "tests/examples/DerivingVia.hs" 268 1 268 41
18289            , srcInfoPoints =
18290                [ SrcSpan "tests/examples/DerivingVia.hs" 268 25 268 26 ]
18291            }
18292          (NewType
18293             SrcSpanInfo
18294               { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 268 1 268 8
18295               , srcInfoPoints = []
18296               })
18297          Nothing
18298          (DHApp
18299             SrcSpanInfo
18300               { srcInfoSpan =
18301                   SrcSpan "tests/examples/DerivingVia.hs" 268 9 268 24
18302               , srcInfoPoints = []
18303               }
18304             (DHead
18305                SrcSpanInfo
18306                  { srcInfoSpan =
18307                      SrcSpan "tests/examples/DerivingVia.hs" 268 9 268 21
18308                  , srcInfoPoints = []
18309                  }
18310                (Ident
18311                   SrcSpanInfo
18312                     { srcInfoSpan =
18313                         SrcSpan "tests/examples/DerivingVia.hs" 268 9 268 21
18314                     , srcInfoPoints = []
18315                     }
18316                   "WrappedNumEq"))
18317             (UnkindedVar
18318                SrcSpanInfo
18319                  { srcInfoSpan =
18320                      SrcSpan "tests/examples/DerivingVia.hs" 268 23 268 24
18321                  , srcInfoPoints = []
18322                  }
18323                (Ident
18324                   SrcSpanInfo
18325                     { srcInfoSpan =
18326                         SrcSpan "tests/examples/DerivingVia.hs" 268 23 268 24
18327                     , srcInfoPoints = []
18328                     }
18329                   "a")))
18330          [ QualConDecl
18331              SrcSpanInfo
18332                { srcInfoSpan =
18333                    SrcSpan "tests/examples/DerivingVia.hs" 268 27 268 41
18334                , srcInfoPoints = []
18335                }
18336              Nothing
18337              Nothing
18338              (ConDecl
18339                 SrcSpanInfo
18340                   { srcInfoSpan =
18341                       SrcSpan "tests/examples/DerivingVia.hs" 268 27 268 41
18342                   , srcInfoPoints = []
18343                   }
18344                 (Ident
18345                    SrcSpanInfo
18346                      { srcInfoSpan =
18347                          SrcSpan "tests/examples/DerivingVia.hs" 268 27 268 39
18348                      , srcInfoPoints = []
18349                      }
18350                    "WrappedNumEq")
18351                 [ TyVar
18352                     SrcSpanInfo
18353                       { srcInfoSpan =
18354                           SrcSpan "tests/examples/DerivingVia.hs" 268 40 268 41
18355                       , srcInfoPoints = []
18356                       }
18357                     (Ident
18358                        SrcSpanInfo
18359                          { srcInfoSpan =
18360                              SrcSpan "tests/examples/DerivingVia.hs" 268 40 268 41
18361                          , srcInfoPoints = []
18362                          }
18363                        "a")
18364                 ])
18365          ]
18366          []
18367      , DataDecl
18368          SrcSpanInfo
18369            { srcInfoSpan =
18370                SrcSpan "tests/examples/DerivingVia.hs" 269 1 269 41
18371            , srcInfoPoints =
18372                [ SrcSpan "tests/examples/DerivingVia.hs" 269 25 269 26 ]
18373            }
18374          (NewType
18375             SrcSpanInfo
18376               { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 269 1 269 8
18377               , srcInfoPoints = []
18378               })
18379          Nothing
18380          (DHApp
18381             SrcSpanInfo
18382               { srcInfoSpan =
18383                   SrcSpan "tests/examples/DerivingVia.hs" 269 9 269 24
18384               , srcInfoPoints = []
18385               }
18386             (DHead
18387                SrcSpanInfo
18388                  { srcInfoSpan =
18389                      SrcSpan "tests/examples/DerivingVia.hs" 269 9 269 20
18390                  , srcInfoPoints = []
18391                  }
18392                (Ident
18393                   SrcSpanInfo
18394                     { srcInfoSpan =
18395                         SrcSpan "tests/examples/DerivingVia.hs" 269 9 269 20
18396                     , srcInfoPoints = []
18397                     }
18398                   "WrappedShow"))
18399             (UnkindedVar
18400                SrcSpanInfo
18401                  { srcInfoSpan =
18402                      SrcSpan "tests/examples/DerivingVia.hs" 269 23 269 24
18403                  , srcInfoPoints = []
18404                  }
18405                (Ident
18406                   SrcSpanInfo
18407                     { srcInfoSpan =
18408                         SrcSpan "tests/examples/DerivingVia.hs" 269 23 269 24
18409                     , srcInfoPoints = []
18410                     }
18411                   "a")))
18412          [ QualConDecl
18413              SrcSpanInfo
18414                { srcInfoSpan =
18415                    SrcSpan "tests/examples/DerivingVia.hs" 269 27 269 41
18416                , srcInfoPoints = []
18417                }
18418              Nothing
18419              Nothing
18420              (ConDecl
18421                 SrcSpanInfo
18422                   { srcInfoSpan =
18423                       SrcSpan "tests/examples/DerivingVia.hs" 269 27 269 41
18424                   , srcInfoPoints = []
18425                   }
18426                 (Ident
18427                    SrcSpanInfo
18428                      { srcInfoSpan =
18429                          SrcSpan "tests/examples/DerivingVia.hs" 269 27 269 38
18430                      , srcInfoPoints = []
18431                      }
18432                    "WrappedShow")
18433                 [ TyVar
18434                     SrcSpanInfo
18435                       { srcInfoSpan =
18436                           SrcSpan "tests/examples/DerivingVia.hs" 269 40 269 41
18437                       , srcInfoPoints = []
18438                       }
18439                     (Ident
18440                        SrcSpanInfo
18441                          { srcInfoSpan =
18442                              SrcSpan "tests/examples/DerivingVia.hs" 269 40 269 41
18443                          , srcInfoPoints = []
18444                          }
18445                        "a")
18446                 ])
18447          ]
18448          []
18449      , DataDecl
18450          SrcSpanInfo
18451            { srcInfoSpan =
18452                SrcSpan "tests/examples/DerivingVia.hs" 270 1 270 42
18453            , srcInfoPoints =
18454                [ SrcSpan "tests/examples/DerivingVia.hs" 270 25 270 26 ]
18455            }
18456          (NewType
18457             SrcSpanInfo
18458               { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 270 1 270 8
18459               , srcInfoPoints = []
18460               })
18461          Nothing
18462          (DHApp
18463             SrcSpanInfo
18464               { srcInfoSpan =
18465                   SrcSpan "tests/examples/DerivingVia.hs" 270 9 270 24
18466               , srcInfoPoints = []
18467               }
18468             (DHead
18469                SrcSpanInfo
18470                  { srcInfoSpan =
18471                      SrcSpan "tests/examples/DerivingVia.hs" 270 9 270 22
18472                  , srcInfoPoints = []
18473                  }
18474                (Ident
18475                   SrcSpanInfo
18476                     { srcInfoSpan =
18477                         SrcSpan "tests/examples/DerivingVia.hs" 270 9 270 22
18478                     , srcInfoPoints = []
18479                     }
18480                   "WrappedNumEq2"))
18481             (UnkindedVar
18482                SrcSpanInfo
18483                  { srcInfoSpan =
18484                      SrcSpan "tests/examples/DerivingVia.hs" 270 23 270 24
18485                  , srcInfoPoints = []
18486                  }
18487                (Ident
18488                   SrcSpanInfo
18489                     { srcInfoSpan =
18490                         SrcSpan "tests/examples/DerivingVia.hs" 270 23 270 24
18491                     , srcInfoPoints = []
18492                     }
18493                   "a")))
18494          [ QualConDecl
18495              SrcSpanInfo
18496                { srcInfoSpan =
18497                    SrcSpan "tests/examples/DerivingVia.hs" 270 27 270 42
18498                , srcInfoPoints = []
18499                }
18500              Nothing
18501              Nothing
18502              (ConDecl
18503                 SrcSpanInfo
18504                   { srcInfoSpan =
18505                       SrcSpan "tests/examples/DerivingVia.hs" 270 27 270 42
18506                   , srcInfoPoints = []
18507                   }
18508                 (Ident
18509                    SrcSpanInfo
18510                      { srcInfoSpan =
18511                          SrcSpan "tests/examples/DerivingVia.hs" 270 27 270 40
18512                      , srcInfoPoints = []
18513                      }
18514                    "WrappedNumEq2")
18515                 [ TyVar
18516                     SrcSpanInfo
18517                       { srcInfoSpan =
18518                           SrcSpan "tests/examples/DerivingVia.hs" 270 41 270 42
18519                       , srcInfoPoints = []
18520                       }
18521                     (Ident
18522                        SrcSpanInfo
18523                          { srcInfoSpan =
18524                              SrcSpan "tests/examples/DerivingVia.hs" 270 41 270 42
18525                          , srcInfoPoints = []
18526                          }
18527                        "a")
18528                 ])
18529          ]
18530          []
18531      , InstDecl
18532          SrcSpanInfo
18533            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 272 1 276 0
18534            , srcInfoPoints =
18535                [ SrcSpan "tests/examples/DerivingVia.hs" 272 1 272 9
18536                , SrcSpan "tests/examples/DerivingVia.hs" 272 51 272 56
18537                , SrcSpan "tests/examples/DerivingVia.hs" 273 3 273 3
18538                , SrcSpan "tests/examples/DerivingVia.hs" 274 3 274 3
18539                , SrcSpan "tests/examples/DerivingVia.hs" 276 1 276 0
18540                ]
18541            }
18542          Nothing
18543          (IRule
18544             SrcSpanInfo
18545               { srcInfoSpan =
18546                   SrcSpan "tests/examples/DerivingVia.hs" 272 10 272 50
18547               , srcInfoPoints = []
18548               }
18549             Nothing
18550             (Just
18551                (CxTuple
18552                   SrcSpanInfo
18553                     { srcInfoSpan =
18554                         SrcSpan "tests/examples/DerivingVia.hs" 272 10 272 26
18555                     , srcInfoPoints =
18556                         [ SrcSpan "tests/examples/DerivingVia.hs" 272 10 272 11
18557                         , SrcSpan "tests/examples/DerivingVia.hs" 272 16 272 17
18558                         , SrcSpan "tests/examples/DerivingVia.hs" 272 22 272 23
18559                         , SrcSpan "tests/examples/DerivingVia.hs" 272 24 272 26
18560                         ]
18561                     }
18562                   [ TypeA
18563                       SrcSpanInfo
18564                         { srcInfoSpan =
18565                             SrcSpan "tests/examples/DerivingVia.hs" 272 11 272 16
18566                         , srcInfoPoints = []
18567                         }
18568                       (TyApp
18569                          SrcSpanInfo
18570                            { srcInfoSpan =
18571                                SrcSpan "tests/examples/DerivingVia.hs" 272 11 272 16
18572                            , srcInfoPoints = []
18573                            }
18574                          (TyCon
18575                             SrcSpanInfo
18576                               { srcInfoSpan =
18577                                   SrcSpan "tests/examples/DerivingVia.hs" 272 11 272 16
18578                               , srcInfoPoints = []
18579                               }
18580                             (UnQual
18581                                SrcSpanInfo
18582                                  { srcInfoSpan =
18583                                      SrcSpan "tests/examples/DerivingVia.hs" 272 11 272 14
18584                                  , srcInfoPoints = []
18585                                  }
18586                                (Ident
18587                                   SrcSpanInfo
18588                                     { srcInfoSpan =
18589                                         SrcSpan "tests/examples/DerivingVia.hs" 272 11 272 14
18590                                     , srcInfoPoints = []
18591                                     }
18592                                   "Num")))
18593                          (TyVar
18594                             SrcSpanInfo
18595                               { srcInfoSpan =
18596                                   SrcSpan "tests/examples/DerivingVia.hs" 272 15 272 16
18597                               , srcInfoPoints = []
18598                               }
18599                             (Ident
18600                                SrcSpanInfo
18601                                  { srcInfoSpan =
18602                                      SrcSpan "tests/examples/DerivingVia.hs" 272 15 272 16
18603                                  , srcInfoPoints = []
18604                                  }
18605                                "a")))
18606                   , TypeA
18607                       SrcSpanInfo
18608                         { srcInfoSpan =
18609                             SrcSpan "tests/examples/DerivingVia.hs" 272 18 272 22
18610                         , srcInfoPoints = []
18611                         }
18612                       (TyApp
18613                          SrcSpanInfo
18614                            { srcInfoSpan =
18615                                SrcSpan "tests/examples/DerivingVia.hs" 272 18 272 22
18616                            , srcInfoPoints = []
18617                            }
18618                          (TyCon
18619                             SrcSpanInfo
18620                               { srcInfoSpan =
18621                                   SrcSpan "tests/examples/DerivingVia.hs" 272 18 272 22
18622                               , srcInfoPoints = []
18623                               }
18624                             (UnQual
18625                                SrcSpanInfo
18626                                  { srcInfoSpan =
18627                                      SrcSpan "tests/examples/DerivingVia.hs" 272 18 272 20
18628                                  , srcInfoPoints = []
18629                                  }
18630                                (Ident
18631                                   SrcSpanInfo
18632                                     { srcInfoSpan =
18633                                         SrcSpan "tests/examples/DerivingVia.hs" 272 18 272 20
18634                                     , srcInfoPoints = []
18635                                     }
18636                                   "Eq")))
18637                          (TyVar
18638                             SrcSpanInfo
18639                               { srcInfoSpan =
18640                                   SrcSpan "tests/examples/DerivingVia.hs" 272 21 272 22
18641                               , srcInfoPoints = []
18642                               }
18643                             (Ident
18644                                SrcSpanInfo
18645                                  { srcInfoSpan =
18646                                      SrcSpan "tests/examples/DerivingVia.hs" 272 21 272 22
18647                                  , srcInfoPoints = []
18648                                  }
18649                                "a")))
18650                   ]))
18651             (IHApp
18652                SrcSpanInfo
18653                  { srcInfoSpan =
18654                      SrcSpan "tests/examples/DerivingVia.hs" 272 27 272 50
18655                  , srcInfoPoints = []
18656                  }
18657                (IHCon
18658                   SrcSpanInfo
18659                     { srcInfoSpan =
18660                         SrcSpan "tests/examples/DerivingVia.hs" 272 27 272 33
18661                     , srcInfoPoints = []
18662                     }
18663                   (UnQual
18664                      SrcSpanInfo
18665                        { srcInfoSpan =
18666                            SrcSpan "tests/examples/DerivingVia.hs" 272 27 272 33
18667                        , srcInfoPoints = []
18668                        }
18669                      (Ident
18670                         SrcSpanInfo
18671                           { srcInfoSpan =
18672                               SrcSpan "tests/examples/DerivingVia.hs" 272 27 272 33
18673                           , srcInfoPoints = []
18674                           }
18675                         "IsZero")))
18676                (TyParen
18677                   SrcSpanInfo
18678                     { srcInfoSpan =
18679                         SrcSpan "tests/examples/DerivingVia.hs" 272 34 272 50
18680                     , srcInfoPoints =
18681                         [ SrcSpan "tests/examples/DerivingVia.hs" 272 34 272 35
18682                         , SrcSpan "tests/examples/DerivingVia.hs" 272 49 272 50
18683                         ]
18684                     }
18685                   (TyApp
18686                      SrcSpanInfo
18687                        { srcInfoSpan =
18688                            SrcSpan "tests/examples/DerivingVia.hs" 272 35 272 49
18689                        , srcInfoPoints = []
18690                        }
18691                      (TyCon
18692                         SrcSpanInfo
18693                           { srcInfoSpan =
18694                               SrcSpan "tests/examples/DerivingVia.hs" 272 35 272 47
18695                           , srcInfoPoints = []
18696                           }
18697                         (UnQual
18698                            SrcSpanInfo
18699                              { srcInfoSpan =
18700                                  SrcSpan "tests/examples/DerivingVia.hs" 272 35 272 47
18701                              , srcInfoPoints = []
18702                              }
18703                            (Ident
18704                               SrcSpanInfo
18705                                 { srcInfoSpan =
18706                                     SrcSpan "tests/examples/DerivingVia.hs" 272 35 272 47
18707                                 , srcInfoPoints = []
18708                                 }
18709                               "WrappedNumEq")))
18710                      (TyVar
18711                         SrcSpanInfo
18712                           { srcInfoSpan =
18713                               SrcSpan "tests/examples/DerivingVia.hs" 272 48 272 49
18714                           , srcInfoPoints = []
18715                           }
18716                         (Ident
18717                            SrcSpanInfo
18718                              { srcInfoSpan =
18719                                  SrcSpan "tests/examples/DerivingVia.hs" 272 48 272 49
18720                              , srcInfoPoints = []
18721                              }
18722                            "a"))))))
18723          (Just
18724             [ InsDecl
18725                 SrcSpanInfo
18726                   { srcInfoSpan =
18727                       SrcSpan "tests/examples/DerivingVia.hs" 273 3 273 35
18728                   , srcInfoPoints =
18729                       [ SrcSpan "tests/examples/DerivingVia.hs" 273 10 273 12 ]
18730                   }
18731                 (TypeSig
18732                    SrcSpanInfo
18733                      { srcInfoSpan =
18734                          SrcSpan "tests/examples/DerivingVia.hs" 273 3 273 35
18735                      , srcInfoPoints =
18736                          [ SrcSpan "tests/examples/DerivingVia.hs" 273 10 273 12 ]
18737                      }
18738                    [ Ident
18739                        SrcSpanInfo
18740                          { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 273 3 273 9
18741                          , srcInfoPoints = []
18742                          }
18743                        "isZero"
18744                    ]
18745                    (TyFun
18746                       SrcSpanInfo
18747                         { srcInfoSpan =
18748                             SrcSpan "tests/examples/DerivingVia.hs" 273 13 273 35
18749                         , srcInfoPoints =
18750                             [ SrcSpan "tests/examples/DerivingVia.hs" 273 28 273 30 ]
18751                         }
18752                       (TyApp
18753                          SrcSpanInfo
18754                            { srcInfoSpan =
18755                                SrcSpan "tests/examples/DerivingVia.hs" 273 13 273 27
18756                            , srcInfoPoints = []
18757                            }
18758                          (TyCon
18759                             SrcSpanInfo
18760                               { srcInfoSpan =
18761                                   SrcSpan "tests/examples/DerivingVia.hs" 273 13 273 25
18762                               , srcInfoPoints = []
18763                               }
18764                             (UnQual
18765                                SrcSpanInfo
18766                                  { srcInfoSpan =
18767                                      SrcSpan "tests/examples/DerivingVia.hs" 273 13 273 25
18768                                  , srcInfoPoints = []
18769                                  }
18770                                (Ident
18771                                   SrcSpanInfo
18772                                     { srcInfoSpan =
18773                                         SrcSpan "tests/examples/DerivingVia.hs" 273 13 273 25
18774                                     , srcInfoPoints = []
18775                                     }
18776                                   "WrappedNumEq")))
18777                          (TyVar
18778                             SrcSpanInfo
18779                               { srcInfoSpan =
18780                                   SrcSpan "tests/examples/DerivingVia.hs" 273 26 273 27
18781                               , srcInfoPoints = []
18782                               }
18783                             (Ident
18784                                SrcSpanInfo
18785                                  { srcInfoSpan =
18786                                      SrcSpan "tests/examples/DerivingVia.hs" 273 26 273 27
18787                                  , srcInfoPoints = []
18788                                  }
18789                                "a")))
18790                       (TyCon
18791                          SrcSpanInfo
18792                            { srcInfoSpan =
18793                                SrcSpan "tests/examples/DerivingVia.hs" 273 31 273 35
18794                            , srcInfoPoints = []
18795                            }
18796                          (UnQual
18797                             SrcSpanInfo
18798                               { srcInfoSpan =
18799                                   SrcSpan "tests/examples/DerivingVia.hs" 273 31 273 35
18800                               , srcInfoPoints = []
18801                               }
18802                             (Ident
18803                                SrcSpanInfo
18804                                  { srcInfoSpan =
18805                                      SrcSpan "tests/examples/DerivingVia.hs" 273 31 273 35
18806                                  , srcInfoPoints = []
18807                                  }
18808                                "Bool")))))
18809             , InsDecl
18810                 SrcSpanInfo
18811                   { srcInfoSpan =
18812                       SrcSpan "tests/examples/DerivingVia.hs" 274 3 274 35
18813                   , srcInfoPoints = []
18814                   }
18815                 (FunBind
18816                    SrcSpanInfo
18817                      { srcInfoSpan =
18818                          SrcSpan "tests/examples/DerivingVia.hs" 274 3 274 35
18819                      , srcInfoPoints = []
18820                      }
18821                    [ Match
18822                        SrcSpanInfo
18823                          { srcInfoSpan =
18824                              SrcSpan "tests/examples/DerivingVia.hs" 274 3 274 35
18825                          , srcInfoPoints = []
18826                          }
18827                        (Ident
18828                           SrcSpanInfo
18829                             { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 274 3 274 9
18830                             , srcInfoPoints = []
18831                             }
18832                           "isZero")
18833                        [ PParen
18834                            SrcSpanInfo
18835                              { srcInfoSpan =
18836                                  SrcSpan "tests/examples/DerivingVia.hs" 274 10 274 26
18837                              , srcInfoPoints =
18838                                  [ SrcSpan "tests/examples/DerivingVia.hs" 274 10 274 11
18839                                  , SrcSpan "tests/examples/DerivingVia.hs" 274 25 274 26
18840                                  ]
18841                              }
18842                            (PApp
18843                               SrcSpanInfo
18844                                 { srcInfoSpan =
18845                                     SrcSpan "tests/examples/DerivingVia.hs" 274 11 274 25
18846                                 , srcInfoPoints = []
18847                                 }
18848                               (UnQual
18849                                  SrcSpanInfo
18850                                    { srcInfoSpan =
18851                                        SrcSpan "tests/examples/DerivingVia.hs" 274 11 274 23
18852                                    , srcInfoPoints = []
18853                                    }
18854                                  (Ident
18855                                     SrcSpanInfo
18856                                       { srcInfoSpan =
18857                                           SrcSpan "tests/examples/DerivingVia.hs" 274 11 274 23
18858                                       , srcInfoPoints = []
18859                                       }
18860                                     "WrappedNumEq"))
18861                               [ PVar
18862                                   SrcSpanInfo
18863                                     { srcInfoSpan =
18864                                         SrcSpan "tests/examples/DerivingVia.hs" 274 24 274 25
18865                                     , srcInfoPoints = []
18866                                     }
18867                                   (Ident
18868                                      SrcSpanInfo
18869                                        { srcInfoSpan =
18870                                            SrcSpan "tests/examples/DerivingVia.hs" 274 24 274 25
18871                                        , srcInfoPoints = []
18872                                        }
18873                                      "a")
18874                               ])
18875                        ]
18876                        (UnGuardedRhs
18877                           SrcSpanInfo
18878                             { srcInfoSpan =
18879                                 SrcSpan "tests/examples/DerivingVia.hs" 274 27 274 35
18880                             , srcInfoPoints =
18881                                 [ SrcSpan "tests/examples/DerivingVia.hs" 274 27 274 28 ]
18882                             }
18883                           (InfixApp
18884                              SrcSpanInfo
18885                                { srcInfoSpan =
18886                                    SrcSpan "tests/examples/DerivingVia.hs" 274 29 274 35
18887                                , srcInfoPoints = []
18888                                }
18889                              (Lit
18890                                 SrcSpanInfo
18891                                   { srcInfoSpan =
18892                                       SrcSpan "tests/examples/DerivingVia.hs" 274 29 274 30
18893                                   , srcInfoPoints = []
18894                                   }
18895                                 (Int
18896                                    SrcSpanInfo
18897                                      { srcInfoSpan =
18898                                          SrcSpan "tests/examples/DerivingVia.hs" 274 29 274 30
18899                                      , srcInfoPoints = []
18900                                      }
18901                                    0
18902                                    "0"))
18903                              (QVarOp
18904                                 SrcSpanInfo
18905                                   { srcInfoSpan =
18906                                       SrcSpan "tests/examples/DerivingVia.hs" 274 31 274 33
18907                                   , srcInfoPoints = []
18908                                   }
18909                                 (UnQual
18910                                    SrcSpanInfo
18911                                      { srcInfoSpan =
18912                                          SrcSpan "tests/examples/DerivingVia.hs" 274 31 274 33
18913                                      , srcInfoPoints = []
18914                                      }
18915                                    (Symbol
18916                                       SrcSpanInfo
18917                                         { srcInfoSpan =
18918                                             SrcSpan "tests/examples/DerivingVia.hs" 274 31 274 33
18919                                         , srcInfoPoints = []
18920                                         }
18921                                       "==")))
18922                              (Var
18923                                 SrcSpanInfo
18924                                   { srcInfoSpan =
18925                                       SrcSpan "tests/examples/DerivingVia.hs" 274 34 274 35
18926                                   , srcInfoPoints = []
18927                                   }
18928                                 (UnQual
18929                                    SrcSpanInfo
18930                                      { srcInfoSpan =
18931                                          SrcSpan "tests/examples/DerivingVia.hs" 274 34 274 35
18932                                      , srcInfoPoints = []
18933                                      }
18934                                    (Ident
18935                                       SrcSpanInfo
18936                                         { srcInfoSpan =
18937                                             SrcSpan "tests/examples/DerivingVia.hs" 274 34 274 35
18938                                         , srcInfoPoints = []
18939                                         }
18940                                       "a")))))
18941                        Nothing
18942                    ])
18943             ])
18944      , InstDecl
18945          SrcSpanInfo
18946            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 276 1 280 0
18947            , srcInfoPoints =
18948                [ SrcSpan "tests/examples/DerivingVia.hs" 276 1 276 9
18949                , SrcSpan "tests/examples/DerivingVia.hs" 276 43 276 48
18950                , SrcSpan "tests/examples/DerivingVia.hs" 277 3 277 3
18951                , SrcSpan "tests/examples/DerivingVia.hs" 278 3 278 3
18952                , SrcSpan "tests/examples/DerivingVia.hs" 280 1 280 0
18953                ]
18954            }
18955          Nothing
18956          (IRule
18957             SrcSpanInfo
18958               { srcInfoSpan =
18959                   SrcSpan "tests/examples/DerivingVia.hs" 276 10 276 42
18960               , srcInfoPoints = []
18961               }
18962             Nothing
18963             (Just
18964                (CxSingle
18965                   SrcSpanInfo
18966                     { srcInfoSpan =
18967                         SrcSpan "tests/examples/DerivingVia.hs" 276 10 276 19
18968                     , srcInfoPoints =
18969                         [ SrcSpan "tests/examples/DerivingVia.hs" 276 17 276 19 ]
18970                     }
18971                   (TypeA
18972                      SrcSpanInfo
18973                        { srcInfoSpan =
18974                            SrcSpan "tests/examples/DerivingVia.hs" 276 10 276 19
18975                        , srcInfoPoints =
18976                            [ SrcSpan "tests/examples/DerivingVia.hs" 276 17 276 19 ]
18977                        }
18978                      (TyApp
18979                         SrcSpanInfo
18980                           { srcInfoSpan =
18981                               SrcSpan "tests/examples/DerivingVia.hs" 276 10 276 19
18982                           , srcInfoPoints =
18983                               [ SrcSpan "tests/examples/DerivingVia.hs" 276 17 276 19 ]
18984                           }
18985                         (TyCon
18986                            SrcSpanInfo
18987                              { srcInfoSpan =
18988                                  SrcSpan "tests/examples/DerivingVia.hs" 276 10 276 19
18989                              , srcInfoPoints =
18990                                  [ SrcSpan "tests/examples/DerivingVia.hs" 276 17 276 19 ]
18991                              }
18992                            (UnQual
18993                               SrcSpanInfo
18994                                 { srcInfoSpan =
18995                                     SrcSpan "tests/examples/DerivingVia.hs" 276 10 276 14
18996                                 , srcInfoPoints = []
18997                                 }
18998                               (Ident
18999                                  SrcSpanInfo
19000                                    { srcInfoSpan =
19001                                        SrcSpan "tests/examples/DerivingVia.hs" 276 10 276 14
19002                                    , srcInfoPoints = []
19003                                    }
19004                                  "Show")))
19005                         (TyVar
19006                            SrcSpanInfo
19007                              { srcInfoSpan =
19008                                  SrcSpan "tests/examples/DerivingVia.hs" 276 15 276 16
19009                              , srcInfoPoints = []
19010                              }
19011                            (Ident
19012                               SrcSpanInfo
19013                                 { srcInfoSpan =
19014                                     SrcSpan "tests/examples/DerivingVia.hs" 276 15 276 16
19015                                 , srcInfoPoints = []
19016                                 }
19017                               "a"))))))
19018             (IHApp
19019                SrcSpanInfo
19020                  { srcInfoSpan =
19021                      SrcSpan "tests/examples/DerivingVia.hs" 276 20 276 42
19022                  , srcInfoPoints = []
19023                  }
19024                (IHCon
19025                   SrcSpanInfo
19026                     { srcInfoSpan =
19027                         SrcSpan "tests/examples/DerivingVia.hs" 276 20 276 26
19028                     , srcInfoPoints = []
19029                     }
19030                   (UnQual
19031                      SrcSpanInfo
19032                        { srcInfoSpan =
19033                            SrcSpan "tests/examples/DerivingVia.hs" 276 20 276 26
19034                        , srcInfoPoints = []
19035                        }
19036                      (Ident
19037                         SrcSpanInfo
19038                           { srcInfoSpan =
19039                               SrcSpan "tests/examples/DerivingVia.hs" 276 20 276 26
19040                           , srcInfoPoints = []
19041                           }
19042                         "IsZero")))
19043                (TyParen
19044                   SrcSpanInfo
19045                     { srcInfoSpan =
19046                         SrcSpan "tests/examples/DerivingVia.hs" 276 27 276 42
19047                     , srcInfoPoints =
19048                         [ SrcSpan "tests/examples/DerivingVia.hs" 276 27 276 28
19049                         , SrcSpan "tests/examples/DerivingVia.hs" 276 41 276 42
19050                         ]
19051                     }
19052                   (TyApp
19053                      SrcSpanInfo
19054                        { srcInfoSpan =
19055                            SrcSpan "tests/examples/DerivingVia.hs" 276 28 276 41
19056                        , srcInfoPoints = []
19057                        }
19058                      (TyCon
19059                         SrcSpanInfo
19060                           { srcInfoSpan =
19061                               SrcSpan "tests/examples/DerivingVia.hs" 276 28 276 39
19062                           , srcInfoPoints = []
19063                           }
19064                         (UnQual
19065                            SrcSpanInfo
19066                              { srcInfoSpan =
19067                                  SrcSpan "tests/examples/DerivingVia.hs" 276 28 276 39
19068                              , srcInfoPoints = []
19069                              }
19070                            (Ident
19071                               SrcSpanInfo
19072                                 { srcInfoSpan =
19073                                     SrcSpan "tests/examples/DerivingVia.hs" 276 28 276 39
19074                                 , srcInfoPoints = []
19075                                 }
19076                               "WrappedShow")))
19077                      (TyVar
19078                         SrcSpanInfo
19079                           { srcInfoSpan =
19080                               SrcSpan "tests/examples/DerivingVia.hs" 276 40 276 41
19081                           , srcInfoPoints = []
19082                           }
19083                         (Ident
19084                            SrcSpanInfo
19085                              { srcInfoSpan =
19086                                  SrcSpan "tests/examples/DerivingVia.hs" 276 40 276 41
19087                              , srcInfoPoints = []
19088                              }
19089                            "a"))))))
19090          (Just
19091             [ InsDecl
19092                 SrcSpanInfo
19093                   { srcInfoSpan =
19094                       SrcSpan "tests/examples/DerivingVia.hs" 277 3 277 34
19095                   , srcInfoPoints =
19096                       [ SrcSpan "tests/examples/DerivingVia.hs" 277 10 277 12 ]
19097                   }
19098                 (TypeSig
19099                    SrcSpanInfo
19100                      { srcInfoSpan =
19101                          SrcSpan "tests/examples/DerivingVia.hs" 277 3 277 34
19102                      , srcInfoPoints =
19103                          [ SrcSpan "tests/examples/DerivingVia.hs" 277 10 277 12 ]
19104                      }
19105                    [ Ident
19106                        SrcSpanInfo
19107                          { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 277 3 277 9
19108                          , srcInfoPoints = []
19109                          }
19110                        "isZero"
19111                    ]
19112                    (TyFun
19113                       SrcSpanInfo
19114                         { srcInfoSpan =
19115                             SrcSpan "tests/examples/DerivingVia.hs" 277 13 277 34
19116                         , srcInfoPoints =
19117                             [ SrcSpan "tests/examples/DerivingVia.hs" 277 27 277 29 ]
19118                         }
19119                       (TyApp
19120                          SrcSpanInfo
19121                            { srcInfoSpan =
19122                                SrcSpan "tests/examples/DerivingVia.hs" 277 13 277 26
19123                            , srcInfoPoints = []
19124                            }
19125                          (TyCon
19126                             SrcSpanInfo
19127                               { srcInfoSpan =
19128                                   SrcSpan "tests/examples/DerivingVia.hs" 277 13 277 24
19129                               , srcInfoPoints = []
19130                               }
19131                             (UnQual
19132                                SrcSpanInfo
19133                                  { srcInfoSpan =
19134                                      SrcSpan "tests/examples/DerivingVia.hs" 277 13 277 24
19135                                  , srcInfoPoints = []
19136                                  }
19137                                (Ident
19138                                   SrcSpanInfo
19139                                     { srcInfoSpan =
19140                                         SrcSpan "tests/examples/DerivingVia.hs" 277 13 277 24
19141                                     , srcInfoPoints = []
19142                                     }
19143                                   "WrappedShow")))
19144                          (TyVar
19145                             SrcSpanInfo
19146                               { srcInfoSpan =
19147                                   SrcSpan "tests/examples/DerivingVia.hs" 277 25 277 26
19148                               , srcInfoPoints = []
19149                               }
19150                             (Ident
19151                                SrcSpanInfo
19152                                  { srcInfoSpan =
19153                                      SrcSpan "tests/examples/DerivingVia.hs" 277 25 277 26
19154                                  , srcInfoPoints = []
19155                                  }
19156                                "a")))
19157                       (TyCon
19158                          SrcSpanInfo
19159                            { srcInfoSpan =
19160                                SrcSpan "tests/examples/DerivingVia.hs" 277 30 277 34
19161                            , srcInfoPoints = []
19162                            }
19163                          (UnQual
19164                             SrcSpanInfo
19165                               { srcInfoSpan =
19166                                   SrcSpan "tests/examples/DerivingVia.hs" 277 30 277 34
19167                               , srcInfoPoints = []
19168                               }
19169                             (Ident
19170                                SrcSpanInfo
19171                                  { srcInfoSpan =
19172                                      SrcSpan "tests/examples/DerivingVia.hs" 277 30 277 34
19173                                  , srcInfoPoints = []
19174                                  }
19175                                "Bool")))))
19176             , InsDecl
19177                 SrcSpanInfo
19178                   { srcInfoSpan =
19179                       SrcSpan "tests/examples/DerivingVia.hs" 278 3 278 41
19180                   , srcInfoPoints = []
19181                   }
19182                 (FunBind
19183                    SrcSpanInfo
19184                      { srcInfoSpan =
19185                          SrcSpan "tests/examples/DerivingVia.hs" 278 3 278 41
19186                      , srcInfoPoints = []
19187                      }
19188                    [ Match
19189                        SrcSpanInfo
19190                          { srcInfoSpan =
19191                              SrcSpan "tests/examples/DerivingVia.hs" 278 3 278 41
19192                          , srcInfoPoints = []
19193                          }
19194                        (Ident
19195                           SrcSpanInfo
19196                             { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 278 3 278 9
19197                             , srcInfoPoints = []
19198                             }
19199                           "isZero")
19200                        [ PParen
19201                            SrcSpanInfo
19202                              { srcInfoSpan =
19203                                  SrcSpan "tests/examples/DerivingVia.hs" 278 10 278 25
19204                              , srcInfoPoints =
19205                                  [ SrcSpan "tests/examples/DerivingVia.hs" 278 10 278 11
19206                                  , SrcSpan "tests/examples/DerivingVia.hs" 278 24 278 25
19207                                  ]
19208                              }
19209                            (PApp
19210                               SrcSpanInfo
19211                                 { srcInfoSpan =
19212                                     SrcSpan "tests/examples/DerivingVia.hs" 278 11 278 24
19213                                 , srcInfoPoints = []
19214                                 }
19215                               (UnQual
19216                                  SrcSpanInfo
19217                                    { srcInfoSpan =
19218                                        SrcSpan "tests/examples/DerivingVia.hs" 278 11 278 22
19219                                    , srcInfoPoints = []
19220                                    }
19221                                  (Ident
19222                                     SrcSpanInfo
19223                                       { srcInfoSpan =
19224                                           SrcSpan "tests/examples/DerivingVia.hs" 278 11 278 22
19225                                       , srcInfoPoints = []
19226                                       }
19227                                     "WrappedShow"))
19228                               [ PVar
19229                                   SrcSpanInfo
19230                                     { srcInfoSpan =
19231                                         SrcSpan "tests/examples/DerivingVia.hs" 278 23 278 24
19232                                     , srcInfoPoints = []
19233                                     }
19234                                   (Ident
19235                                      SrcSpanInfo
19236                                        { srcInfoSpan =
19237                                            SrcSpan "tests/examples/DerivingVia.hs" 278 23 278 24
19238                                        , srcInfoPoints = []
19239                                        }
19240                                      "a")
19241                               ])
19242                        ]
19243                        (UnGuardedRhs
19244                           SrcSpanInfo
19245                             { srcInfoSpan =
19246                                 SrcSpan "tests/examples/DerivingVia.hs" 278 26 278 41
19247                             , srcInfoPoints =
19248                                 [ SrcSpan "tests/examples/DerivingVia.hs" 278 26 278 27 ]
19249                             }
19250                           (InfixApp
19251                              SrcSpanInfo
19252                                { srcInfoSpan =
19253                                    SrcSpan "tests/examples/DerivingVia.hs" 278 28 278 41
19254                                , srcInfoPoints = []
19255                                }
19256                              (Lit
19257                                 SrcSpanInfo
19258                                   { srcInfoSpan =
19259                                       SrcSpan "tests/examples/DerivingVia.hs" 278 28 278 31
19260                                   , srcInfoPoints = []
19261                                   }
19262                                 (String
19263                                    SrcSpanInfo
19264                                      { srcInfoSpan =
19265                                          SrcSpan "tests/examples/DerivingVia.hs" 278 28 278 31
19266                                      , srcInfoPoints = []
19267                                      }
19268                                    "0"
19269                                    "0"))
19270                              (QVarOp
19271                                 SrcSpanInfo
19272                                   { srcInfoSpan =
19273                                       SrcSpan "tests/examples/DerivingVia.hs" 278 32 278 34
19274                                   , srcInfoPoints = []
19275                                   }
19276                                 (UnQual
19277                                    SrcSpanInfo
19278                                      { srcInfoSpan =
19279                                          SrcSpan "tests/examples/DerivingVia.hs" 278 32 278 34
19280                                      , srcInfoPoints = []
19281                                      }
19282                                    (Symbol
19283                                       SrcSpanInfo
19284                                         { srcInfoSpan =
19285                                             SrcSpan "tests/examples/DerivingVia.hs" 278 32 278 34
19286                                         , srcInfoPoints = []
19287                                         }
19288                                       "==")))
19289                              (App
19290                                 SrcSpanInfo
19291                                   { srcInfoSpan =
19292                                       SrcSpan "tests/examples/DerivingVia.hs" 278 35 278 41
19293                                   , srcInfoPoints = []
19294                                   }
19295                                 (Var
19296                                    SrcSpanInfo
19297                                      { srcInfoSpan =
19298                                          SrcSpan "tests/examples/DerivingVia.hs" 278 35 278 39
19299                                      , srcInfoPoints = []
19300                                      }
19301                                    (UnQual
19302                                       SrcSpanInfo
19303                                         { srcInfoSpan =
19304                                             SrcSpan "tests/examples/DerivingVia.hs" 278 35 278 39
19305                                         , srcInfoPoints = []
19306                                         }
19307                                       (Ident
19308                                          SrcSpanInfo
19309                                            { srcInfoSpan =
19310                                                SrcSpan
19311                                                  "tests/examples/DerivingVia.hs" 278 35 278 39
19312                                            , srcInfoPoints = []
19313                                            }
19314                                          "show")))
19315                                 (Var
19316                                    SrcSpanInfo
19317                                      { srcInfoSpan =
19318                                          SrcSpan "tests/examples/DerivingVia.hs" 278 40 278 41
19319                                      , srcInfoPoints = []
19320                                      }
19321                                    (UnQual
19322                                       SrcSpanInfo
19323                                         { srcInfoSpan =
19324                                             SrcSpan "tests/examples/DerivingVia.hs" 278 40 278 41
19325                                         , srcInfoPoints = []
19326                                         }
19327                                       (Ident
19328                                          SrcSpanInfo
19329                                            { srcInfoSpan =
19330                                                SrcSpan
19331                                                  "tests/examples/DerivingVia.hs" 278 40 278 41
19332                                            , srcInfoPoints = []
19333                                            }
19334                                          "a"))))))
19335                        Nothing
19336                    ])
19337             ])
19338      , InstDecl
19339          SrcSpanInfo
19340            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 280 1 284 0
19341            , srcInfoPoints =
19342                [ SrcSpan "tests/examples/DerivingVia.hs" 280 1 280 9
19343                , SrcSpan "tests/examples/DerivingVia.hs" 280 52 280 57
19344                , SrcSpan "tests/examples/DerivingVia.hs" 281 3 281 3
19345                , SrcSpan "tests/examples/DerivingVia.hs" 282 3 282 3
19346                , SrcSpan "tests/examples/DerivingVia.hs" 284 1 284 0
19347                ]
19348            }
19349          Nothing
19350          (IRule
19351             SrcSpanInfo
19352               { srcInfoSpan =
19353                   SrcSpan "tests/examples/DerivingVia.hs" 280 10 280 51
19354               , srcInfoPoints = []
19355               }
19356             Nothing
19357             (Just
19358                (CxTuple
19359                   SrcSpanInfo
19360                     { srcInfoSpan =
19361                         SrcSpan "tests/examples/DerivingVia.hs" 280 10 280 26
19362                     , srcInfoPoints =
19363                         [ SrcSpan "tests/examples/DerivingVia.hs" 280 10 280 11
19364                         , SrcSpan "tests/examples/DerivingVia.hs" 280 16 280 17
19365                         , SrcSpan "tests/examples/DerivingVia.hs" 280 22 280 23
19366                         , SrcSpan "tests/examples/DerivingVia.hs" 280 24 280 26
19367                         ]
19368                     }
19369                   [ TypeA
19370                       SrcSpanInfo
19371                         { srcInfoSpan =
19372                             SrcSpan "tests/examples/DerivingVia.hs" 280 11 280 16
19373                         , srcInfoPoints = []
19374                         }
19375                       (TyApp
19376                          SrcSpanInfo
19377                            { srcInfoSpan =
19378                                SrcSpan "tests/examples/DerivingVia.hs" 280 11 280 16
19379                            , srcInfoPoints = []
19380                            }
19381                          (TyCon
19382                             SrcSpanInfo
19383                               { srcInfoSpan =
19384                                   SrcSpan "tests/examples/DerivingVia.hs" 280 11 280 16
19385                               , srcInfoPoints = []
19386                               }
19387                             (UnQual
19388                                SrcSpanInfo
19389                                  { srcInfoSpan =
19390                                      SrcSpan "tests/examples/DerivingVia.hs" 280 11 280 14
19391                                  , srcInfoPoints = []
19392                                  }
19393                                (Ident
19394                                   SrcSpanInfo
19395                                     { srcInfoSpan =
19396                                         SrcSpan "tests/examples/DerivingVia.hs" 280 11 280 14
19397                                     , srcInfoPoints = []
19398                                     }
19399                                   "Num")))
19400                          (TyVar
19401                             SrcSpanInfo
19402                               { srcInfoSpan =
19403                                   SrcSpan "tests/examples/DerivingVia.hs" 280 15 280 16
19404                               , srcInfoPoints = []
19405                               }
19406                             (Ident
19407                                SrcSpanInfo
19408                                  { srcInfoSpan =
19409                                      SrcSpan "tests/examples/DerivingVia.hs" 280 15 280 16
19410                                  , srcInfoPoints = []
19411                                  }
19412                                "a")))
19413                   , TypeA
19414                       SrcSpanInfo
19415                         { srcInfoSpan =
19416                             SrcSpan "tests/examples/DerivingVia.hs" 280 18 280 22
19417                         , srcInfoPoints = []
19418                         }
19419                       (TyApp
19420                          SrcSpanInfo
19421                            { srcInfoSpan =
19422                                SrcSpan "tests/examples/DerivingVia.hs" 280 18 280 22
19423                            , srcInfoPoints = []
19424                            }
19425                          (TyCon
19426                             SrcSpanInfo
19427                               { srcInfoSpan =
19428                                   SrcSpan "tests/examples/DerivingVia.hs" 280 18 280 22
19429                               , srcInfoPoints = []
19430                               }
19431                             (UnQual
19432                                SrcSpanInfo
19433                                  { srcInfoSpan =
19434                                      SrcSpan "tests/examples/DerivingVia.hs" 280 18 280 20
19435                                  , srcInfoPoints = []
19436                                  }
19437                                (Ident
19438                                   SrcSpanInfo
19439                                     { srcInfoSpan =
19440                                         SrcSpan "tests/examples/DerivingVia.hs" 280 18 280 20
19441                                     , srcInfoPoints = []
19442                                     }
19443                                   "Eq")))
19444                          (TyVar
19445                             SrcSpanInfo
19446                               { srcInfoSpan =
19447                                   SrcSpan "tests/examples/DerivingVia.hs" 280 21 280 22
19448                               , srcInfoPoints = []
19449                               }
19450                             (Ident
19451                                SrcSpanInfo
19452                                  { srcInfoSpan =
19453                                      SrcSpan "tests/examples/DerivingVia.hs" 280 21 280 22
19454                                  , srcInfoPoints = []
19455                                  }
19456                                "a")))
19457                   ]))
19458             (IHApp
19459                SrcSpanInfo
19460                  { srcInfoSpan =
19461                      SrcSpan "tests/examples/DerivingVia.hs" 280 27 280 51
19462                  , srcInfoPoints = []
19463                  }
19464                (IHCon
19465                   SrcSpanInfo
19466                     { srcInfoSpan =
19467                         SrcSpan "tests/examples/DerivingVia.hs" 280 27 280 33
19468                     , srcInfoPoints = []
19469                     }
19470                   (UnQual
19471                      SrcSpanInfo
19472                        { srcInfoSpan =
19473                            SrcSpan "tests/examples/DerivingVia.hs" 280 27 280 33
19474                        , srcInfoPoints = []
19475                        }
19476                      (Ident
19477                         SrcSpanInfo
19478                           { srcInfoSpan =
19479                               SrcSpan "tests/examples/DerivingVia.hs" 280 27 280 33
19480                           , srcInfoPoints = []
19481                           }
19482                         "IsZero")))
19483                (TyParen
19484                   SrcSpanInfo
19485                     { srcInfoSpan =
19486                         SrcSpan "tests/examples/DerivingVia.hs" 280 34 280 51
19487                     , srcInfoPoints =
19488                         [ SrcSpan "tests/examples/DerivingVia.hs" 280 34 280 35
19489                         , SrcSpan "tests/examples/DerivingVia.hs" 280 50 280 51
19490                         ]
19491                     }
19492                   (TyApp
19493                      SrcSpanInfo
19494                        { srcInfoSpan =
19495                            SrcSpan "tests/examples/DerivingVia.hs" 280 35 280 50
19496                        , srcInfoPoints = []
19497                        }
19498                      (TyCon
19499                         SrcSpanInfo
19500                           { srcInfoSpan =
19501                               SrcSpan "tests/examples/DerivingVia.hs" 280 35 280 48
19502                           , srcInfoPoints = []
19503                           }
19504                         (UnQual
19505                            SrcSpanInfo
19506                              { srcInfoSpan =
19507                                  SrcSpan "tests/examples/DerivingVia.hs" 280 35 280 48
19508                              , srcInfoPoints = []
19509                              }
19510                            (Ident
19511                               SrcSpanInfo
19512                                 { srcInfoSpan =
19513                                     SrcSpan "tests/examples/DerivingVia.hs" 280 35 280 48
19514                                 , srcInfoPoints = []
19515                                 }
19516                               "WrappedNumEq2")))
19517                      (TyVar
19518                         SrcSpanInfo
19519                           { srcInfoSpan =
19520                               SrcSpan "tests/examples/DerivingVia.hs" 280 49 280 50
19521                           , srcInfoPoints = []
19522                           }
19523                         (Ident
19524                            SrcSpanInfo
19525                              { srcInfoSpan =
19526                                  SrcSpan "tests/examples/DerivingVia.hs" 280 49 280 50
19527                              , srcInfoPoints = []
19528                              }
19529                            "a"))))))
19530          (Just
19531             [ InsDecl
19532                 SrcSpanInfo
19533                   { srcInfoSpan =
19534                       SrcSpan "tests/examples/DerivingVia.hs" 281 3 281 36
19535                   , srcInfoPoints =
19536                       [ SrcSpan "tests/examples/DerivingVia.hs" 281 10 281 12 ]
19537                   }
19538                 (TypeSig
19539                    SrcSpanInfo
19540                      { srcInfoSpan =
19541                          SrcSpan "tests/examples/DerivingVia.hs" 281 3 281 36
19542                      , srcInfoPoints =
19543                          [ SrcSpan "tests/examples/DerivingVia.hs" 281 10 281 12 ]
19544                      }
19545                    [ Ident
19546                        SrcSpanInfo
19547                          { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 281 3 281 9
19548                          , srcInfoPoints = []
19549                          }
19550                        "isZero"
19551                    ]
19552                    (TyFun
19553                       SrcSpanInfo
19554                         { srcInfoSpan =
19555                             SrcSpan "tests/examples/DerivingVia.hs" 281 13 281 36
19556                         , srcInfoPoints =
19557                             [ SrcSpan "tests/examples/DerivingVia.hs" 281 29 281 31 ]
19558                         }
19559                       (TyApp
19560                          SrcSpanInfo
19561                            { srcInfoSpan =
19562                                SrcSpan "tests/examples/DerivingVia.hs" 281 13 281 28
19563                            , srcInfoPoints = []
19564                            }
19565                          (TyCon
19566                             SrcSpanInfo
19567                               { srcInfoSpan =
19568                                   SrcSpan "tests/examples/DerivingVia.hs" 281 13 281 26
19569                               , srcInfoPoints = []
19570                               }
19571                             (UnQual
19572                                SrcSpanInfo
19573                                  { srcInfoSpan =
19574                                      SrcSpan "tests/examples/DerivingVia.hs" 281 13 281 26
19575                                  , srcInfoPoints = []
19576                                  }
19577                                (Ident
19578                                   SrcSpanInfo
19579                                     { srcInfoSpan =
19580                                         SrcSpan "tests/examples/DerivingVia.hs" 281 13 281 26
19581                                     , srcInfoPoints = []
19582                                     }
19583                                   "WrappedNumEq2")))
19584                          (TyVar
19585                             SrcSpanInfo
19586                               { srcInfoSpan =
19587                                   SrcSpan "tests/examples/DerivingVia.hs" 281 27 281 28
19588                               , srcInfoPoints = []
19589                               }
19590                             (Ident
19591                                SrcSpanInfo
19592                                  { srcInfoSpan =
19593                                      SrcSpan "tests/examples/DerivingVia.hs" 281 27 281 28
19594                                  , srcInfoPoints = []
19595                                  }
19596                                "a")))
19597                       (TyCon
19598                          SrcSpanInfo
19599                            { srcInfoSpan =
19600                                SrcSpan "tests/examples/DerivingVia.hs" 281 32 281 36
19601                            , srcInfoPoints = []
19602                            }
19603                          (UnQual
19604                             SrcSpanInfo
19605                               { srcInfoSpan =
19606                                   SrcSpan "tests/examples/DerivingVia.hs" 281 32 281 36
19607                               , srcInfoPoints = []
19608                               }
19609                             (Ident
19610                                SrcSpanInfo
19611                                  { srcInfoSpan =
19612                                      SrcSpan "tests/examples/DerivingVia.hs" 281 32 281 36
19613                                  , srcInfoPoints = []
19614                                  }
19615                                "Bool")))))
19616             , InsDecl
19617                 SrcSpanInfo
19618                   { srcInfoSpan =
19619                       SrcSpan "tests/examples/DerivingVia.hs" 282 3 282 40
19620                   , srcInfoPoints = []
19621                   }
19622                 (FunBind
19623                    SrcSpanInfo
19624                      { srcInfoSpan =
19625                          SrcSpan "tests/examples/DerivingVia.hs" 282 3 282 40
19626                      , srcInfoPoints = []
19627                      }
19628                    [ Match
19629                        SrcSpanInfo
19630                          { srcInfoSpan =
19631                              SrcSpan "tests/examples/DerivingVia.hs" 282 3 282 40
19632                          , srcInfoPoints = []
19633                          }
19634                        (Ident
19635                           SrcSpanInfo
19636                             { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 282 3 282 9
19637                             , srcInfoPoints = []
19638                             }
19639                           "isZero")
19640                        [ PParen
19641                            SrcSpanInfo
19642                              { srcInfoSpan =
19643                                  SrcSpan "tests/examples/DerivingVia.hs" 282 10 282 27
19644                              , srcInfoPoints =
19645                                  [ SrcSpan "tests/examples/DerivingVia.hs" 282 10 282 11
19646                                  , SrcSpan "tests/examples/DerivingVia.hs" 282 26 282 27
19647                                  ]
19648                              }
19649                            (PApp
19650                               SrcSpanInfo
19651                                 { srcInfoSpan =
19652                                     SrcSpan "tests/examples/DerivingVia.hs" 282 11 282 26
19653                                 , srcInfoPoints = []
19654                                 }
19655                               (UnQual
19656                                  SrcSpanInfo
19657                                    { srcInfoSpan =
19658                                        SrcSpan "tests/examples/DerivingVia.hs" 282 11 282 24
19659                                    , srcInfoPoints = []
19660                                    }
19661                                  (Ident
19662                                     SrcSpanInfo
19663                                       { srcInfoSpan =
19664                                           SrcSpan "tests/examples/DerivingVia.hs" 282 11 282 24
19665                                       , srcInfoPoints = []
19666                                       }
19667                                     "WrappedNumEq2"))
19668                               [ PVar
19669                                   SrcSpanInfo
19670                                     { srcInfoSpan =
19671                                         SrcSpan "tests/examples/DerivingVia.hs" 282 25 282 26
19672                                     , srcInfoPoints = []
19673                                     }
19674                                   (Ident
19675                                      SrcSpanInfo
19676                                        { srcInfoSpan =
19677                                            SrcSpan "tests/examples/DerivingVia.hs" 282 25 282 26
19678                                        , srcInfoPoints = []
19679                                        }
19680                                      "a")
19681                               ])
19682                        ]
19683                        (UnGuardedRhs
19684                           SrcSpanInfo
19685                             { srcInfoSpan =
19686                                 SrcSpan "tests/examples/DerivingVia.hs" 282 28 282 40
19687                             , srcInfoPoints =
19688                                 [ SrcSpan "tests/examples/DerivingVia.hs" 282 28 282 29 ]
19689                             }
19690                           (InfixApp
19691                              SrcSpanInfo
19692                                { srcInfoSpan =
19693                                    SrcSpan "tests/examples/DerivingVia.hs" 282 30 282 40
19694                                , srcInfoPoints = []
19695                                }
19696                              (InfixApp
19697                                 SrcSpanInfo
19698                                   { srcInfoSpan =
19699                                       SrcSpan "tests/examples/DerivingVia.hs" 282 30 282 35
19700                                   , srcInfoPoints = []
19701                                   }
19702                                 (Var
19703                                    SrcSpanInfo
19704                                      { srcInfoSpan =
19705                                          SrcSpan "tests/examples/DerivingVia.hs" 282 30 282 31
19706                                      , srcInfoPoints = []
19707                                      }
19708                                    (UnQual
19709                                       SrcSpanInfo
19710                                         { srcInfoSpan =
19711                                             SrcSpan "tests/examples/DerivingVia.hs" 282 30 282 31
19712                                         , srcInfoPoints = []
19713                                         }
19714                                       (Ident
19715                                          SrcSpanInfo
19716                                            { srcInfoSpan =
19717                                                SrcSpan
19718                                                  "tests/examples/DerivingVia.hs" 282 30 282 31
19719                                            , srcInfoPoints = []
19720                                            }
19721                                          "a")))
19722                                 (QVarOp
19723                                    SrcSpanInfo
19724                                      { srcInfoSpan =
19725                                          SrcSpan "tests/examples/DerivingVia.hs" 282 32 282 33
19726                                      , srcInfoPoints = []
19727                                      }
19728                                    (UnQual
19729                                       SrcSpanInfo
19730                                         { srcInfoSpan =
19731                                             SrcSpan "tests/examples/DerivingVia.hs" 282 32 282 33
19732                                         , srcInfoPoints = []
19733                                         }
19734                                       (Symbol
19735                                          SrcSpanInfo
19736                                            { srcInfoSpan =
19737                                                SrcSpan
19738                                                  "tests/examples/DerivingVia.hs" 282 32 282 33
19739                                            , srcInfoPoints = []
19740                                            }
19741                                          "+")))
19742                                 (Var
19743                                    SrcSpanInfo
19744                                      { srcInfoSpan =
19745                                          SrcSpan "tests/examples/DerivingVia.hs" 282 34 282 35
19746                                      , srcInfoPoints = []
19747                                      }
19748                                    (UnQual
19749                                       SrcSpanInfo
19750                                         { srcInfoSpan =
19751                                             SrcSpan "tests/examples/DerivingVia.hs" 282 34 282 35
19752                                         , srcInfoPoints = []
19753                                         }
19754                                       (Ident
19755                                          SrcSpanInfo
19756                                            { srcInfoSpan =
19757                                                SrcSpan
19758                                                  "tests/examples/DerivingVia.hs" 282 34 282 35
19759                                            , srcInfoPoints = []
19760                                            }
19761                                          "a"))))
19762                              (QVarOp
19763                                 SrcSpanInfo
19764                                   { srcInfoSpan =
19765                                       SrcSpan "tests/examples/DerivingVia.hs" 282 36 282 38
19766                                   , srcInfoPoints = []
19767                                   }
19768                                 (UnQual
19769                                    SrcSpanInfo
19770                                      { srcInfoSpan =
19771                                          SrcSpan "tests/examples/DerivingVia.hs" 282 36 282 38
19772                                      , srcInfoPoints = []
19773                                      }
19774                                    (Symbol
19775                                       SrcSpanInfo
19776                                         { srcInfoSpan =
19777                                             SrcSpan "tests/examples/DerivingVia.hs" 282 36 282 38
19778                                         , srcInfoPoints = []
19779                                         }
19780                                       "==")))
19781                              (Var
19782                                 SrcSpanInfo
19783                                   { srcInfoSpan =
19784                                       SrcSpan "tests/examples/DerivingVia.hs" 282 39 282 40
19785                                   , srcInfoPoints = []
19786                                   }
19787                                 (UnQual
19788                                    SrcSpanInfo
19789                                      { srcInfoSpan =
19790                                          SrcSpan "tests/examples/DerivingVia.hs" 282 39 282 40
19791                                      , srcInfoPoints = []
19792                                      }
19793                                    (Ident
19794                                       SrcSpanInfo
19795                                         { srcInfoSpan =
19796                                             SrcSpan "tests/examples/DerivingVia.hs" 282 39 282 40
19797                                         , srcInfoPoints = []
19798                                         }
19799                                       "a")))))
19800                        Nothing
19801                    ])
19802             ])
19803      , DataDecl
19804          SrcSpanInfo
19805            { srcInfoSpan =
19806                SrcSpan "tests/examples/DerivingVia.hs" 284 1 286 18
19807            , srcInfoPoints =
19808                [ SrcSpan "tests/examples/DerivingVia.hs" 284 13 284 14 ]
19809            }
19810          (NewType
19811             SrcSpanInfo
19812               { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 284 1 284 8
19813               , srcInfoPoints = []
19814               })
19815          Nothing
19816          (DHead
19817             SrcSpanInfo
19818               { srcInfoSpan =
19819                   SrcSpan "tests/examples/DerivingVia.hs" 284 9 284 12
19820               , srcInfoPoints = []
19821               }
19822             (Ident
19823                SrcSpanInfo
19824                  { srcInfoSpan =
19825                      SrcSpan "tests/examples/DerivingVia.hs" 284 9 284 12
19826                  , srcInfoPoints = []
19827                  }
19828                "INT"))
19829          [ QualConDecl
19830              SrcSpanInfo
19831                { srcInfoSpan =
19832                    SrcSpan "tests/examples/DerivingVia.hs" 284 15 284 22
19833                , srcInfoPoints = []
19834                }
19835              Nothing
19836              Nothing
19837              (ConDecl
19838                 SrcSpanInfo
19839                   { srcInfoSpan =
19840                       SrcSpan "tests/examples/DerivingVia.hs" 284 15 284 22
19841                   , srcInfoPoints = []
19842                   }
19843                 (Ident
19844                    SrcSpanInfo
19845                      { srcInfoSpan =
19846                          SrcSpan "tests/examples/DerivingVia.hs" 284 15 284 18
19847                      , srcInfoPoints = []
19848                      }
19849                    "INT")
19850                 [ TyCon
19851                     SrcSpanInfo
19852                       { srcInfoSpan =
19853                           SrcSpan "tests/examples/DerivingVia.hs" 284 19 284 22
19854                       , srcInfoPoints = []
19855                       }
19856                     (UnQual
19857                        SrcSpanInfo
19858                          { srcInfoSpan =
19859                              SrcSpan "tests/examples/DerivingVia.hs" 284 19 284 22
19860                          , srcInfoPoints = []
19861                          }
19862                        (Ident
19863                           SrcSpanInfo
19864                             { srcInfoSpan =
19865                                 SrcSpan "tests/examples/DerivingVia.hs" 284 19 284 22
19866                             , srcInfoPoints = []
19867                             }
19868                           "Int"))
19869                 ])
19870          ]
19871          [ Deriving
19872              SrcSpanInfo
19873                { srcInfoSpan =
19874                    SrcSpan "tests/examples/DerivingVia.hs" 285 3 285 24
19875                , srcInfoPoints =
19876                    [ SrcSpan "tests/examples/DerivingVia.hs" 285 3 285 11 ]
19877                }
19878              (Just
19879                 (DerivNewtype
19880                    SrcSpanInfo
19881                      { srcInfoSpan =
19882                          SrcSpan "tests/examples/DerivingVia.hs" 285 12 285 19
19883                      , srcInfoPoints = []
19884                      }))
19885              [ IRule
19886                  SrcSpanInfo
19887                    { srcInfoSpan =
19888                        SrcSpan "tests/examples/DerivingVia.hs" 285 20 285 24
19889                    , srcInfoPoints = []
19890                    }
19891                  Nothing
19892                  Nothing
19893                  (IHCon
19894                     SrcSpanInfo
19895                       { srcInfoSpan =
19896                           SrcSpan "tests/examples/DerivingVia.hs" 285 20 285 24
19897                       , srcInfoPoints = []
19898                       }
19899                     (UnQual
19900                        SrcSpanInfo
19901                          { srcInfoSpan =
19902                              SrcSpan "tests/examples/DerivingVia.hs" 285 20 285 24
19903                          , srcInfoPoints = []
19904                          }
19905                        (Ident
19906                           SrcSpanInfo
19907                             { srcInfoSpan =
19908                                 SrcSpan "tests/examples/DerivingVia.hs" 285 20 285 24
19909                             , srcInfoPoints = []
19910                             }
19911                           "Show")))
19912              ]
19913          , Deriving
19914              SrcSpanInfo
19915                { srcInfoSpan =
19916                    SrcSpan "tests/examples/DerivingVia.hs" 286 3 286 18
19917                , srcInfoPoints =
19918                    [ SrcSpan "tests/examples/DerivingVia.hs" 286 3 286 11 ]
19919                }
19920              (Just
19921                 (DerivVia
19922                    SrcSpanInfo
19923                      { srcInfoSpan =
19924                          SrcSpan "tests/examples/DerivingVia.hs" 286 19 286 22
19925                      , srcInfoPoints = []
19926                      }
19927                    (TyParen
19928                       SrcSpanInfo
19929                         { srcInfoSpan =
19930                             SrcSpan "tests/examples/DerivingVia.hs" 286 23 286 41
19931                         , srcInfoPoints =
19932                             [ SrcSpan "tests/examples/DerivingVia.hs" 286 23 286 24
19933                             , SrcSpan "tests/examples/DerivingVia.hs" 286 40 286 41
19934                             ]
19935                         }
19936                       (TyApp
19937                          SrcSpanInfo
19938                            { srcInfoSpan =
19939                                SrcSpan "tests/examples/DerivingVia.hs" 286 24 286 40
19940                            , srcInfoPoints = []
19941                            }
19942                          (TyCon
19943                             SrcSpanInfo
19944                               { srcInfoSpan =
19945                                   SrcSpan "tests/examples/DerivingVia.hs" 286 24 286 36
19946                               , srcInfoPoints = []
19947                               }
19948                             (UnQual
19949                                SrcSpanInfo
19950                                  { srcInfoSpan =
19951                                      SrcSpan "tests/examples/DerivingVia.hs" 286 24 286 36
19952                                  , srcInfoPoints = []
19953                                  }
19954                                (Ident
19955                                   SrcSpanInfo
19956                                     { srcInfoSpan =
19957                                         SrcSpan "tests/examples/DerivingVia.hs" 286 24 286 36
19958                                     , srcInfoPoints = []
19959                                     }
19960                                   "WrappedNumEq")))
19961                          (TyCon
19962                             SrcSpanInfo
19963                               { srcInfoSpan =
19964                                   SrcSpan "tests/examples/DerivingVia.hs" 286 37 286 40
19965                               , srcInfoPoints = []
19966                               }
19967                             (UnQual
19968                                SrcSpanInfo
19969                                  { srcInfoSpan =
19970                                      SrcSpan "tests/examples/DerivingVia.hs" 286 37 286 40
19971                                  , srcInfoPoints = []
19972                                  }
19973                                (Ident
19974                                   SrcSpanInfo
19975                                     { srcInfoSpan =
19976                                         SrcSpan "tests/examples/DerivingVia.hs" 286 37 286 40
19977                                     , srcInfoPoints = []
19978                                     }
19979                                   "Int")))))))
19980              [ IRule
19981                  SrcSpanInfo
19982                    { srcInfoSpan =
19983                        SrcSpan "tests/examples/DerivingVia.hs" 286 12 286 18
19984                    , srcInfoPoints = []
19985                    }
19986                  Nothing
19987                  Nothing
19988                  (IHCon
19989                     SrcSpanInfo
19990                       { srcInfoSpan =
19991                           SrcSpan "tests/examples/DerivingVia.hs" 286 12 286 18
19992                       , srcInfoPoints = []
19993                       }
19994                     (UnQual
19995                        SrcSpanInfo
19996                          { srcInfoSpan =
19997                              SrcSpan "tests/examples/DerivingVia.hs" 286 12 286 18
19998                          , srcInfoPoints = []
19999                          }
20000                        (Ident
20001                           SrcSpanInfo
20002                             { srcInfoSpan =
20003                                 SrcSpan "tests/examples/DerivingVia.hs" 286 12 286 18
20004                             , srcInfoPoints = []
20005                             }
20006                           "IsZero")))
20007              ]
20008          ]
20009      , DataDecl
20010          SrcSpanInfo
20011            { srcInfoSpan =
20012                SrcSpan "tests/examples/DerivingVia.hs" 288 1 288 41
20013            , srcInfoPoints =
20014                [ SrcSpan "tests/examples/DerivingVia.hs" 288 14 288 15 ]
20015            }
20016          (NewType
20017             SrcSpanInfo
20018               { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 288 1 288 8
20019               , srcInfoPoints = []
20020               })
20021          Nothing
20022          (DHead
20023             SrcSpanInfo
20024               { srcInfoSpan =
20025                   SrcSpan "tests/examples/DerivingVia.hs" 288 9 288 13
20026               , srcInfoPoints = []
20027               }
20028             (Ident
20029                SrcSpanInfo
20030                  { srcInfoSpan =
20031                      SrcSpan "tests/examples/DerivingVia.hs" 288 9 288 13
20032                  , srcInfoPoints = []
20033                  }
20034                "VOID"))
20035          [ QualConDecl
20036              SrcSpanInfo
20037                { srcInfoSpan =
20038                    SrcSpan "tests/examples/DerivingVia.hs" 288 16 288 25
20039                , srcInfoPoints = []
20040                }
20041              Nothing
20042              Nothing
20043              (ConDecl
20044                 SrcSpanInfo
20045                   { srcInfoSpan =
20046                       SrcSpan "tests/examples/DerivingVia.hs" 288 16 288 25
20047                   , srcInfoPoints = []
20048                   }
20049                 (Ident
20050                    SrcSpanInfo
20051                      { srcInfoSpan =
20052                          SrcSpan "tests/examples/DerivingVia.hs" 288 16 288 20
20053                      , srcInfoPoints = []
20054                      }
20055                    "VOID")
20056                 [ TyCon
20057                     SrcSpanInfo
20058                       { srcInfoSpan =
20059                           SrcSpan "tests/examples/DerivingVia.hs" 288 21 288 25
20060                       , srcInfoPoints = []
20061                       }
20062                     (UnQual
20063                        SrcSpanInfo
20064                          { srcInfoSpan =
20065                              SrcSpan "tests/examples/DerivingVia.hs" 288 21 288 25
20066                          , srcInfoPoints = []
20067                          }
20068                        (Ident
20069                           SrcSpanInfo
20070                             { srcInfoSpan =
20071                                 SrcSpan "tests/examples/DerivingVia.hs" 288 21 288 25
20072                             , srcInfoPoints = []
20073                             }
20074                           "Void"))
20075                 ])
20076          ]
20077          [ Deriving
20078              SrcSpanInfo
20079                { srcInfoSpan =
20080                    SrcSpan "tests/examples/DerivingVia.hs" 288 26 288 41
20081                , srcInfoPoints =
20082                    [ SrcSpan "tests/examples/DerivingVia.hs" 288 26 288 34 ]
20083                }
20084              (Just
20085                 (DerivVia
20086                    SrcSpanInfo
20087                      { srcInfoSpan =
20088                          SrcSpan "tests/examples/DerivingVia.hs" 288 42 288 45
20089                      , srcInfoPoints = []
20090                      }
20091                    (TyParen
20092                       SrcSpanInfo
20093                         { srcInfoSpan =
20094                             SrcSpan "tests/examples/DerivingVia.hs" 288 46 288 64
20095                         , srcInfoPoints =
20096                             [ SrcSpan "tests/examples/DerivingVia.hs" 288 46 288 47
20097                             , SrcSpan "tests/examples/DerivingVia.hs" 288 63 288 64
20098                             ]
20099                         }
20100                       (TyApp
20101                          SrcSpanInfo
20102                            { srcInfoSpan =
20103                                SrcSpan "tests/examples/DerivingVia.hs" 288 47 288 63
20104                            , srcInfoPoints = []
20105                            }
20106                          (TyCon
20107                             SrcSpanInfo
20108                               { srcInfoSpan =
20109                                   SrcSpan "tests/examples/DerivingVia.hs" 288 47 288 58
20110                               , srcInfoPoints = []
20111                               }
20112                             (UnQual
20113                                SrcSpanInfo
20114                                  { srcInfoSpan =
20115                                      SrcSpan "tests/examples/DerivingVia.hs" 288 47 288 58
20116                                  , srcInfoPoints = []
20117                                  }
20118                                (Ident
20119                                   SrcSpanInfo
20120                                     { srcInfoSpan =
20121                                         SrcSpan "tests/examples/DerivingVia.hs" 288 47 288 58
20122                                     , srcInfoPoints = []
20123                                     }
20124                                   "WrappedShow")))
20125                          (TyCon
20126                             SrcSpanInfo
20127                               { srcInfoSpan =
20128                                   SrcSpan "tests/examples/DerivingVia.hs" 288 59 288 63
20129                               , srcInfoPoints = []
20130                               }
20131                             (UnQual
20132                                SrcSpanInfo
20133                                  { srcInfoSpan =
20134                                      SrcSpan "tests/examples/DerivingVia.hs" 288 59 288 63
20135                                  , srcInfoPoints = []
20136                                  }
20137                                (Ident
20138                                   SrcSpanInfo
20139                                     { srcInfoSpan =
20140                                         SrcSpan "tests/examples/DerivingVia.hs" 288 59 288 63
20141                                     , srcInfoPoints = []
20142                                     }
20143                                   "Void")))))))
20144              [ IRule
20145                  SrcSpanInfo
20146                    { srcInfoSpan =
20147                        SrcSpan "tests/examples/DerivingVia.hs" 288 35 288 41
20148                    , srcInfoPoints = []
20149                    }
20150                  Nothing
20151                  Nothing
20152                  (IHCon
20153                     SrcSpanInfo
20154                       { srcInfoSpan =
20155                           SrcSpan "tests/examples/DerivingVia.hs" 288 35 288 41
20156                       , srcInfoPoints = []
20157                       }
20158                     (UnQual
20159                        SrcSpanInfo
20160                          { srcInfoSpan =
20161                              SrcSpan "tests/examples/DerivingVia.hs" 288 35 288 41
20162                          , srcInfoPoints = []
20163                          }
20164                        (Ident
20165                           SrcSpanInfo
20166                             { srcInfoSpan =
20167                                 SrcSpan "tests/examples/DerivingVia.hs" 288 35 288 41
20168                             , srcInfoPoints = []
20169                             }
20170                           "IsZero")))
20171              ]
20172          ]
20173      , ClassDecl
20174          SrcSpanInfo
20175            { srcInfoSpan =
20176                SrcSpan "tests/examples/DerivingVia.hs" 293 1 301 14
20177            , srcInfoPoints =
20178                [ SrcSpan "tests/examples/DerivingVia.hs" 293 1 293 6
20179                , SrcSpan "tests/examples/DerivingVia.hs" 293 38 293 43
20180                , SrcSpan "tests/examples/DerivingVia.hs" 294 3 294 3
20181                , SrcSpan "tests/examples/DerivingVia.hs" 296 3 296 3
20182                , SrcSpan "tests/examples/DerivingVia.hs" 303 1 303 0
20183                ]
20184            }
20185          (Just
20186             (CxSingle
20187                SrcSpanInfo
20188                  { srcInfoSpan =
20189                      SrcSpan "tests/examples/DerivingVia.hs" 293 7 293 21
20190                  , srcInfoPoints =
20191                      [ SrcSpan "tests/examples/DerivingVia.hs" 293 19 293 21 ]
20192                  }
20193                (TypeA
20194                   SrcSpanInfo
20195                     { srcInfoSpan =
20196                         SrcSpan "tests/examples/DerivingVia.hs" 293 7 293 21
20197                     , srcInfoPoints =
20198                         [ SrcSpan "tests/examples/DerivingVia.hs" 293 19 293 21 ]
20199                     }
20200                   (TyApp
20201                      SrcSpanInfo
20202                        { srcInfoSpan =
20203                            SrcSpan "tests/examples/DerivingVia.hs" 293 7 293 21
20204                        , srcInfoPoints =
20205                            [ SrcSpan "tests/examples/DerivingVia.hs" 293 19 293 21 ]
20206                        }
20207                      (TyCon
20208                         SrcSpanInfo
20209                           { srcInfoSpan =
20210                               SrcSpan "tests/examples/DerivingVia.hs" 293 7 293 21
20211                           , srcInfoPoints =
20212                               [ SrcSpan "tests/examples/DerivingVia.hs" 293 19 293 21 ]
20213                           }
20214                         (UnQual
20215                            SrcSpanInfo
20216                              { srcInfoSpan =
20217                                  SrcSpan "tests/examples/DerivingVia.hs" 293 7 293 16
20218                              , srcInfoPoints = []
20219                              }
20220                            (Ident
20221                               SrcSpanInfo
20222                                 { srcInfoSpan =
20223                                     SrcSpan "tests/examples/DerivingVia.hs" 293 7 293 16
20224                                 , srcInfoPoints = []
20225                                 }
20226                               "Bifunctor")))
20227                      (TyVar
20228                         SrcSpanInfo
20229                           { srcInfoSpan =
20230                               SrcSpan "tests/examples/DerivingVia.hs" 293 17 293 18
20231                           , srcInfoPoints = []
20232                           }
20233                         (Ident
20234                            SrcSpanInfo
20235                              { srcInfoSpan =
20236                                  SrcSpan "tests/examples/DerivingVia.hs" 293 17 293 18
20237                              , srcInfoPoints = []
20238                              }
20239                            "p"))))))
20240          (DHApp
20241             SrcSpanInfo
20242               { srcInfoSpan =
20243                   SrcSpan "tests/examples/DerivingVia.hs" 293 22 293 37
20244               , srcInfoPoints = []
20245               }
20246             (DHead
20247                SrcSpanInfo
20248                  { srcInfoSpan =
20249                      SrcSpan "tests/examples/DerivingVia.hs" 293 22 293 35
20250                  , srcInfoPoints = []
20251                  }
20252                (Ident
20253                   SrcSpanInfo
20254                     { srcInfoSpan =
20255                         SrcSpan "tests/examples/DerivingVia.hs" 293 22 293 35
20256                     , srcInfoPoints = []
20257                     }
20258                   "Biapplicative"))
20259             (UnkindedVar
20260                SrcSpanInfo
20261                  { srcInfoSpan =
20262                      SrcSpan "tests/examples/DerivingVia.hs" 293 36 293 37
20263                  , srcInfoPoints = []
20264                  }
20265                (Ident
20266                   SrcSpanInfo
20267                     { srcInfoSpan =
20268                         SrcSpan "tests/examples/DerivingVia.hs" 293 36 293 37
20269                     , srcInfoPoints = []
20270                     }
20271                   "p")))
20272          []
20273          (Just
20274             [ ClsDecl
20275                 SrcSpanInfo
20276                   { srcInfoSpan =
20277                       SrcSpan "tests/examples/DerivingVia.hs" 294 3 294 28
20278                   , srcInfoPoints =
20279                       [ SrcSpan "tests/examples/DerivingVia.hs" 294 10 294 12 ]
20280                   }
20281                 (TypeSig
20282                    SrcSpanInfo
20283                      { srcInfoSpan =
20284                          SrcSpan "tests/examples/DerivingVia.hs" 294 3 294 28
20285                      , srcInfoPoints =
20286                          [ SrcSpan "tests/examples/DerivingVia.hs" 294 10 294 12 ]
20287                      }
20288                    [ Ident
20289                        SrcSpanInfo
20290                          { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 294 3 294 9
20291                          , srcInfoPoints = []
20292                          }
20293                        "bipure"
20294                    ]
20295                    (TyFun
20296                       SrcSpanInfo
20297                         { srcInfoSpan =
20298                             SrcSpan "tests/examples/DerivingVia.hs" 294 13 294 28
20299                         , srcInfoPoints =
20300                             [ SrcSpan "tests/examples/DerivingVia.hs" 294 15 294 17 ]
20301                         }
20302                       (TyVar
20303                          SrcSpanInfo
20304                            { srcInfoSpan =
20305                                SrcSpan "tests/examples/DerivingVia.hs" 294 13 294 14
20306                            , srcInfoPoints = []
20307                            }
20308                          (Ident
20309                             SrcSpanInfo
20310                               { srcInfoSpan =
20311                                   SrcSpan "tests/examples/DerivingVia.hs" 294 13 294 14
20312                               , srcInfoPoints = []
20313                               }
20314                             "a"))
20315                       (TyFun
20316                          SrcSpanInfo
20317                            { srcInfoSpan =
20318                                SrcSpan "tests/examples/DerivingVia.hs" 294 18 294 28
20319                            , srcInfoPoints =
20320                                [ SrcSpan "tests/examples/DerivingVia.hs" 294 20 294 22 ]
20321                            }
20322                          (TyVar
20323                             SrcSpanInfo
20324                               { srcInfoSpan =
20325                                   SrcSpan "tests/examples/DerivingVia.hs" 294 18 294 19
20326                               , srcInfoPoints = []
20327                               }
20328                             (Ident
20329                                SrcSpanInfo
20330                                  { srcInfoSpan =
20331                                      SrcSpan "tests/examples/DerivingVia.hs" 294 18 294 19
20332                                  , srcInfoPoints = []
20333                                  }
20334                                "b"))
20335                          (TyApp
20336                             SrcSpanInfo
20337                               { srcInfoSpan =
20338                                   SrcSpan "tests/examples/DerivingVia.hs" 294 23 294 28
20339                               , srcInfoPoints = []
20340                               }
20341                             (TyApp
20342                                SrcSpanInfo
20343                                  { srcInfoSpan =
20344                                      SrcSpan "tests/examples/DerivingVia.hs" 294 23 294 26
20345                                  , srcInfoPoints = []
20346                                  }
20347                                (TyVar
20348                                   SrcSpanInfo
20349                                     { srcInfoSpan =
20350                                         SrcSpan "tests/examples/DerivingVia.hs" 294 23 294 24
20351                                     , srcInfoPoints = []
20352                                     }
20353                                   (Ident
20354                                      SrcSpanInfo
20355                                        { srcInfoSpan =
20356                                            SrcSpan "tests/examples/DerivingVia.hs" 294 23 294 24
20357                                        , srcInfoPoints = []
20358                                        }
20359                                      "p"))
20360                                (TyVar
20361                                   SrcSpanInfo
20362                                     { srcInfoSpan =
20363                                         SrcSpan "tests/examples/DerivingVia.hs" 294 25 294 26
20364                                     , srcInfoPoints = []
20365                                     }
20366                                   (Ident
20367                                      SrcSpanInfo
20368                                        { srcInfoSpan =
20369                                            SrcSpan "tests/examples/DerivingVia.hs" 294 25 294 26
20370                                        , srcInfoPoints = []
20371                                        }
20372                                      "a")))
20373                             (TyVar
20374                                SrcSpanInfo
20375                                  { srcInfoSpan =
20376                                      SrcSpan "tests/examples/DerivingVia.hs" 294 27 294 28
20377                                  , srcInfoPoints = []
20378                                  }
20379                                (Ident
20380                                   SrcSpanInfo
20381                                     { srcInfoSpan =
20382                                         SrcSpan "tests/examples/DerivingVia.hs" 294 27 294 28
20383                                     , srcInfoPoints = []
20384                                     }
20385                                   "b"))))))
20386             , ClsDecl
20387                 SrcSpanInfo
20388                   { srcInfoSpan =
20389                       SrcSpan "tests/examples/DerivingVia.hs" 296 3 301 14
20390                   , srcInfoPoints =
20391                       [ SrcSpan "tests/examples/DerivingVia.hs" 297 5 297 7 ]
20392                   }
20393                 (TypeSig
20394                    SrcSpanInfo
20395                      { srcInfoSpan =
20396                          SrcSpan "tests/examples/DerivingVia.hs" 296 3 301 14
20397                      , srcInfoPoints =
20398                          [ SrcSpan "tests/examples/DerivingVia.hs" 297 5 297 7 ]
20399                      }
20400                    [ Ident
20401                        SrcSpanInfo
20402                          { srcInfoSpan =
20403                              SrcSpan "tests/examples/DerivingVia.hs" 296 3 296 11
20404                          , srcInfoPoints = []
20405                          }
20406                        "biliftA2"
20407                    ]
20408                    (TyFun
20409                       SrcSpanInfo
20410                         { srcInfoSpan =
20411                             SrcSpan "tests/examples/DerivingVia.hs" 297 8 301 14
20412                         , srcInfoPoints =
20413                             [ SrcSpan "tests/examples/DerivingVia.hs" 298 5 298 7 ]
20414                         }
20415                       (TyParen
20416                          SrcSpanInfo
20417                            { srcInfoSpan =
20418                                SrcSpan "tests/examples/DerivingVia.hs" 297 8 297 23
20419                            , srcInfoPoints =
20420                                [ SrcSpan "tests/examples/DerivingVia.hs" 297 8 297 9
20421                                , SrcSpan "tests/examples/DerivingVia.hs" 297 22 297 23
20422                                ]
20423                            }
20424                          (TyFun
20425                             SrcSpanInfo
20426                               { srcInfoSpan =
20427                                   SrcSpan "tests/examples/DerivingVia.hs" 297 9 297 22
20428                               , srcInfoPoints =
20429                                   [ SrcSpan "tests/examples/DerivingVia.hs" 297 12 297 14 ]
20430                               }
20431                             (TyVar
20432                                SrcSpanInfo
20433                                  { srcInfoSpan =
20434                                      SrcSpan "tests/examples/DerivingVia.hs" 297 9 297 10
20435                                  , srcInfoPoints = []
20436                                  }
20437                                (Ident
20438                                   SrcSpanInfo
20439                                     { srcInfoSpan =
20440                                         SrcSpan "tests/examples/DerivingVia.hs" 297 9 297 10
20441                                     , srcInfoPoints = []
20442                                     }
20443                                   "a"))
20444                             (TyFun
20445                                SrcSpanInfo
20446                                  { srcInfoSpan =
20447                                      SrcSpan "tests/examples/DerivingVia.hs" 297 15 297 22
20448                                  , srcInfoPoints =
20449                                      [ SrcSpan "tests/examples/DerivingVia.hs" 297 18 297 20 ]
20450                                  }
20451                                (TyVar
20452                                   SrcSpanInfo
20453                                     { srcInfoSpan =
20454                                         SrcSpan "tests/examples/DerivingVia.hs" 297 15 297 16
20455                                     , srcInfoPoints = []
20456                                     }
20457                                   (Ident
20458                                      SrcSpanInfo
20459                                        { srcInfoSpan =
20460                                            SrcSpan "tests/examples/DerivingVia.hs" 297 15 297 16
20461                                        , srcInfoPoints = []
20462                                        }
20463                                      "b"))
20464                                (TyVar
20465                                   SrcSpanInfo
20466                                     { srcInfoSpan =
20467                                         SrcSpan "tests/examples/DerivingVia.hs" 297 21 297 22
20468                                     , srcInfoPoints = []
20469                                     }
20470                                   (Ident
20471                                      SrcSpanInfo
20472                                        { srcInfoSpan =
20473                                            SrcSpan "tests/examples/DerivingVia.hs" 297 21 297 22
20474                                        , srcInfoPoints = []
20475                                        }
20476                                      "c")))))
20477                       (TyFun
20478                          SrcSpanInfo
20479                            { srcInfoSpan =
20480                                SrcSpan "tests/examples/DerivingVia.hs" 298 8 301 14
20481                            , srcInfoPoints =
20482                                [ SrcSpan "tests/examples/DerivingVia.hs" 299 5 299 7 ]
20483                            }
20484                          (TyParen
20485                             SrcSpanInfo
20486                               { srcInfoSpan =
20487                                   SrcSpan "tests/examples/DerivingVia.hs" 298 8 298 24
20488                               , srcInfoPoints =
20489                                   [ SrcSpan "tests/examples/DerivingVia.hs" 298 8 298 9
20490                                   , SrcSpan "tests/examples/DerivingVia.hs" 298 23 298 24
20491                                   ]
20492                               }
20493                             (TyFun
20494                                SrcSpanInfo
20495                                  { srcInfoSpan =
20496                                      SrcSpan "tests/examples/DerivingVia.hs" 298 9 298 23
20497                                  , srcInfoPoints =
20498                                      [ SrcSpan "tests/examples/DerivingVia.hs" 298 12 298 14 ]
20499                                  }
20500                                (TyVar
20501                                   SrcSpanInfo
20502                                     { srcInfoSpan =
20503                                         SrcSpan "tests/examples/DerivingVia.hs" 298 9 298 11
20504                                     , srcInfoPoints = []
20505                                     }
20506                                   (Ident
20507                                      SrcSpanInfo
20508                                        { srcInfoSpan =
20509                                            SrcSpan "tests/examples/DerivingVia.hs" 298 9 298 11
20510                                        , srcInfoPoints = []
20511                                        }
20512                                      "a'"))
20513                                (TyFun
20514                                   SrcSpanInfo
20515                                     { srcInfoSpan =
20516                                         SrcSpan "tests/examples/DerivingVia.hs" 298 15 298 23
20517                                     , srcInfoPoints =
20518                                         [ SrcSpan "tests/examples/DerivingVia.hs" 298 18 298 20 ]
20519                                     }
20520                                   (TyVar
20521                                      SrcSpanInfo
20522                                        { srcInfoSpan =
20523                                            SrcSpan "tests/examples/DerivingVia.hs" 298 15 298 17
20524                                        , srcInfoPoints = []
20525                                        }
20526                                      (Ident
20527                                         SrcSpanInfo
20528                                           { srcInfoSpan =
20529                                               SrcSpan "tests/examples/DerivingVia.hs" 298 15 298 17
20530                                           , srcInfoPoints = []
20531                                           }
20532                                         "b'"))
20533                                   (TyVar
20534                                      SrcSpanInfo
20535                                        { srcInfoSpan =
20536                                            SrcSpan "tests/examples/DerivingVia.hs" 298 21 298 23
20537                                        , srcInfoPoints = []
20538                                        }
20539                                      (Ident
20540                                         SrcSpanInfo
20541                                           { srcInfoSpan =
20542                                               SrcSpan "tests/examples/DerivingVia.hs" 298 21 298 23
20543                                           , srcInfoPoints = []
20544                                           }
20545                                         "c'")))))
20546                          (TyFun
20547                             SrcSpanInfo
20548                               { srcInfoSpan =
20549                                   SrcSpan "tests/examples/DerivingVia.hs" 299 8 301 14
20550                               , srcInfoPoints =
20551                                   [ SrcSpan "tests/examples/DerivingVia.hs" 300 5 300 7 ]
20552                               }
20553                             (TyApp
20554                                SrcSpanInfo
20555                                  { srcInfoSpan =
20556                                      SrcSpan "tests/examples/DerivingVia.hs" 299 8 299 14
20557                                  , srcInfoPoints = []
20558                                  }
20559                                (TyApp
20560                                   SrcSpanInfo
20561                                     { srcInfoSpan =
20562                                         SrcSpan "tests/examples/DerivingVia.hs" 299 8 299 11
20563                                     , srcInfoPoints = []
20564                                     }
20565                                   (TyVar
20566                                      SrcSpanInfo
20567                                        { srcInfoSpan =
20568                                            SrcSpan "tests/examples/DerivingVia.hs" 299 8 299 9
20569                                        , srcInfoPoints = []
20570                                        }
20571                                      (Ident
20572                                         SrcSpanInfo
20573                                           { srcInfoSpan =
20574                                               SrcSpan "tests/examples/DerivingVia.hs" 299 8 299 9
20575                                           , srcInfoPoints = []
20576                                           }
20577                                         "p"))
20578                                   (TyVar
20579                                      SrcSpanInfo
20580                                        { srcInfoSpan =
20581                                            SrcSpan "tests/examples/DerivingVia.hs" 299 10 299 11
20582                                        , srcInfoPoints = []
20583                                        }
20584                                      (Ident
20585                                         SrcSpanInfo
20586                                           { srcInfoSpan =
20587                                               SrcSpan "tests/examples/DerivingVia.hs" 299 10 299 11
20588                                           , srcInfoPoints = []
20589                                           }
20590                                         "a")))
20591                                (TyVar
20592                                   SrcSpanInfo
20593                                     { srcInfoSpan =
20594                                         SrcSpan "tests/examples/DerivingVia.hs" 299 12 299 14
20595                                     , srcInfoPoints = []
20596                                     }
20597                                   (Ident
20598                                      SrcSpanInfo
20599                                        { srcInfoSpan =
20600                                            SrcSpan "tests/examples/DerivingVia.hs" 299 12 299 14
20601                                        , srcInfoPoints = []
20602                                        }
20603                                      "a'")))
20604                             (TyFun
20605                                SrcSpanInfo
20606                                  { srcInfoSpan =
20607                                      SrcSpan "tests/examples/DerivingVia.hs" 300 8 301 14
20608                                  , srcInfoPoints =
20609                                      [ SrcSpan "tests/examples/DerivingVia.hs" 301 5 301 7 ]
20610                                  }
20611                                (TyApp
20612                                   SrcSpanInfo
20613                                     { srcInfoSpan =
20614                                         SrcSpan "tests/examples/DerivingVia.hs" 300 8 300 14
20615                                     , srcInfoPoints = []
20616                                     }
20617                                   (TyApp
20618                                      SrcSpanInfo
20619                                        { srcInfoSpan =
20620                                            SrcSpan "tests/examples/DerivingVia.hs" 300 8 300 11
20621                                        , srcInfoPoints = []
20622                                        }
20623                                      (TyVar
20624                                         SrcSpanInfo
20625                                           { srcInfoSpan =
20626                                               SrcSpan "tests/examples/DerivingVia.hs" 300 8 300 9
20627                                           , srcInfoPoints = []
20628                                           }
20629                                         (Ident
20630                                            SrcSpanInfo
20631                                              { srcInfoSpan =
20632                                                  SrcSpan
20633                                                    "tests/examples/DerivingVia.hs" 300 8 300 9
20634                                              , srcInfoPoints = []
20635                                              }
20636                                            "p"))
20637                                      (TyVar
20638                                         SrcSpanInfo
20639                                           { srcInfoSpan =
20640                                               SrcSpan "tests/examples/DerivingVia.hs" 300 10 300 11
20641                                           , srcInfoPoints = []
20642                                           }
20643                                         (Ident
20644                                            SrcSpanInfo
20645                                              { srcInfoSpan =
20646                                                  SrcSpan
20647                                                    "tests/examples/DerivingVia.hs" 300 10 300 11
20648                                              , srcInfoPoints = []
20649                                              }
20650                                            "b")))
20651                                   (TyVar
20652                                      SrcSpanInfo
20653                                        { srcInfoSpan =
20654                                            SrcSpan "tests/examples/DerivingVia.hs" 300 12 300 14
20655                                        , srcInfoPoints = []
20656                                        }
20657                                      (Ident
20658                                         SrcSpanInfo
20659                                           { srcInfoSpan =
20660                                               SrcSpan "tests/examples/DerivingVia.hs" 300 12 300 14
20661                                           , srcInfoPoints = []
20662                                           }
20663                                         "b'")))
20664                                (TyApp
20665                                   SrcSpanInfo
20666                                     { srcInfoSpan =
20667                                         SrcSpan "tests/examples/DerivingVia.hs" 301 8 301 14
20668                                     , srcInfoPoints = []
20669                                     }
20670                                   (TyApp
20671                                      SrcSpanInfo
20672                                        { srcInfoSpan =
20673                                            SrcSpan "tests/examples/DerivingVia.hs" 301 8 301 11
20674                                        , srcInfoPoints = []
20675                                        }
20676                                      (TyVar
20677                                         SrcSpanInfo
20678                                           { srcInfoSpan =
20679                                               SrcSpan "tests/examples/DerivingVia.hs" 301 8 301 9
20680                                           , srcInfoPoints = []
20681                                           }
20682                                         (Ident
20683                                            SrcSpanInfo
20684                                              { srcInfoSpan =
20685                                                  SrcSpan
20686                                                    "tests/examples/DerivingVia.hs" 301 8 301 9
20687                                              , srcInfoPoints = []
20688                                              }
20689                                            "p"))
20690                                      (TyVar
20691                                         SrcSpanInfo
20692                                           { srcInfoSpan =
20693                                               SrcSpan "tests/examples/DerivingVia.hs" 301 10 301 11
20694                                           , srcInfoPoints = []
20695                                           }
20696                                         (Ident
20697                                            SrcSpanInfo
20698                                              { srcInfoSpan =
20699                                                  SrcSpan
20700                                                    "tests/examples/DerivingVia.hs" 301 10 301 11
20701                                              , srcInfoPoints = []
20702                                              }
20703                                            "c")))
20704                                   (TyVar
20705                                      SrcSpanInfo
20706                                        { srcInfoSpan =
20707                                            SrcSpan "tests/examples/DerivingVia.hs" 301 12 301 14
20708                                        , srcInfoPoints = []
20709                                        }
20710                                      (Ident
20711                                         SrcSpanInfo
20712                                           { srcInfoSpan =
20713                                               SrcSpan "tests/examples/DerivingVia.hs" 301 12 301 14
20714                                           , srcInfoPoints = []
20715                                           }
20716                                         "c'"))))))))
20717             ])
20718      , InstDecl
20719          SrcSpanInfo
20720            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 303 1 309 0
20721            , srcInfoPoints =
20722                [ SrcSpan "tests/examples/DerivingVia.hs" 303 1 303 9
20723                , SrcSpan "tests/examples/DerivingVia.hs" 303 28 303 33
20724                , SrcSpan "tests/examples/DerivingVia.hs" 304 3 304 3
20725                , SrcSpan "tests/examples/DerivingVia.hs" 306 3 306 3
20726                , SrcSpan "tests/examples/DerivingVia.hs" 309 1 309 0
20727                ]
20728            }
20729          Nothing
20730          (IRule
20731             SrcSpanInfo
20732               { srcInfoSpan =
20733                   SrcSpan "tests/examples/DerivingVia.hs" 303 10 303 27
20734               , srcInfoPoints = []
20735               }
20736             Nothing
20737             Nothing
20738             (IHApp
20739                SrcSpanInfo
20740                  { srcInfoSpan =
20741                      SrcSpan "tests/examples/DerivingVia.hs" 303 10 303 27
20742                  , srcInfoPoints = []
20743                  }
20744                (IHCon
20745                   SrcSpanInfo
20746                     { srcInfoSpan =
20747                         SrcSpan "tests/examples/DerivingVia.hs" 303 10 303 23
20748                     , srcInfoPoints = []
20749                     }
20750                   (UnQual
20751                      SrcSpanInfo
20752                        { srcInfoSpan =
20753                            SrcSpan "tests/examples/DerivingVia.hs" 303 10 303 23
20754                        , srcInfoPoints = []
20755                        }
20756                      (Ident
20757                         SrcSpanInfo
20758                           { srcInfoSpan =
20759                               SrcSpan "tests/examples/DerivingVia.hs" 303 10 303 23
20760                           , srcInfoPoints = []
20761                           }
20762                         "Biapplicative")))
20763                (TyCon
20764                   SrcSpanInfo
20765                     { srcInfoSpan =
20766                         SrcSpan "tests/examples/DerivingVia.hs" 303 24 303 27
20767                     , srcInfoPoints =
20768                         [ SrcSpan "tests/examples/DerivingVia.hs" 303 24 303 25
20769                         , SrcSpan "tests/examples/DerivingVia.hs" 303 25 303 26
20770                         , SrcSpan "tests/examples/DerivingVia.hs" 303 26 303 27
20771                         ]
20772                     }
20773                   (Special
20774                      SrcSpanInfo
20775                        { srcInfoSpan =
20776                            SrcSpan "tests/examples/DerivingVia.hs" 303 24 303 27
20777                        , srcInfoPoints =
20778                            [ SrcSpan "tests/examples/DerivingVia.hs" 303 24 303 25
20779                            , SrcSpan "tests/examples/DerivingVia.hs" 303 25 303 26
20780                            , SrcSpan "tests/examples/DerivingVia.hs" 303 26 303 27
20781                            ]
20782                        }
20783                      (TupleCon
20784                         SrcSpanInfo
20785                           { srcInfoSpan =
20786                               SrcSpan "tests/examples/DerivingVia.hs" 303 24 303 27
20787                           , srcInfoPoints =
20788                               [ SrcSpan "tests/examples/DerivingVia.hs" 303 24 303 25
20789                               , SrcSpan "tests/examples/DerivingVia.hs" 303 25 303 26
20790                               , SrcSpan "tests/examples/DerivingVia.hs" 303 26 303 27
20791                               ]
20792                           }
20793                         Boxed
20794                         2)))))
20795          (Just
20796             [ InsDecl
20797                 SrcSpanInfo
20798                   { srcInfoSpan =
20799                       SrcSpan "tests/examples/DerivingVia.hs" 304 3 304 15
20800                   , srcInfoPoints = []
20801                   }
20802                 (PatBind
20803                    SrcSpanInfo
20804                      { srcInfoSpan =
20805                          SrcSpan "tests/examples/DerivingVia.hs" 304 3 304 15
20806                      , srcInfoPoints = []
20807                      }
20808                    (PVar
20809                       SrcSpanInfo
20810                         { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 304 3 304 9
20811                         , srcInfoPoints = []
20812                         }
20813                       (Ident
20814                          SrcSpanInfo
20815                            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 304 3 304 9
20816                            , srcInfoPoints = []
20817                            }
20818                          "bipure"))
20819                    (UnGuardedRhs
20820                       SrcSpanInfo
20821                         { srcInfoSpan =
20822                             SrcSpan "tests/examples/DerivingVia.hs" 304 10 304 15
20823                         , srcInfoPoints =
20824                             [ SrcSpan "tests/examples/DerivingVia.hs" 304 10 304 11 ]
20825                         }
20826                       (Con
20827                          SrcSpanInfo
20828                            { srcInfoSpan =
20829                                SrcSpan "tests/examples/DerivingVia.hs" 304 12 304 15
20830                            , srcInfoPoints =
20831                                [ SrcSpan "tests/examples/DerivingVia.hs" 304 12 304 13
20832                                , SrcSpan "tests/examples/DerivingVia.hs" 304 13 304 14
20833                                , SrcSpan "tests/examples/DerivingVia.hs" 304 14 304 15
20834                                ]
20835                            }
20836                          (Special
20837                             SrcSpanInfo
20838                               { srcInfoSpan =
20839                                   SrcSpan "tests/examples/DerivingVia.hs" 304 12 304 15
20840                               , srcInfoPoints =
20841                                   [ SrcSpan "tests/examples/DerivingVia.hs" 304 12 304 13
20842                                   , SrcSpan "tests/examples/DerivingVia.hs" 304 13 304 14
20843                                   , SrcSpan "tests/examples/DerivingVia.hs" 304 14 304 15
20844                                   ]
20845                               }
20846                             (TupleCon
20847                                SrcSpanInfo
20848                                  { srcInfoSpan =
20849                                      SrcSpan "tests/examples/DerivingVia.hs" 304 12 304 15
20850                                  , srcInfoPoints =
20851                                      [ SrcSpan "tests/examples/DerivingVia.hs" 304 12 304 13
20852                                      , SrcSpan "tests/examples/DerivingVia.hs" 304 13 304 14
20853                                      , SrcSpan "tests/examples/DerivingVia.hs" 304 14 304 15
20854                                      ]
20855                                  }
20856                                Boxed
20857                                2))))
20858                    Nothing)
20859             , InsDecl
20860                 SrcSpanInfo
20861                   { srcInfoSpan =
20862                       SrcSpan "tests/examples/DerivingVia.hs" 306 3 307 22
20863                   , srcInfoPoints = []
20864                   }
20865                 (FunBind
20866                    SrcSpanInfo
20867                      { srcInfoSpan =
20868                          SrcSpan "tests/examples/DerivingVia.hs" 306 3 307 22
20869                      , srcInfoPoints = []
20870                      }
20871                    [ Match
20872                        SrcSpanInfo
20873                          { srcInfoSpan =
20874                              SrcSpan "tests/examples/DerivingVia.hs" 306 3 307 22
20875                          , srcInfoPoints = []
20876                          }
20877                        (Ident
20878                           SrcSpanInfo
20879                             { srcInfoSpan =
20880                                 SrcSpan "tests/examples/DerivingVia.hs" 306 3 306 11
20881                             , srcInfoPoints = []
20882                             }
20883                           "biliftA2")
20884                        [ PVar
20885                            SrcSpanInfo
20886                              { srcInfoSpan =
20887                                  SrcSpan "tests/examples/DerivingVia.hs" 306 12 306 13
20888                              , srcInfoPoints = []
20889                              }
20890                            (Ident
20891                               SrcSpanInfo
20892                                 { srcInfoSpan =
20893                                     SrcSpan "tests/examples/DerivingVia.hs" 306 12 306 13
20894                                 , srcInfoPoints = []
20895                                 }
20896                               "f")
20897                        , PVar
20898                            SrcSpanInfo
20899                              { srcInfoSpan =
20900                                  SrcSpan "tests/examples/DerivingVia.hs" 306 14 306 16
20901                              , srcInfoPoints = []
20902                              }
20903                            (Ident
20904                               SrcSpanInfo
20905                                 { srcInfoSpan =
20906                                     SrcSpan "tests/examples/DerivingVia.hs" 306 14 306 16
20907                                 , srcInfoPoints = []
20908                                 }
20909                               "f'")
20910                        , PTuple
20911                            SrcSpanInfo
20912                              { srcInfoSpan =
20913                                  SrcSpan "tests/examples/DerivingVia.hs" 306 17 306 24
20914                              , srcInfoPoints =
20915                                  [ SrcSpan "tests/examples/DerivingVia.hs" 306 17 306 18
20916                                  , SrcSpan "tests/examples/DerivingVia.hs" 306 19 306 20
20917                                  , SrcSpan "tests/examples/DerivingVia.hs" 306 23 306 24
20918                                  ]
20919                              }
20920                            Boxed
20921                            [ PVar
20922                                SrcSpanInfo
20923                                  { srcInfoSpan =
20924                                      SrcSpan "tests/examples/DerivingVia.hs" 306 18 306 19
20925                                  , srcInfoPoints = []
20926                                  }
20927                                (Ident
20928                                   SrcSpanInfo
20929                                     { srcInfoSpan =
20930                                         SrcSpan "tests/examples/DerivingVia.hs" 306 18 306 19
20931                                     , srcInfoPoints = []
20932                                     }
20933                                   "a")
20934                            , PVar
20935                                SrcSpanInfo
20936                                  { srcInfoSpan =
20937                                      SrcSpan "tests/examples/DerivingVia.hs" 306 21 306 23
20938                                  , srcInfoPoints = []
20939                                  }
20940                                (Ident
20941                                   SrcSpanInfo
20942                                     { srcInfoSpan =
20943                                         SrcSpan "tests/examples/DerivingVia.hs" 306 21 306 23
20944                                     , srcInfoPoints = []
20945                                     }
20946                                   "a'")
20947                            ]
20948                        , PTuple
20949                            SrcSpanInfo
20950                              { srcInfoSpan =
20951                                  SrcSpan "tests/examples/DerivingVia.hs" 306 25 306 32
20952                              , srcInfoPoints =
20953                                  [ SrcSpan "tests/examples/DerivingVia.hs" 306 25 306 26
20954                                  , SrcSpan "tests/examples/DerivingVia.hs" 306 27 306 28
20955                                  , SrcSpan "tests/examples/DerivingVia.hs" 306 31 306 32
20956                                  ]
20957                              }
20958                            Boxed
20959                            [ PVar
20960                                SrcSpanInfo
20961                                  { srcInfoSpan =
20962                                      SrcSpan "tests/examples/DerivingVia.hs" 306 26 306 27
20963                                  , srcInfoPoints = []
20964                                  }
20965                                (Ident
20966                                   SrcSpanInfo
20967                                     { srcInfoSpan =
20968                                         SrcSpan "tests/examples/DerivingVia.hs" 306 26 306 27
20969                                     , srcInfoPoints = []
20970                                     }
20971                                   "b")
20972                            , PVar
20973                                SrcSpanInfo
20974                                  { srcInfoSpan =
20975                                      SrcSpan "tests/examples/DerivingVia.hs" 306 29 306 31
20976                                  , srcInfoPoints = []
20977                                  }
20978                                (Ident
20979                                   SrcSpanInfo
20980                                     { srcInfoSpan =
20981                                         SrcSpan "tests/examples/DerivingVia.hs" 306 29 306 31
20982                                     , srcInfoPoints = []
20983                                     }
20984                                   "b'")
20985                            ]
20986                        ]
20987                        (UnGuardedRhs
20988                           SrcSpanInfo
20989                             { srcInfoSpan =
20990                                 SrcSpan "tests/examples/DerivingVia.hs" 306 33 307 22
20991                             , srcInfoPoints =
20992                                 [ SrcSpan "tests/examples/DerivingVia.hs" 306 33 306 34 ]
20993                             }
20994                           (Tuple
20995                              SrcSpanInfo
20996                                { srcInfoSpan =
20997                                    SrcSpan "tests/examples/DerivingVia.hs" 307 5 307 22
20998                                , srcInfoPoints =
20999                                    [ SrcSpan "tests/examples/DerivingVia.hs" 307 5 307 6
21000                                    , SrcSpan "tests/examples/DerivingVia.hs" 307 11 307 12
21001                                    , SrcSpan "tests/examples/DerivingVia.hs" 307 21 307 22
21002                                    ]
21003                                }
21004                              Boxed
21005                              [ App
21006                                  SrcSpanInfo
21007                                    { srcInfoSpan =
21008                                        SrcSpan "tests/examples/DerivingVia.hs" 307 6 307 11
21009                                    , srcInfoPoints = []
21010                                    }
21011                                  (App
21012                                     SrcSpanInfo
21013                                       { srcInfoSpan =
21014                                           SrcSpan "tests/examples/DerivingVia.hs" 307 6 307 9
21015                                       , srcInfoPoints = []
21016                                       }
21017                                     (Var
21018                                        SrcSpanInfo
21019                                          { srcInfoSpan =
21020                                              SrcSpan "tests/examples/DerivingVia.hs" 307 6 307 7
21021                                          , srcInfoPoints = []
21022                                          }
21023                                        (UnQual
21024                                           SrcSpanInfo
21025                                             { srcInfoSpan =
21026                                                 SrcSpan "tests/examples/DerivingVia.hs" 307 6 307 7
21027                                             , srcInfoPoints = []
21028                                             }
21029                                           (Ident
21030                                              SrcSpanInfo
21031                                                { srcInfoSpan =
21032                                                    SrcSpan
21033                                                      "tests/examples/DerivingVia.hs" 307 6 307 7
21034                                                , srcInfoPoints = []
21035                                                }
21036                                              "f")))
21037                                     (Var
21038                                        SrcSpanInfo
21039                                          { srcInfoSpan =
21040                                              SrcSpan "tests/examples/DerivingVia.hs" 307 8 307 9
21041                                          , srcInfoPoints = []
21042                                          }
21043                                        (UnQual
21044                                           SrcSpanInfo
21045                                             { srcInfoSpan =
21046                                                 SrcSpan "tests/examples/DerivingVia.hs" 307 8 307 9
21047                                             , srcInfoPoints = []
21048                                             }
21049                                           (Ident
21050                                              SrcSpanInfo
21051                                                { srcInfoSpan =
21052                                                    SrcSpan
21053                                                      "tests/examples/DerivingVia.hs" 307 8 307 9
21054                                                , srcInfoPoints = []
21055                                                }
21056                                              "a"))))
21057                                  (Var
21058                                     SrcSpanInfo
21059                                       { srcInfoSpan =
21060                                           SrcSpan "tests/examples/DerivingVia.hs" 307 10 307 11
21061                                       , srcInfoPoints = []
21062                                       }
21063                                     (UnQual
21064                                        SrcSpanInfo
21065                                          { srcInfoSpan =
21066                                              SrcSpan "tests/examples/DerivingVia.hs" 307 10 307 11
21067                                          , srcInfoPoints = []
21068                                          }
21069                                        (Ident
21070                                           SrcSpanInfo
21071                                             { srcInfoSpan =
21072                                                 SrcSpan
21073                                                   "tests/examples/DerivingVia.hs" 307 10 307 11
21074                                             , srcInfoPoints = []
21075                                             }
21076                                           "b")))
21077                              , App
21078                                  SrcSpanInfo
21079                                    { srcInfoSpan =
21080                                        SrcSpan "tests/examples/DerivingVia.hs" 307 13 307 21
21081                                    , srcInfoPoints = []
21082                                    }
21083                                  (App
21084                                     SrcSpanInfo
21085                                       { srcInfoSpan =
21086                                           SrcSpan "tests/examples/DerivingVia.hs" 307 13 307 18
21087                                       , srcInfoPoints = []
21088                                       }
21089                                     (Var
21090                                        SrcSpanInfo
21091                                          { srcInfoSpan =
21092                                              SrcSpan "tests/examples/DerivingVia.hs" 307 13 307 15
21093                                          , srcInfoPoints = []
21094                                          }
21095                                        (UnQual
21096                                           SrcSpanInfo
21097                                             { srcInfoSpan =
21098                                                 SrcSpan
21099                                                   "tests/examples/DerivingVia.hs" 307 13 307 15
21100                                             , srcInfoPoints = []
21101                                             }
21102                                           (Ident
21103                                              SrcSpanInfo
21104                                                { srcInfoSpan =
21105                                                    SrcSpan
21106                                                      "tests/examples/DerivingVia.hs" 307 13 307 15
21107                                                , srcInfoPoints = []
21108                                                }
21109                                              "f'")))
21110                                     (Var
21111                                        SrcSpanInfo
21112                                          { srcInfoSpan =
21113                                              SrcSpan "tests/examples/DerivingVia.hs" 307 16 307 18
21114                                          , srcInfoPoints = []
21115                                          }
21116                                        (UnQual
21117                                           SrcSpanInfo
21118                                             { srcInfoSpan =
21119                                                 SrcSpan
21120                                                   "tests/examples/DerivingVia.hs" 307 16 307 18
21121                                             , srcInfoPoints = []
21122                                             }
21123                                           (Ident
21124                                              SrcSpanInfo
21125                                                { srcInfoSpan =
21126                                                    SrcSpan
21127                                                      "tests/examples/DerivingVia.hs" 307 16 307 18
21128                                                , srcInfoPoints = []
21129                                                }
21130                                              "a'"))))
21131                                  (Var
21132                                     SrcSpanInfo
21133                                       { srcInfoSpan =
21134                                           SrcSpan "tests/examples/DerivingVia.hs" 307 19 307 21
21135                                       , srcInfoPoints = []
21136                                       }
21137                                     (UnQual
21138                                        SrcSpanInfo
21139                                          { srcInfoSpan =
21140                                              SrcSpan "tests/examples/DerivingVia.hs" 307 19 307 21
21141                                          , srcInfoPoints = []
21142                                          }
21143                                        (Ident
21144                                           SrcSpanInfo
21145                                             { srcInfoSpan =
21146                                                 SrcSpan
21147                                                   "tests/examples/DerivingVia.hs" 307 19 307 21
21148                                             , srcInfoPoints = []
21149                                             }
21150                                           "b'")))
21151                              ]))
21152                        Nothing
21153                    ])
21154             ])
21155      , DataDecl
21156          SrcSpanInfo
21157            { srcInfoSpan =
21158                SrcSpan "tests/examples/DerivingVia.hs" 309 1 310 50
21159            , srcInfoPoints =
21160                [ SrcSpan "tests/examples/DerivingVia.hs" 309 25 309 26 ]
21161            }
21162          (NewType
21163             SrcSpanInfo
21164               { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 309 1 309 8
21165               , srcInfoPoints = []
21166               })
21167          Nothing
21168          (DHApp
21169             SrcSpanInfo
21170               { srcInfoSpan =
21171                   SrcSpan "tests/examples/DerivingVia.hs" 309 9 309 24
21172               , srcInfoPoints = []
21173               }
21174             (DHApp
21175                SrcSpanInfo
21176                  { srcInfoSpan =
21177                      SrcSpan "tests/examples/DerivingVia.hs" 309 9 309 22
21178                  , srcInfoPoints = []
21179                  }
21180                (DHApp
21181                   SrcSpanInfo
21182                     { srcInfoSpan =
21183                         SrcSpan "tests/examples/DerivingVia.hs" 309 9 309 20
21184                     , srcInfoPoints = []
21185                     }
21186                   (DHead
21187                      SrcSpanInfo
21188                        { srcInfoSpan =
21189                            SrcSpan "tests/examples/DerivingVia.hs" 309 9 309 18
21190                        , srcInfoPoints = []
21191                        }
21192                      (Ident
21193                         SrcSpanInfo
21194                           { srcInfoSpan =
21195                               SrcSpan "tests/examples/DerivingVia.hs" 309 9 309 18
21196                           , srcInfoPoints = []
21197                           }
21198                         "WrapBiapp"))
21199                   (UnkindedVar
21200                      SrcSpanInfo
21201                        { srcInfoSpan =
21202                            SrcSpan "tests/examples/DerivingVia.hs" 309 19 309 20
21203                        , srcInfoPoints = []
21204                        }
21205                      (Ident
21206                         SrcSpanInfo
21207                           { srcInfoSpan =
21208                               SrcSpan "tests/examples/DerivingVia.hs" 309 19 309 20
21209                           , srcInfoPoints = []
21210                           }
21211                         "p")))
21212                (UnkindedVar
21213                   SrcSpanInfo
21214                     { srcInfoSpan =
21215                         SrcSpan "tests/examples/DerivingVia.hs" 309 21 309 22
21216                     , srcInfoPoints = []
21217                     }
21218                   (Ident
21219                      SrcSpanInfo
21220                        { srcInfoSpan =
21221                            SrcSpan "tests/examples/DerivingVia.hs" 309 21 309 22
21222                        , srcInfoPoints = []
21223                        }
21224                      "a")))
21225             (UnkindedVar
21226                SrcSpanInfo
21227                  { srcInfoSpan =
21228                      SrcSpan "tests/examples/DerivingVia.hs" 309 23 309 24
21229                  , srcInfoPoints = []
21230                  }
21231                (Ident
21232                   SrcSpanInfo
21233                     { srcInfoSpan =
21234                         SrcSpan "tests/examples/DerivingVia.hs" 309 23 309 24
21235                     , srcInfoPoints = []
21236                     }
21237                   "b")))
21238          [ QualConDecl
21239              SrcSpanInfo
21240                { srcInfoSpan =
21241                    SrcSpan "tests/examples/DerivingVia.hs" 309 27 309 43
21242                , srcInfoPoints = []
21243                }
21244              Nothing
21245              Nothing
21246              (ConDecl
21247                 SrcSpanInfo
21248                   { srcInfoSpan =
21249                       SrcSpan "tests/examples/DerivingVia.hs" 309 27 309 43
21250                   , srcInfoPoints = []
21251                   }
21252                 (Ident
21253                    SrcSpanInfo
21254                      { srcInfoSpan =
21255                          SrcSpan "tests/examples/DerivingVia.hs" 309 27 309 35
21256                      , srcInfoPoints = []
21257                      }
21258                    "WrapBiap")
21259                 [ TyParen
21260                     SrcSpanInfo
21261                       { srcInfoSpan =
21262                           SrcSpan "tests/examples/DerivingVia.hs" 309 36 309 43
21263                       , srcInfoPoints =
21264                           [ SrcSpan "tests/examples/DerivingVia.hs" 309 36 309 37
21265                           , SrcSpan "tests/examples/DerivingVia.hs" 309 42 309 43
21266                           ]
21267                       }
21268                     (TyApp
21269                        SrcSpanInfo
21270                          { srcInfoSpan =
21271                              SrcSpan "tests/examples/DerivingVia.hs" 309 37 309 42
21272                          , srcInfoPoints = []
21273                          }
21274                        (TyApp
21275                           SrcSpanInfo
21276                             { srcInfoSpan =
21277                                 SrcSpan "tests/examples/DerivingVia.hs" 309 37 309 40
21278                             , srcInfoPoints = []
21279                             }
21280                           (TyVar
21281                              SrcSpanInfo
21282                                { srcInfoSpan =
21283                                    SrcSpan "tests/examples/DerivingVia.hs" 309 37 309 38
21284                                , srcInfoPoints = []
21285                                }
21286                              (Ident
21287                                 SrcSpanInfo
21288                                   { srcInfoSpan =
21289                                       SrcSpan "tests/examples/DerivingVia.hs" 309 37 309 38
21290                                   , srcInfoPoints = []
21291                                   }
21292                                 "p"))
21293                           (TyVar
21294                              SrcSpanInfo
21295                                { srcInfoSpan =
21296                                    SrcSpan "tests/examples/DerivingVia.hs" 309 39 309 40
21297                                , srcInfoPoints = []
21298                                }
21299                              (Ident
21300                                 SrcSpanInfo
21301                                   { srcInfoSpan =
21302                                       SrcSpan "tests/examples/DerivingVia.hs" 309 39 309 40
21303                                   , srcInfoPoints = []
21304                                   }
21305                                 "a")))
21306                        (TyVar
21307                           SrcSpanInfo
21308                             { srcInfoSpan =
21309                                 SrcSpan "tests/examples/DerivingVia.hs" 309 41 309 42
21310                             , srcInfoPoints = []
21311                             }
21312                           (Ident
21313                              SrcSpanInfo
21314                                { srcInfoSpan =
21315                                    SrcSpan "tests/examples/DerivingVia.hs" 309 41 309 42
21316                                , srcInfoPoints = []
21317                                }
21318                              "b")))
21319                 ])
21320          ]
21321          [ Deriving
21322              SrcSpanInfo
21323                { srcInfoSpan =
21324                    SrcSpan "tests/examples/DerivingVia.hs" 310 3 310 50
21325                , srcInfoPoints =
21326                    [ SrcSpan "tests/examples/DerivingVia.hs" 310 3 310 11
21327                    , SrcSpan "tests/examples/DerivingVia.hs" 310 20 310 21
21328                    , SrcSpan "tests/examples/DerivingVia.hs" 310 30 310 31
21329                    , SrcSpan "tests/examples/DerivingVia.hs" 310 45 310 46
21330                    , SrcSpan "tests/examples/DerivingVia.hs" 310 49 310 50
21331                    ]
21332                }
21333              (Just
21334                 (DerivNewtype
21335                    SrcSpanInfo
21336                      { srcInfoSpan =
21337                          SrcSpan "tests/examples/DerivingVia.hs" 310 12 310 19
21338                      , srcInfoPoints = []
21339                      }))
21340              [ IRule
21341                  SrcSpanInfo
21342                    { srcInfoSpan =
21343                        SrcSpan "tests/examples/DerivingVia.hs" 310 21 310 30
21344                    , srcInfoPoints = []
21345                    }
21346                  Nothing
21347                  Nothing
21348                  (IHCon
21349                     SrcSpanInfo
21350                       { srcInfoSpan =
21351                           SrcSpan "tests/examples/DerivingVia.hs" 310 21 310 30
21352                       , srcInfoPoints = []
21353                       }
21354                     (UnQual
21355                        SrcSpanInfo
21356                          { srcInfoSpan =
21357                              SrcSpan "tests/examples/DerivingVia.hs" 310 21 310 30
21358                          , srcInfoPoints = []
21359                          }
21360                        (Ident
21361                           SrcSpanInfo
21362                             { srcInfoSpan =
21363                                 SrcSpan "tests/examples/DerivingVia.hs" 310 21 310 30
21364                             , srcInfoPoints = []
21365                             }
21366                           "Bifunctor")))
21367              , IRule
21368                  SrcSpanInfo
21369                    { srcInfoSpan =
21370                        SrcSpan "tests/examples/DerivingVia.hs" 310 32 310 45
21371                    , srcInfoPoints = []
21372                    }
21373                  Nothing
21374                  Nothing
21375                  (IHCon
21376                     SrcSpanInfo
21377                       { srcInfoSpan =
21378                           SrcSpan "tests/examples/DerivingVia.hs" 310 32 310 45
21379                       , srcInfoPoints = []
21380                       }
21381                     (UnQual
21382                        SrcSpanInfo
21383                          { srcInfoSpan =
21384                              SrcSpan "tests/examples/DerivingVia.hs" 310 32 310 45
21385                          , srcInfoPoints = []
21386                          }
21387                        (Ident
21388                           SrcSpanInfo
21389                             { srcInfoSpan =
21390                                 SrcSpan "tests/examples/DerivingVia.hs" 310 32 310 45
21391                             , srcInfoPoints = []
21392                             }
21393                           "Biapplicative")))
21394              , IRule
21395                  SrcSpanInfo
21396                    { srcInfoSpan =
21397                        SrcSpan "tests/examples/DerivingVia.hs" 310 47 310 49
21398                    , srcInfoPoints = []
21399                    }
21400                  Nothing
21401                  Nothing
21402                  (IHCon
21403                     SrcSpanInfo
21404                       { srcInfoSpan =
21405                           SrcSpan "tests/examples/DerivingVia.hs" 310 47 310 49
21406                       , srcInfoPoints = []
21407                       }
21408                     (UnQual
21409                        SrcSpanInfo
21410                          { srcInfoSpan =
21411                              SrcSpan "tests/examples/DerivingVia.hs" 310 47 310 49
21412                          , srcInfoPoints = []
21413                          }
21414                        (Ident
21415                           SrcSpanInfo
21416                             { srcInfoSpan =
21417                                 SrcSpan "tests/examples/DerivingVia.hs" 310 47 310 49
21418                             , srcInfoPoints = []
21419                             }
21420                           "Eq")))
21421              ]
21422          ]
21423      , InstDecl
21424          SrcSpanInfo
21425            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 312 1 321 0
21426            , srcInfoPoints =
21427                [ SrcSpan "tests/examples/DerivingVia.hs" 312 1 312 9
21428                , SrcSpan "tests/examples/DerivingVia.hs" 312 67 312 72
21429                , SrcSpan "tests/examples/DerivingVia.hs" 313 3 313 3
21430                , SrcSpan "tests/examples/DerivingVia.hs" 314 3 314 3
21431                , SrcSpan "tests/examples/DerivingVia.hs" 315 3 315 3
21432                , SrcSpan "tests/examples/DerivingVia.hs" 316 3 316 3
21433                , SrcSpan "tests/examples/DerivingVia.hs" 317 3 317 3
21434                , SrcSpan "tests/examples/DerivingVia.hs" 318 3 318 3
21435                , SrcSpan "tests/examples/DerivingVia.hs" 319 3 319 3
21436                , SrcSpan "tests/examples/DerivingVia.hs" 321 1 321 0
21437                ]
21438            }
21439          Nothing
21440          (IRule
21441             SrcSpanInfo
21442               { srcInfoSpan =
21443                   SrcSpan "tests/examples/DerivingVia.hs" 312 10 312 66
21444               , srcInfoPoints = []
21445               }
21446             Nothing
21447             (Just
21448                (CxTuple
21449                   SrcSpanInfo
21450                     { srcInfoSpan =
21451                         SrcSpan "tests/examples/DerivingVia.hs" 312 10 312 44
21452                     , srcInfoPoints =
21453                         [ SrcSpan "tests/examples/DerivingVia.hs" 312 10 312 11
21454                         , SrcSpan "tests/examples/DerivingVia.hs" 312 26 312 27
21455                         , SrcSpan "tests/examples/DerivingVia.hs" 312 33 312 34
21456                         , SrcSpan "tests/examples/DerivingVia.hs" 312 40 312 41
21457                         , SrcSpan "tests/examples/DerivingVia.hs" 312 42 312 44
21458                         ]
21459                     }
21460                   [ TypeA
21461                       SrcSpanInfo
21462                         { srcInfoSpan =
21463                             SrcSpan "tests/examples/DerivingVia.hs" 312 11 312 26
21464                         , srcInfoPoints = []
21465                         }
21466                       (TyApp
21467                          SrcSpanInfo
21468                            { srcInfoSpan =
21469                                SrcSpan "tests/examples/DerivingVia.hs" 312 11 312 26
21470                            , srcInfoPoints = []
21471                            }
21472                          (TyCon
21473                             SrcSpanInfo
21474                               { srcInfoSpan =
21475                                   SrcSpan "tests/examples/DerivingVia.hs" 312 11 312 26
21476                               , srcInfoPoints = []
21477                               }
21478                             (UnQual
21479                                SrcSpanInfo
21480                                  { srcInfoSpan =
21481                                      SrcSpan "tests/examples/DerivingVia.hs" 312 11 312 24
21482                                  , srcInfoPoints = []
21483                                  }
21484                                (Ident
21485                                   SrcSpanInfo
21486                                     { srcInfoSpan =
21487                                         SrcSpan "tests/examples/DerivingVia.hs" 312 11 312 24
21488                                     , srcInfoPoints = []
21489                                     }
21490                                   "Biapplicative")))
21491                          (TyVar
21492                             SrcSpanInfo
21493                               { srcInfoSpan =
21494                                   SrcSpan "tests/examples/DerivingVia.hs" 312 25 312 26
21495                               , srcInfoPoints = []
21496                               }
21497                             (Ident
21498                                SrcSpanInfo
21499                                  { srcInfoSpan =
21500                                      SrcSpan "tests/examples/DerivingVia.hs" 312 25 312 26
21501                                  , srcInfoPoints = []
21502                                  }
21503                                "p")))
21504                   , TypeA
21505                       SrcSpanInfo
21506                         { srcInfoSpan =
21507                             SrcSpan "tests/examples/DerivingVia.hs" 312 28 312 33
21508                         , srcInfoPoints = []
21509                         }
21510                       (TyApp
21511                          SrcSpanInfo
21512                            { srcInfoSpan =
21513                                SrcSpan "tests/examples/DerivingVia.hs" 312 28 312 33
21514                            , srcInfoPoints = []
21515                            }
21516                          (TyCon
21517                             SrcSpanInfo
21518                               { srcInfoSpan =
21519                                   SrcSpan "tests/examples/DerivingVia.hs" 312 28 312 33
21520                               , srcInfoPoints = []
21521                               }
21522                             (UnQual
21523                                SrcSpanInfo
21524                                  { srcInfoSpan =
21525                                      SrcSpan "tests/examples/DerivingVia.hs" 312 28 312 31
21526                                  , srcInfoPoints = []
21527                                  }
21528                                (Ident
21529                                   SrcSpanInfo
21530                                     { srcInfoSpan =
21531                                         SrcSpan "tests/examples/DerivingVia.hs" 312 28 312 31
21532                                     , srcInfoPoints = []
21533                                     }
21534                                   "Num")))
21535                          (TyVar
21536                             SrcSpanInfo
21537                               { srcInfoSpan =
21538                                   SrcSpan "tests/examples/DerivingVia.hs" 312 32 312 33
21539                               , srcInfoPoints = []
21540                               }
21541                             (Ident
21542                                SrcSpanInfo
21543                                  { srcInfoSpan =
21544                                      SrcSpan "tests/examples/DerivingVia.hs" 312 32 312 33
21545                                  , srcInfoPoints = []
21546                                  }
21547                                "a")))
21548                   , TypeA
21549                       SrcSpanInfo
21550                         { srcInfoSpan =
21551                             SrcSpan "tests/examples/DerivingVia.hs" 312 35 312 40
21552                         , srcInfoPoints = []
21553                         }
21554                       (TyApp
21555                          SrcSpanInfo
21556                            { srcInfoSpan =
21557                                SrcSpan "tests/examples/DerivingVia.hs" 312 35 312 40
21558                            , srcInfoPoints = []
21559                            }
21560                          (TyCon
21561                             SrcSpanInfo
21562                               { srcInfoSpan =
21563                                   SrcSpan "tests/examples/DerivingVia.hs" 312 35 312 40
21564                               , srcInfoPoints = []
21565                               }
21566                             (UnQual
21567                                SrcSpanInfo
21568                                  { srcInfoSpan =
21569                                      SrcSpan "tests/examples/DerivingVia.hs" 312 35 312 38
21570                                  , srcInfoPoints = []
21571                                  }
21572                                (Ident
21573                                   SrcSpanInfo
21574                                     { srcInfoSpan =
21575                                         SrcSpan "tests/examples/DerivingVia.hs" 312 35 312 38
21576                                     , srcInfoPoints = []
21577                                     }
21578                                   "Num")))
21579                          (TyVar
21580                             SrcSpanInfo
21581                               { srcInfoSpan =
21582                                   SrcSpan "tests/examples/DerivingVia.hs" 312 39 312 40
21583                               , srcInfoPoints = []
21584                               }
21585                             (Ident
21586                                SrcSpanInfo
21587                                  { srcInfoSpan =
21588                                      SrcSpan "tests/examples/DerivingVia.hs" 312 39 312 40
21589                                  , srcInfoPoints = []
21590                                  }
21591                                "b")))
21592                   ]))
21593             (IHApp
21594                SrcSpanInfo
21595                  { srcInfoSpan =
21596                      SrcSpan "tests/examples/DerivingVia.hs" 312 45 312 66
21597                  , srcInfoPoints = []
21598                  }
21599                (IHCon
21600                   SrcSpanInfo
21601                     { srcInfoSpan =
21602                         SrcSpan "tests/examples/DerivingVia.hs" 312 45 312 48
21603                     , srcInfoPoints = []
21604                     }
21605                   (UnQual
21606                      SrcSpanInfo
21607                        { srcInfoSpan =
21608                            SrcSpan "tests/examples/DerivingVia.hs" 312 45 312 48
21609                        , srcInfoPoints = []
21610                        }
21611                      (Ident
21612                         SrcSpanInfo
21613                           { srcInfoSpan =
21614                               SrcSpan "tests/examples/DerivingVia.hs" 312 45 312 48
21615                           , srcInfoPoints = []
21616                           }
21617                         "Num")))
21618                (TyParen
21619                   SrcSpanInfo
21620                     { srcInfoSpan =
21621                         SrcSpan "tests/examples/DerivingVia.hs" 312 49 312 66
21622                     , srcInfoPoints =
21623                         [ SrcSpan "tests/examples/DerivingVia.hs" 312 49 312 50
21624                         , SrcSpan "tests/examples/DerivingVia.hs" 312 65 312 66
21625                         ]
21626                     }
21627                   (TyApp
21628                      SrcSpanInfo
21629                        { srcInfoSpan =
21630                            SrcSpan "tests/examples/DerivingVia.hs" 312 50 312 65
21631                        , srcInfoPoints = []
21632                        }
21633                      (TyApp
21634                         SrcSpanInfo
21635                           { srcInfoSpan =
21636                               SrcSpan "tests/examples/DerivingVia.hs" 312 50 312 63
21637                           , srcInfoPoints = []
21638                           }
21639                         (TyApp
21640                            SrcSpanInfo
21641                              { srcInfoSpan =
21642                                  SrcSpan "tests/examples/DerivingVia.hs" 312 50 312 61
21643                              , srcInfoPoints = []
21644                              }
21645                            (TyCon
21646                               SrcSpanInfo
21647                                 { srcInfoSpan =
21648                                     SrcSpan "tests/examples/DerivingVia.hs" 312 50 312 59
21649                                 , srcInfoPoints = []
21650                                 }
21651                               (UnQual
21652                                  SrcSpanInfo
21653                                    { srcInfoSpan =
21654                                        SrcSpan "tests/examples/DerivingVia.hs" 312 50 312 59
21655                                    , srcInfoPoints = []
21656                                    }
21657                                  (Ident
21658                                     SrcSpanInfo
21659                                       { srcInfoSpan =
21660                                           SrcSpan "tests/examples/DerivingVia.hs" 312 50 312 59
21661                                       , srcInfoPoints = []
21662                                       }
21663                                     "WrapBiapp")))
21664                            (TyVar
21665                               SrcSpanInfo
21666                                 { srcInfoSpan =
21667                                     SrcSpan "tests/examples/DerivingVia.hs" 312 60 312 61
21668                                 , srcInfoPoints = []
21669                                 }
21670                               (Ident
21671                                  SrcSpanInfo
21672                                    { srcInfoSpan =
21673                                        SrcSpan "tests/examples/DerivingVia.hs" 312 60 312 61
21674                                    , srcInfoPoints = []
21675                                    }
21676                                  "p")))
21677                         (TyVar
21678                            SrcSpanInfo
21679                              { srcInfoSpan =
21680                                  SrcSpan "tests/examples/DerivingVia.hs" 312 62 312 63
21681                              , srcInfoPoints = []
21682                              }
21683                            (Ident
21684                               SrcSpanInfo
21685                                 { srcInfoSpan =
21686                                     SrcSpan "tests/examples/DerivingVia.hs" 312 62 312 63
21687                                 , srcInfoPoints = []
21688                                 }
21689                               "a")))
21690                      (TyVar
21691                         SrcSpanInfo
21692                           { srcInfoSpan =
21693                               SrcSpan "tests/examples/DerivingVia.hs" 312 64 312 65
21694                           , srcInfoPoints = []
21695                           }
21696                         (Ident
21697                            SrcSpanInfo
21698                              { srcInfoSpan =
21699                                  SrcSpan "tests/examples/DerivingVia.hs" 312 64 312 65
21700                              , srcInfoPoints = []
21701                              }
21702                            "b"))))))
21703          (Just
21704             [ InsDecl
21705                 SrcSpanInfo
21706                   { srcInfoSpan =
21707                       SrcSpan "tests/examples/DerivingVia.hs" 313 3 313 25
21708                   , srcInfoPoints = []
21709                   }
21710                 (PatBind
21711                    SrcSpanInfo
21712                      { srcInfoSpan =
21713                          SrcSpan "tests/examples/DerivingVia.hs" 313 3 313 25
21714                      , srcInfoPoints = []
21715                      }
21716                    (PVar
21717                       SrcSpanInfo
21718                         { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 313 3 313 6
21719                         , srcInfoPoints =
21720                             [ SrcSpan "tests/examples/DerivingVia.hs" 313 3 313 4
21721                             , SrcSpan "tests/examples/DerivingVia.hs" 313 4 313 5
21722                             , SrcSpan "tests/examples/DerivingVia.hs" 313 5 313 6
21723                             ]
21724                         }
21725                       (Symbol
21726                          SrcSpanInfo
21727                            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 313 4 313 5
21728                            , srcInfoPoints = []
21729                            }
21730                          "+"))
21731                    (UnGuardedRhs
21732                       SrcSpanInfo
21733                         { srcInfoSpan =
21734                             SrcSpan "tests/examples/DerivingVia.hs" 313 7 313 25
21735                         , srcInfoPoints =
21736                             [ SrcSpan "tests/examples/DerivingVia.hs" 313 7 313 8 ]
21737                         }
21738                       (App
21739                          SrcSpanInfo
21740                            { srcInfoSpan =
21741                                SrcSpan "tests/examples/DerivingVia.hs" 313 9 313 25
21742                            , srcInfoPoints = []
21743                            }
21744                          (App
21745                             SrcSpanInfo
21746                               { srcInfoSpan =
21747                                   SrcSpan "tests/examples/DerivingVia.hs" 313 9 313 21
21748                               , srcInfoPoints = []
21749                               }
21750                             (Var
21751                                SrcSpanInfo
21752                                  { srcInfoSpan =
21753                                      SrcSpan "tests/examples/DerivingVia.hs" 313 9 313 17
21754                                  , srcInfoPoints = []
21755                                  }
21756                                (UnQual
21757                                   SrcSpanInfo
21758                                     { srcInfoSpan =
21759                                         SrcSpan "tests/examples/DerivingVia.hs" 313 9 313 17
21760                                     , srcInfoPoints = []
21761                                     }
21762                                   (Ident
21763                                      SrcSpanInfo
21764                                        { srcInfoSpan =
21765                                            SrcSpan "tests/examples/DerivingVia.hs" 313 9 313 17
21766                                        , srcInfoPoints = []
21767                                        }
21768                                      "biliftA2")))
21769                             (Var
21770                                SrcSpanInfo
21771                                  { srcInfoSpan =
21772                                      SrcSpan "tests/examples/DerivingVia.hs" 313 18 313 21
21773                                  , srcInfoPoints =
21774                                      [ SrcSpan "tests/examples/DerivingVia.hs" 313 18 313 19
21775                                      , SrcSpan "tests/examples/DerivingVia.hs" 313 19 313 20
21776                                      , SrcSpan "tests/examples/DerivingVia.hs" 313 20 313 21
21777                                      ]
21778                                  }
21779                                (UnQual
21780                                   SrcSpanInfo
21781                                     { srcInfoSpan =
21782                                         SrcSpan "tests/examples/DerivingVia.hs" 313 18 313 21
21783                                     , srcInfoPoints =
21784                                         [ SrcSpan "tests/examples/DerivingVia.hs" 313 18 313 19
21785                                         , SrcSpan "tests/examples/DerivingVia.hs" 313 19 313 20
21786                                         , SrcSpan "tests/examples/DerivingVia.hs" 313 20 313 21
21787                                         ]
21788                                     }
21789                                   (Symbol
21790                                      SrcSpanInfo
21791                                        { srcInfoSpan =
21792                                            SrcSpan "tests/examples/DerivingVia.hs" 313 19 313 20
21793                                        , srcInfoPoints = []
21794                                        }
21795                                      "+"))))
21796                          (Var
21797                             SrcSpanInfo
21798                               { srcInfoSpan =
21799                                   SrcSpan "tests/examples/DerivingVia.hs" 313 22 313 25
21800                               , srcInfoPoints =
21801                                   [ SrcSpan "tests/examples/DerivingVia.hs" 313 22 313 23
21802                                   , SrcSpan "tests/examples/DerivingVia.hs" 313 23 313 24
21803                                   , SrcSpan "tests/examples/DerivingVia.hs" 313 24 313 25
21804                                   ]
21805                               }
21806                             (UnQual
21807                                SrcSpanInfo
21808                                  { srcInfoSpan =
21809                                      SrcSpan "tests/examples/DerivingVia.hs" 313 22 313 25
21810                                  , srcInfoPoints =
21811                                      [ SrcSpan "tests/examples/DerivingVia.hs" 313 22 313 23
21812                                      , SrcSpan "tests/examples/DerivingVia.hs" 313 23 313 24
21813                                      , SrcSpan "tests/examples/DerivingVia.hs" 313 24 313 25
21814                                      ]
21815                                  }
21816                                (Symbol
21817                                   SrcSpanInfo
21818                                     { srcInfoSpan =
21819                                         SrcSpan "tests/examples/DerivingVia.hs" 313 23 313 24
21820                                     , srcInfoPoints = []
21821                                     }
21822                                   "+")))))
21823                    Nothing)
21824             , InsDecl
21825                 SrcSpanInfo
21826                   { srcInfoSpan =
21827                       SrcSpan "tests/examples/DerivingVia.hs" 314 3 314 25
21828                   , srcInfoPoints = []
21829                   }
21830                 (PatBind
21831                    SrcSpanInfo
21832                      { srcInfoSpan =
21833                          SrcSpan "tests/examples/DerivingVia.hs" 314 3 314 25
21834                      , srcInfoPoints = []
21835                      }
21836                    (PVar
21837                       SrcSpanInfo
21838                         { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 314 3 314 6
21839                         , srcInfoPoints =
21840                             [ SrcSpan "tests/examples/DerivingVia.hs" 314 3 314 4
21841                             , SrcSpan "tests/examples/DerivingVia.hs" 314 4 314 5
21842                             , SrcSpan "tests/examples/DerivingVia.hs" 314 5 314 6
21843                             ]
21844                         }
21845                       (Symbol
21846                          SrcSpanInfo
21847                            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 314 4 314 5
21848                            , srcInfoPoints = []
21849                            }
21850                          "-"))
21851                    (UnGuardedRhs
21852                       SrcSpanInfo
21853                         { srcInfoSpan =
21854                             SrcSpan "tests/examples/DerivingVia.hs" 314 7 314 25
21855                         , srcInfoPoints =
21856                             [ SrcSpan "tests/examples/DerivingVia.hs" 314 7 314 8 ]
21857                         }
21858                       (App
21859                          SrcSpanInfo
21860                            { srcInfoSpan =
21861                                SrcSpan "tests/examples/DerivingVia.hs" 314 9 314 25
21862                            , srcInfoPoints = []
21863                            }
21864                          (App
21865                             SrcSpanInfo
21866                               { srcInfoSpan =
21867                                   SrcSpan "tests/examples/DerivingVia.hs" 314 9 314 21
21868                               , srcInfoPoints = []
21869                               }
21870                             (Var
21871                                SrcSpanInfo
21872                                  { srcInfoSpan =
21873                                      SrcSpan "tests/examples/DerivingVia.hs" 314 9 314 17
21874                                  , srcInfoPoints = []
21875                                  }
21876                                (UnQual
21877                                   SrcSpanInfo
21878                                     { srcInfoSpan =
21879                                         SrcSpan "tests/examples/DerivingVia.hs" 314 9 314 17
21880                                     , srcInfoPoints = []
21881                                     }
21882                                   (Ident
21883                                      SrcSpanInfo
21884                                        { srcInfoSpan =
21885                                            SrcSpan "tests/examples/DerivingVia.hs" 314 9 314 17
21886                                        , srcInfoPoints = []
21887                                        }
21888                                      "biliftA2")))
21889                             (Var
21890                                SrcSpanInfo
21891                                  { srcInfoSpan =
21892                                      SrcSpan "tests/examples/DerivingVia.hs" 314 18 314 21
21893                                  , srcInfoPoints =
21894                                      [ SrcSpan "tests/examples/DerivingVia.hs" 314 18 314 19
21895                                      , SrcSpan "tests/examples/DerivingVia.hs" 314 19 314 20
21896                                      , SrcSpan "tests/examples/DerivingVia.hs" 314 20 314 21
21897                                      ]
21898                                  }
21899                                (UnQual
21900                                   SrcSpanInfo
21901                                     { srcInfoSpan =
21902                                         SrcSpan "tests/examples/DerivingVia.hs" 314 18 314 21
21903                                     , srcInfoPoints =
21904                                         [ SrcSpan "tests/examples/DerivingVia.hs" 314 18 314 19
21905                                         , SrcSpan "tests/examples/DerivingVia.hs" 314 19 314 20
21906                                         , SrcSpan "tests/examples/DerivingVia.hs" 314 20 314 21
21907                                         ]
21908                                     }
21909                                   (Symbol
21910                                      SrcSpanInfo
21911                                        { srcInfoSpan =
21912                                            SrcSpan "tests/examples/DerivingVia.hs" 314 19 314 20
21913                                        , srcInfoPoints = []
21914                                        }
21915                                      "*"))))
21916                          (Var
21917                             SrcSpanInfo
21918                               { srcInfoSpan =
21919                                   SrcSpan "tests/examples/DerivingVia.hs" 314 22 314 25
21920                               , srcInfoPoints =
21921                                   [ SrcSpan "tests/examples/DerivingVia.hs" 314 22 314 23
21922                                   , SrcSpan "tests/examples/DerivingVia.hs" 314 23 314 24
21923                                   , SrcSpan "tests/examples/DerivingVia.hs" 314 24 314 25
21924                                   ]
21925                               }
21926                             (UnQual
21927                                SrcSpanInfo
21928                                  { srcInfoSpan =
21929                                      SrcSpan "tests/examples/DerivingVia.hs" 314 22 314 25
21930                                  , srcInfoPoints =
21931                                      [ SrcSpan "tests/examples/DerivingVia.hs" 314 22 314 23
21932                                      , SrcSpan "tests/examples/DerivingVia.hs" 314 23 314 24
21933                                      , SrcSpan "tests/examples/DerivingVia.hs" 314 24 314 25
21934                                      ]
21935                                  }
21936                                (Symbol
21937                                   SrcSpanInfo
21938                                     { srcInfoSpan =
21939                                         SrcSpan "tests/examples/DerivingVia.hs" 314 23 314 24
21940                                     , srcInfoPoints = []
21941                                     }
21942                                   "*")))))
21943                    Nothing)
21944             , InsDecl
21945                 SrcSpanInfo
21946                   { srcInfoSpan =
21947                       SrcSpan "tests/examples/DerivingVia.hs" 315 3 315 25
21948                   , srcInfoPoints = []
21949                   }
21950                 (PatBind
21951                    SrcSpanInfo
21952                      { srcInfoSpan =
21953                          SrcSpan "tests/examples/DerivingVia.hs" 315 3 315 25
21954                      , srcInfoPoints = []
21955                      }
21956                    (PVar
21957                       SrcSpanInfo
21958                         { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 315 3 315 6
21959                         , srcInfoPoints =
21960                             [ SrcSpan "tests/examples/DerivingVia.hs" 315 3 315 4
21961                             , SrcSpan "tests/examples/DerivingVia.hs" 315 4 315 5
21962                             , SrcSpan "tests/examples/DerivingVia.hs" 315 5 315 6
21963                             ]
21964                         }
21965                       (Symbol
21966                          SrcSpanInfo
21967                            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 315 4 315 5
21968                            , srcInfoPoints = []
21969                            }
21970                          "*"))
21971                    (UnGuardedRhs
21972                       SrcSpanInfo
21973                         { srcInfoSpan =
21974                             SrcSpan "tests/examples/DerivingVia.hs" 315 7 315 25
21975                         , srcInfoPoints =
21976                             [ SrcSpan "tests/examples/DerivingVia.hs" 315 7 315 8 ]
21977                         }
21978                       (App
21979                          SrcSpanInfo
21980                            { srcInfoSpan =
21981                                SrcSpan "tests/examples/DerivingVia.hs" 315 9 315 25
21982                            , srcInfoPoints = []
21983                            }
21984                          (App
21985                             SrcSpanInfo
21986                               { srcInfoSpan =
21987                                   SrcSpan "tests/examples/DerivingVia.hs" 315 9 315 21
21988                               , srcInfoPoints = []
21989                               }
21990                             (Var
21991                                SrcSpanInfo
21992                                  { srcInfoSpan =
21993                                      SrcSpan "tests/examples/DerivingVia.hs" 315 9 315 17
21994                                  , srcInfoPoints = []
21995                                  }
21996                                (UnQual
21997                                   SrcSpanInfo
21998                                     { srcInfoSpan =
21999                                         SrcSpan "tests/examples/DerivingVia.hs" 315 9 315 17
22000                                     , srcInfoPoints = []
22001                                     }
22002                                   (Ident
22003                                      SrcSpanInfo
22004                                        { srcInfoSpan =
22005                                            SrcSpan "tests/examples/DerivingVia.hs" 315 9 315 17
22006                                        , srcInfoPoints = []
22007                                        }
22008                                      "biliftA2")))
22009                             (Var
22010                                SrcSpanInfo
22011                                  { srcInfoSpan =
22012                                      SrcSpan "tests/examples/DerivingVia.hs" 315 18 315 21
22013                                  , srcInfoPoints =
22014                                      [ SrcSpan "tests/examples/DerivingVia.hs" 315 18 315 19
22015                                      , SrcSpan "tests/examples/DerivingVia.hs" 315 19 315 20
22016                                      , SrcSpan "tests/examples/DerivingVia.hs" 315 20 315 21
22017                                      ]
22018                                  }
22019                                (UnQual
22020                                   SrcSpanInfo
22021                                     { srcInfoSpan =
22022                                         SrcSpan "tests/examples/DerivingVia.hs" 315 18 315 21
22023                                     , srcInfoPoints =
22024                                         [ SrcSpan "tests/examples/DerivingVia.hs" 315 18 315 19
22025                                         , SrcSpan "tests/examples/DerivingVia.hs" 315 19 315 20
22026                                         , SrcSpan "tests/examples/DerivingVia.hs" 315 20 315 21
22027                                         ]
22028                                     }
22029                                   (Symbol
22030                                      SrcSpanInfo
22031                                        { srcInfoSpan =
22032                                            SrcSpan "tests/examples/DerivingVia.hs" 315 19 315 20
22033                                        , srcInfoPoints = []
22034                                        }
22035                                      "*"))))
22036                          (Var
22037                             SrcSpanInfo
22038                               { srcInfoSpan =
22039                                   SrcSpan "tests/examples/DerivingVia.hs" 315 22 315 25
22040                               , srcInfoPoints =
22041                                   [ SrcSpan "tests/examples/DerivingVia.hs" 315 22 315 23
22042                                   , SrcSpan "tests/examples/DerivingVia.hs" 315 23 315 24
22043                                   , SrcSpan "tests/examples/DerivingVia.hs" 315 24 315 25
22044                                   ]
22045                               }
22046                             (UnQual
22047                                SrcSpanInfo
22048                                  { srcInfoSpan =
22049                                      SrcSpan "tests/examples/DerivingVia.hs" 315 22 315 25
22050                                  , srcInfoPoints =
22051                                      [ SrcSpan "tests/examples/DerivingVia.hs" 315 22 315 23
22052                                      , SrcSpan "tests/examples/DerivingVia.hs" 315 23 315 24
22053                                      , SrcSpan "tests/examples/DerivingVia.hs" 315 24 315 25
22054                                      ]
22055                                  }
22056                                (Symbol
22057                                   SrcSpanInfo
22058                                     { srcInfoSpan =
22059                                         SrcSpan "tests/examples/DerivingVia.hs" 315 23 315 24
22060                                     , srcInfoPoints = []
22061                                     }
22062                                   "*")))))
22063                    Nothing)
22064             , InsDecl
22065                 SrcSpanInfo
22066                   { srcInfoSpan =
22067                       SrcSpan "tests/examples/DerivingVia.hs" 316 3 316 31
22068                   , srcInfoPoints = []
22069                   }
22070                 (PatBind
22071                    SrcSpanInfo
22072                      { srcInfoSpan =
22073                          SrcSpan "tests/examples/DerivingVia.hs" 316 3 316 31
22074                      , srcInfoPoints = []
22075                      }
22076                    (PVar
22077                       SrcSpanInfo
22078                         { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 316 3 316 9
22079                         , srcInfoPoints = []
22080                         }
22081                       (Ident
22082                          SrcSpanInfo
22083                            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 316 3 316 9
22084                            , srcInfoPoints = []
22085                            }
22086                          "negate"))
22087                    (UnGuardedRhs
22088                       SrcSpanInfo
22089                         { srcInfoSpan =
22090                             SrcSpan "tests/examples/DerivingVia.hs" 316 10 316 31
22091                         , srcInfoPoints =
22092                             [ SrcSpan "tests/examples/DerivingVia.hs" 316 10 316 11 ]
22093                         }
22094                       (App
22095                          SrcSpanInfo
22096                            { srcInfoSpan =
22097                                SrcSpan "tests/examples/DerivingVia.hs" 316 12 316 31
22098                            , srcInfoPoints = []
22099                            }
22100                          (App
22101                             SrcSpanInfo
22102                               { srcInfoSpan =
22103                                   SrcSpan "tests/examples/DerivingVia.hs" 316 12 316 24
22104                               , srcInfoPoints = []
22105                               }
22106                             (Var
22107                                SrcSpanInfo
22108                                  { srcInfoSpan =
22109                                      SrcSpan "tests/examples/DerivingVia.hs" 316 12 316 17
22110                                  , srcInfoPoints = []
22111                                  }
22112                                (UnQual
22113                                   SrcSpanInfo
22114                                     { srcInfoSpan =
22115                                         SrcSpan "tests/examples/DerivingVia.hs" 316 12 316 17
22116                                     , srcInfoPoints = []
22117                                     }
22118                                   (Ident
22119                                      SrcSpanInfo
22120                                        { srcInfoSpan =
22121                                            SrcSpan "tests/examples/DerivingVia.hs" 316 12 316 17
22122                                        , srcInfoPoints = []
22123                                        }
22124                                      "bimap")))
22125                             (Var
22126                                SrcSpanInfo
22127                                  { srcInfoSpan =
22128                                      SrcSpan "tests/examples/DerivingVia.hs" 316 18 316 24
22129                                  , srcInfoPoints = []
22130                                  }
22131                                (UnQual
22132                                   SrcSpanInfo
22133                                     { srcInfoSpan =
22134                                         SrcSpan "tests/examples/DerivingVia.hs" 316 18 316 24
22135                                     , srcInfoPoints = []
22136                                     }
22137                                   (Ident
22138                                      SrcSpanInfo
22139                                        { srcInfoSpan =
22140                                            SrcSpan "tests/examples/DerivingVia.hs" 316 18 316 24
22141                                        , srcInfoPoints = []
22142                                        }
22143                                      "negate"))))
22144                          (Var
22145                             SrcSpanInfo
22146                               { srcInfoSpan =
22147                                   SrcSpan "tests/examples/DerivingVia.hs" 316 25 316 31
22148                               , srcInfoPoints = []
22149                               }
22150                             (UnQual
22151                                SrcSpanInfo
22152                                  { srcInfoSpan =
22153                                      SrcSpan "tests/examples/DerivingVia.hs" 316 25 316 31
22154                                  , srcInfoPoints = []
22155                                  }
22156                                (Ident
22157                                   SrcSpanInfo
22158                                     { srcInfoSpan =
22159                                         SrcSpan "tests/examples/DerivingVia.hs" 316 25 316 31
22160                                     , srcInfoPoints = []
22161                                     }
22162                                   "negate")))))
22163                    Nothing)
22164             , InsDecl
22165                 SrcSpanInfo
22166                   { srcInfoSpan =
22167                       SrcSpan "tests/examples/DerivingVia.hs" 317 3 317 22
22168                   , srcInfoPoints = []
22169                   }
22170                 (PatBind
22171                    SrcSpanInfo
22172                      { srcInfoSpan =
22173                          SrcSpan "tests/examples/DerivingVia.hs" 317 3 317 22
22174                      , srcInfoPoints = []
22175                      }
22176                    (PVar
22177                       SrcSpanInfo
22178                         { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 317 3 317 6
22179                         , srcInfoPoints = []
22180                         }
22181                       (Ident
22182                          SrcSpanInfo
22183                            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 317 3 317 6
22184                            , srcInfoPoints = []
22185                            }
22186                          "abs"))
22187                    (UnGuardedRhs
22188                       SrcSpanInfo
22189                         { srcInfoSpan =
22190                             SrcSpan "tests/examples/DerivingVia.hs" 317 7 317 22
22191                         , srcInfoPoints =
22192                             [ SrcSpan "tests/examples/DerivingVia.hs" 317 7 317 8 ]
22193                         }
22194                       (App
22195                          SrcSpanInfo
22196                            { srcInfoSpan =
22197                                SrcSpan "tests/examples/DerivingVia.hs" 317 9 317 22
22198                            , srcInfoPoints = []
22199                            }
22200                          (App
22201                             SrcSpanInfo
22202                               { srcInfoSpan =
22203                                   SrcSpan "tests/examples/DerivingVia.hs" 317 9 317 18
22204                               , srcInfoPoints = []
22205                               }
22206                             (Var
22207                                SrcSpanInfo
22208                                  { srcInfoSpan =
22209                                      SrcSpan "tests/examples/DerivingVia.hs" 317 9 317 14
22210                                  , srcInfoPoints = []
22211                                  }
22212                                (UnQual
22213                                   SrcSpanInfo
22214                                     { srcInfoSpan =
22215                                         SrcSpan "tests/examples/DerivingVia.hs" 317 9 317 14
22216                                     , srcInfoPoints = []
22217                                     }
22218                                   (Ident
22219                                      SrcSpanInfo
22220                                        { srcInfoSpan =
22221                                            SrcSpan "tests/examples/DerivingVia.hs" 317 9 317 14
22222                                        , srcInfoPoints = []
22223                                        }
22224                                      "bimap")))
22225                             (Var
22226                                SrcSpanInfo
22227                                  { srcInfoSpan =
22228                                      SrcSpan "tests/examples/DerivingVia.hs" 317 15 317 18
22229                                  , srcInfoPoints = []
22230                                  }
22231                                (UnQual
22232                                   SrcSpanInfo
22233                                     { srcInfoSpan =
22234                                         SrcSpan "tests/examples/DerivingVia.hs" 317 15 317 18
22235                                     , srcInfoPoints = []
22236                                     }
22237                                   (Ident
22238                                      SrcSpanInfo
22239                                        { srcInfoSpan =
22240                                            SrcSpan "tests/examples/DerivingVia.hs" 317 15 317 18
22241                                        , srcInfoPoints = []
22242                                        }
22243                                      "abs"))))
22244                          (Var
22245                             SrcSpanInfo
22246                               { srcInfoSpan =
22247                                   SrcSpan "tests/examples/DerivingVia.hs" 317 19 317 22
22248                               , srcInfoPoints = []
22249                               }
22250                             (UnQual
22251                                SrcSpanInfo
22252                                  { srcInfoSpan =
22253                                      SrcSpan "tests/examples/DerivingVia.hs" 317 19 317 22
22254                                  , srcInfoPoints = []
22255                                  }
22256                                (Ident
22257                                   SrcSpanInfo
22258                                     { srcInfoSpan =
22259                                         SrcSpan "tests/examples/DerivingVia.hs" 317 19 317 22
22260                                     , srcInfoPoints = []
22261                                     }
22262                                   "abs")))))
22263                    Nothing)
22264             , InsDecl
22265                 SrcSpanInfo
22266                   { srcInfoSpan =
22267                       SrcSpan "tests/examples/DerivingVia.hs" 318 3 318 31
22268                   , srcInfoPoints = []
22269                   }
22270                 (PatBind
22271                    SrcSpanInfo
22272                      { srcInfoSpan =
22273                          SrcSpan "tests/examples/DerivingVia.hs" 318 3 318 31
22274                      , srcInfoPoints = []
22275                      }
22276                    (PVar
22277                       SrcSpanInfo
22278                         { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 318 3 318 9
22279                         , srcInfoPoints = []
22280                         }
22281                       (Ident
22282                          SrcSpanInfo
22283                            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 318 3 318 9
22284                            , srcInfoPoints = []
22285                            }
22286                          "signum"))
22287                    (UnGuardedRhs
22288                       SrcSpanInfo
22289                         { srcInfoSpan =
22290                             SrcSpan "tests/examples/DerivingVia.hs" 318 10 318 31
22291                         , srcInfoPoints =
22292                             [ SrcSpan "tests/examples/DerivingVia.hs" 318 10 318 11 ]
22293                         }
22294                       (App
22295                          SrcSpanInfo
22296                            { srcInfoSpan =
22297                                SrcSpan "tests/examples/DerivingVia.hs" 318 12 318 31
22298                            , srcInfoPoints = []
22299                            }
22300                          (App
22301                             SrcSpanInfo
22302                               { srcInfoSpan =
22303                                   SrcSpan "tests/examples/DerivingVia.hs" 318 12 318 24
22304                               , srcInfoPoints = []
22305                               }
22306                             (Var
22307                                SrcSpanInfo
22308                                  { srcInfoSpan =
22309                                      SrcSpan "tests/examples/DerivingVia.hs" 318 12 318 17
22310                                  , srcInfoPoints = []
22311                                  }
22312                                (UnQual
22313                                   SrcSpanInfo
22314                                     { srcInfoSpan =
22315                                         SrcSpan "tests/examples/DerivingVia.hs" 318 12 318 17
22316                                     , srcInfoPoints = []
22317                                     }
22318                                   (Ident
22319                                      SrcSpanInfo
22320                                        { srcInfoSpan =
22321                                            SrcSpan "tests/examples/DerivingVia.hs" 318 12 318 17
22322                                        , srcInfoPoints = []
22323                                        }
22324                                      "bimap")))
22325                             (Var
22326                                SrcSpanInfo
22327                                  { srcInfoSpan =
22328                                      SrcSpan "tests/examples/DerivingVia.hs" 318 18 318 24
22329                                  , srcInfoPoints = []
22330                                  }
22331                                (UnQual
22332                                   SrcSpanInfo
22333                                     { srcInfoSpan =
22334                                         SrcSpan "tests/examples/DerivingVia.hs" 318 18 318 24
22335                                     , srcInfoPoints = []
22336                                     }
22337                                   (Ident
22338                                      SrcSpanInfo
22339                                        { srcInfoSpan =
22340                                            SrcSpan "tests/examples/DerivingVia.hs" 318 18 318 24
22341                                        , srcInfoPoints = []
22342                                        }
22343                                      "signum"))))
22344                          (Var
22345                             SrcSpanInfo
22346                               { srcInfoSpan =
22347                                   SrcSpan "tests/examples/DerivingVia.hs" 318 25 318 31
22348                               , srcInfoPoints = []
22349                               }
22350                             (UnQual
22351                                SrcSpanInfo
22352                                  { srcInfoSpan =
22353                                      SrcSpan "tests/examples/DerivingVia.hs" 318 25 318 31
22354                                  , srcInfoPoints = []
22355                                  }
22356                                (Ident
22357                                   SrcSpanInfo
22358                                     { srcInfoSpan =
22359                                         SrcSpan "tests/examples/DerivingVia.hs" 318 25 318 31
22360                                     , srcInfoPoints = []
22361                                     }
22362                                   "signum")))))
22363                    Nothing)
22364             , InsDecl
22365                 SrcSpanInfo
22366                   { srcInfoSpan =
22367                       SrcSpan "tests/examples/DerivingVia.hs" 319 3 319 55
22368                   , srcInfoPoints = []
22369                   }
22370                 (FunBind
22371                    SrcSpanInfo
22372                      { srcInfoSpan =
22373                          SrcSpan "tests/examples/DerivingVia.hs" 319 3 319 55
22374                      , srcInfoPoints = []
22375                      }
22376                    [ Match
22377                        SrcSpanInfo
22378                          { srcInfoSpan =
22379                              SrcSpan "tests/examples/DerivingVia.hs" 319 3 319 55
22380                          , srcInfoPoints = []
22381                          }
22382                        (Ident
22383                           SrcSpanInfo
22384                             { srcInfoSpan =
22385                                 SrcSpan "tests/examples/DerivingVia.hs" 319 3 319 14
22386                             , srcInfoPoints = []
22387                             }
22388                           "fromInteger")
22389                        [ PVar
22390                            SrcSpanInfo
22391                              { srcInfoSpan =
22392                                  SrcSpan "tests/examples/DerivingVia.hs" 319 15 319 16
22393                              , srcInfoPoints = []
22394                              }
22395                            (Ident
22396                               SrcSpanInfo
22397                                 { srcInfoSpan =
22398                                     SrcSpan "tests/examples/DerivingVia.hs" 319 15 319 16
22399                                 , srcInfoPoints = []
22400                                 }
22401                               "n")
22402                        ]
22403                        (UnGuardedRhs
22404                           SrcSpanInfo
22405                             { srcInfoSpan =
22406                                 SrcSpan "tests/examples/DerivingVia.hs" 319 17 319 55
22407                             , srcInfoPoints =
22408                                 [ SrcSpan "tests/examples/DerivingVia.hs" 319 17 319 18 ]
22409                             }
22410                           (InfixApp
22411                              SrcSpanInfo
22412                                { srcInfoSpan =
22413                                    SrcSpan "tests/examples/DerivingVia.hs" 319 19 319 55
22414                                , srcInfoPoints = []
22415                                }
22416                              (App
22417                                 SrcSpanInfo
22418                                   { srcInfoSpan =
22419                                       SrcSpan "tests/examples/DerivingVia.hs" 319 19 319 32
22420                                   , srcInfoPoints = []
22421                                   }
22422                                 (Var
22423                                    SrcSpanInfo
22424                                      { srcInfoSpan =
22425                                          SrcSpan "tests/examples/DerivingVia.hs" 319 19 319 30
22426                                      , srcInfoPoints = []
22427                                      }
22428                                    (UnQual
22429                                       SrcSpanInfo
22430                                         { srcInfoSpan =
22431                                             SrcSpan "tests/examples/DerivingVia.hs" 319 19 319 30
22432                                         , srcInfoPoints = []
22433                                         }
22434                                       (Ident
22435                                          SrcSpanInfo
22436                                            { srcInfoSpan =
22437                                                SrcSpan
22438                                                  "tests/examples/DerivingVia.hs" 319 19 319 30
22439                                            , srcInfoPoints = []
22440                                            }
22441                                          "fromInteger")))
22442                                 (Var
22443                                    SrcSpanInfo
22444                                      { srcInfoSpan =
22445                                          SrcSpan "tests/examples/DerivingVia.hs" 319 31 319 32
22446                                      , srcInfoPoints = []
22447                                      }
22448                                    (UnQual
22449                                       SrcSpanInfo
22450                                         { srcInfoSpan =
22451                                             SrcSpan "tests/examples/DerivingVia.hs" 319 31 319 32
22452                                         , srcInfoPoints = []
22453                                         }
22454                                       (Ident
22455                                          SrcSpanInfo
22456                                            { srcInfoSpan =
22457                                                SrcSpan
22458                                                  "tests/examples/DerivingVia.hs" 319 31 319 32
22459                                            , srcInfoPoints = []
22460                                            }
22461                                          "n"))))
22462                              (QVarOp
22463                                 SrcSpanInfo
22464                                   { srcInfoSpan =
22465                                       SrcSpan "tests/examples/DerivingVia.hs" 319 33 319 41
22466                                   , srcInfoPoints =
22467                                       [ SrcSpan "tests/examples/DerivingVia.hs" 319 33 319 34
22468                                       , SrcSpan "tests/examples/DerivingVia.hs" 319 34 319 40
22469                                       , SrcSpan "tests/examples/DerivingVia.hs" 319 40 319 41
22470                                       ]
22471                                   }
22472                                 (UnQual
22473                                    SrcSpanInfo
22474                                      { srcInfoSpan =
22475                                          SrcSpan "tests/examples/DerivingVia.hs" 319 33 319 41
22476                                      , srcInfoPoints =
22477                                          [ SrcSpan "tests/examples/DerivingVia.hs" 319 33 319 34
22478                                          , SrcSpan "tests/examples/DerivingVia.hs" 319 34 319 40
22479                                          , SrcSpan "tests/examples/DerivingVia.hs" 319 40 319 41
22480                                          ]
22481                                      }
22482                                    (Ident
22483                                       SrcSpanInfo
22484                                         { srcInfoSpan =
22485                                             SrcSpan "tests/examples/DerivingVia.hs" 319 34 319 40
22486                                         , srcInfoPoints = []
22487                                         }
22488                                       "bipure")))
22489                              (App
22490                                 SrcSpanInfo
22491                                   { srcInfoSpan =
22492                                       SrcSpan "tests/examples/DerivingVia.hs" 319 42 319 55
22493                                   , srcInfoPoints = []
22494                                   }
22495                                 (Var
22496                                    SrcSpanInfo
22497                                      { srcInfoSpan =
22498                                          SrcSpan "tests/examples/DerivingVia.hs" 319 42 319 53
22499                                      , srcInfoPoints = []
22500                                      }
22501                                    (UnQual
22502                                       SrcSpanInfo
22503                                         { srcInfoSpan =
22504                                             SrcSpan "tests/examples/DerivingVia.hs" 319 42 319 53
22505                                         , srcInfoPoints = []
22506                                         }
22507                                       (Ident
22508                                          SrcSpanInfo
22509                                            { srcInfoSpan =
22510                                                SrcSpan
22511                                                  "tests/examples/DerivingVia.hs" 319 42 319 53
22512                                            , srcInfoPoints = []
22513                                            }
22514                                          "fromInteger")))
22515                                 (Var
22516                                    SrcSpanInfo
22517                                      { srcInfoSpan =
22518                                          SrcSpan "tests/examples/DerivingVia.hs" 319 54 319 55
22519                                      , srcInfoPoints = []
22520                                      }
22521                                    (UnQual
22522                                       SrcSpanInfo
22523                                         { srcInfoSpan =
22524                                             SrcSpan "tests/examples/DerivingVia.hs" 319 54 319 55
22525                                         , srcInfoPoints = []
22526                                         }
22527                                       (Ident
22528                                          SrcSpanInfo
22529                                            { srcInfoSpan =
22530                                                SrcSpan
22531                                                  "tests/examples/DerivingVia.hs" 319 54 319 55
22532                                            , srcInfoPoints = []
22533                                            }
22534                                          "n"))))))
22535                        Nothing
22536                    ])
22537             ])
22538      , DataDecl
22539          SrcSpanInfo
22540            { srcInfoSpan =
22541                SrcSpan "tests/examples/DerivingVia.hs" 321 1 322 18
22542            , srcInfoPoints =
22543                [ SrcSpan "tests/examples/DerivingVia.hs" 321 14 321 15 ]
22544            }
22545          (NewType
22546             SrcSpanInfo
22547               { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 321 1 321 8
22548               , srcInfoPoints = []
22549               })
22550          Nothing
22551          (DHead
22552             SrcSpanInfo
22553               { srcInfoSpan =
22554                   SrcSpan "tests/examples/DerivingVia.hs" 321 9 321 13
22555               , srcInfoPoints = []
22556               }
22557             (Ident
22558                SrcSpanInfo
22559                  { srcInfoSpan =
22560                      SrcSpan "tests/examples/DerivingVia.hs" 321 9 321 13
22561                  , srcInfoPoints = []
22562                  }
22563                "INT2"))
22564          [ QualConDecl
22565              SrcSpanInfo
22566                { srcInfoSpan =
22567                    SrcSpan "tests/examples/DerivingVia.hs" 321 16 321 31
22568                , srcInfoPoints = []
22569                }
22570              Nothing
22571              Nothing
22572              (ConDecl
22573                 SrcSpanInfo
22574                   { srcInfoSpan =
22575                       SrcSpan "tests/examples/DerivingVia.hs" 321 16 321 31
22576                   , srcInfoPoints = []
22577                   }
22578                 (Ident
22579                    SrcSpanInfo
22580                      { srcInfoSpan =
22581                          SrcSpan "tests/examples/DerivingVia.hs" 321 16 321 20
22582                      , srcInfoPoints = []
22583                      }
22584                    "INT2")
22585                 [ TyTuple
22586                     SrcSpanInfo
22587                       { srcInfoSpan =
22588                           SrcSpan "tests/examples/DerivingVia.hs" 321 21 321 31
22589                       , srcInfoPoints =
22590                           [ SrcSpan "tests/examples/DerivingVia.hs" 321 21 321 22
22591                           , SrcSpan "tests/examples/DerivingVia.hs" 321 25 321 26
22592                           , SrcSpan "tests/examples/DerivingVia.hs" 321 30 321 31
22593                           ]
22594                       }
22595                     Boxed
22596                     [ TyCon
22597                         SrcSpanInfo
22598                           { srcInfoSpan =
22599                               SrcSpan "tests/examples/DerivingVia.hs" 321 22 321 25
22600                           , srcInfoPoints = []
22601                           }
22602                         (UnQual
22603                            SrcSpanInfo
22604                              { srcInfoSpan =
22605                                  SrcSpan "tests/examples/DerivingVia.hs" 321 22 321 25
22606                              , srcInfoPoints = []
22607                              }
22608                            (Ident
22609                               SrcSpanInfo
22610                                 { srcInfoSpan =
22611                                     SrcSpan "tests/examples/DerivingVia.hs" 321 22 321 25
22612                                 , srcInfoPoints = []
22613                                 }
22614                               "Int"))
22615                     , TyCon
22616                         SrcSpanInfo
22617                           { srcInfoSpan =
22618                               SrcSpan "tests/examples/DerivingVia.hs" 321 27 321 30
22619                           , srcInfoPoints = []
22620                           }
22621                         (UnQual
22622                            SrcSpanInfo
22623                              { srcInfoSpan =
22624                                  SrcSpan "tests/examples/DerivingVia.hs" 321 27 321 30
22625                              , srcInfoPoints = []
22626                              }
22627                            (Ident
22628                               SrcSpanInfo
22629                                 { srcInfoSpan =
22630                                     SrcSpan "tests/examples/DerivingVia.hs" 321 27 321 30
22631                                 , srcInfoPoints = []
22632                                 }
22633                               "Int"))
22634                     ]
22635                 ])
22636          ]
22637          [ Deriving
22638              SrcSpanInfo
22639                { srcInfoSpan =
22640                    SrcSpan "tests/examples/DerivingVia.hs" 322 3 322 18
22641                , srcInfoPoints =
22642                    [ SrcSpan "tests/examples/DerivingVia.hs" 322 3 322 11 ]
22643                }
22644              (Just
22645                 (DerivVia
22646                    SrcSpanInfo
22647                      { srcInfoSpan =
22648                          SrcSpan "tests/examples/DerivingVia.hs" 322 19 322 22
22649                      , srcInfoPoints = []
22650                      }
22651                    (TyParen
22652                       SrcSpanInfo
22653                         { srcInfoSpan =
22654                             SrcSpan "tests/examples/DerivingVia.hs" 322 23 322 62
22655                         , srcInfoPoints =
22656                             [ SrcSpan "tests/examples/DerivingVia.hs" 322 23 322 24
22657                             , SrcSpan "tests/examples/DerivingVia.hs" 322 61 322 62
22658                             ]
22659                         }
22660                       (TyApp
22661                          SrcSpanInfo
22662                            { srcInfoSpan =
22663                                SrcSpan "tests/examples/DerivingVia.hs" 322 24 322 61
22664                            , srcInfoPoints = []
22665                            }
22666                          (TyCon
22667                             SrcSpanInfo
22668                               { srcInfoSpan =
22669                                   SrcSpan "tests/examples/DerivingVia.hs" 322 24 322 37
22670                               , srcInfoPoints = []
22671                               }
22672                             (UnQual
22673                                SrcSpanInfo
22674                                  { srcInfoSpan =
22675                                      SrcSpan "tests/examples/DerivingVia.hs" 322 24 322 37
22676                                  , srcInfoPoints = []
22677                                  }
22678                                (Ident
22679                                   SrcSpanInfo
22680                                     { srcInfoSpan =
22681                                         SrcSpan "tests/examples/DerivingVia.hs" 322 24 322 37
22682                                     , srcInfoPoints = []
22683                                     }
22684                                   "WrappedNumEq2")))
22685                          (TyParen
22686                             SrcSpanInfo
22687                               { srcInfoSpan =
22688                                   SrcSpan "tests/examples/DerivingVia.hs" 322 38 322 61
22689                               , srcInfoPoints =
22690                                   [ SrcSpan "tests/examples/DerivingVia.hs" 322 38 322 39
22691                                   , SrcSpan "tests/examples/DerivingVia.hs" 322 60 322 61
22692                                   ]
22693                               }
22694                             (TyApp
22695                                SrcSpanInfo
22696                                  { srcInfoSpan =
22697                                      SrcSpan "tests/examples/DerivingVia.hs" 322 39 322 60
22698                                  , srcInfoPoints = []
22699                                  }
22700                                (TyApp
22701                                   SrcSpanInfo
22702                                     { srcInfoSpan =
22703                                         SrcSpan "tests/examples/DerivingVia.hs" 322 39 322 56
22704                                     , srcInfoPoints = []
22705                                     }
22706                                   (TyApp
22707                                      SrcSpanInfo
22708                                        { srcInfoSpan =
22709                                            SrcSpan "tests/examples/DerivingVia.hs" 322 39 322 52
22710                                        , srcInfoPoints = []
22711                                        }
22712                                      (TyCon
22713                                         SrcSpanInfo
22714                                           { srcInfoSpan =
22715                                               SrcSpan "tests/examples/DerivingVia.hs" 322 39 322 48
22716                                           , srcInfoPoints = []
22717                                           }
22718                                         (UnQual
22719                                            SrcSpanInfo
22720                                              { srcInfoSpan =
22721                                                  SrcSpan
22722                                                    "tests/examples/DerivingVia.hs" 322 39 322 48
22723                                              , srcInfoPoints = []
22724                                              }
22725                                            (Ident
22726                                               SrcSpanInfo
22727                                                 { srcInfoSpan =
22728                                                     SrcSpan
22729                                                       "tests/examples/DerivingVia.hs" 322 39 322 48
22730                                                 , srcInfoPoints = []
22731                                                 }
22732                                               "WrapBiapp")))
22733                                      (TyCon
22734                                         SrcSpanInfo
22735                                           { srcInfoSpan =
22736                                               SrcSpan "tests/examples/DerivingVia.hs" 322 49 322 52
22737                                           , srcInfoPoints =
22738                                               [ SrcSpan
22739                                                   "tests/examples/DerivingVia.hs" 322 49 322 50
22740                                               , SrcSpan
22741                                                   "tests/examples/DerivingVia.hs" 322 50 322 51
22742                                               , SrcSpan
22743                                                   "tests/examples/DerivingVia.hs" 322 51 322 52
22744                                               ]
22745                                           }
22746                                         (Special
22747                                            SrcSpanInfo
22748                                              { srcInfoSpan =
22749                                                  SrcSpan
22750                                                    "tests/examples/DerivingVia.hs" 322 49 322 52
22751                                              , srcInfoPoints =
22752                                                  [ SrcSpan
22753                                                      "tests/examples/DerivingVia.hs" 322 49 322 50
22754                                                  , SrcSpan
22755                                                      "tests/examples/DerivingVia.hs" 322 50 322 51
22756                                                  , SrcSpan
22757                                                      "tests/examples/DerivingVia.hs" 322 51 322 52
22758                                                  ]
22759                                              }
22760                                            (TupleCon
22761                                               SrcSpanInfo
22762                                                 { srcInfoSpan =
22763                                                     SrcSpan
22764                                                       "tests/examples/DerivingVia.hs" 322 49 322 52
22765                                                 , srcInfoPoints =
22766                                                     [ SrcSpan
22767                                                         "tests/examples/DerivingVia.hs"
22768                                                         322
22769                                                         49
22770                                                         322
22771                                                         50
22772                                                     , SrcSpan
22773                                                         "tests/examples/DerivingVia.hs"
22774                                                         322
22775                                                         50
22776                                                         322
22777                                                         51
22778                                                     , SrcSpan
22779                                                         "tests/examples/DerivingVia.hs"
22780                                                         322
22781                                                         51
22782                                                         322
22783                                                         52
22784                                                     ]
22785                                                 }
22786                                               Boxed
22787                                               2))))
22788                                   (TyCon
22789                                      SrcSpanInfo
22790                                        { srcInfoSpan =
22791                                            SrcSpan "tests/examples/DerivingVia.hs" 322 53 322 56
22792                                        , srcInfoPoints = []
22793                                        }
22794                                      (UnQual
22795                                         SrcSpanInfo
22796                                           { srcInfoSpan =
22797                                               SrcSpan "tests/examples/DerivingVia.hs" 322 53 322 56
22798                                           , srcInfoPoints = []
22799                                           }
22800                                         (Ident
22801                                            SrcSpanInfo
22802                                              { srcInfoSpan =
22803                                                  SrcSpan
22804                                                    "tests/examples/DerivingVia.hs" 322 53 322 56
22805                                              , srcInfoPoints = []
22806                                              }
22807                                            "Int"))))
22808                                (TyCon
22809                                   SrcSpanInfo
22810                                     { srcInfoSpan =
22811                                         SrcSpan "tests/examples/DerivingVia.hs" 322 57 322 60
22812                                     , srcInfoPoints = []
22813                                     }
22814                                   (UnQual
22815                                      SrcSpanInfo
22816                                        { srcInfoSpan =
22817                                            SrcSpan "tests/examples/DerivingVia.hs" 322 57 322 60
22818                                        , srcInfoPoints = []
22819                                        }
22820                                      (Ident
22821                                         SrcSpanInfo
22822                                           { srcInfoSpan =
22823                                               SrcSpan "tests/examples/DerivingVia.hs" 322 57 322 60
22824                                           , srcInfoPoints = []
22825                                           }
22826                                         "Int")))))))))
22827              [ IRule
22828                  SrcSpanInfo
22829                    { srcInfoSpan =
22830                        SrcSpan "tests/examples/DerivingVia.hs" 322 12 322 18
22831                    , srcInfoPoints = []
22832                    }
22833                  Nothing
22834                  Nothing
22835                  (IHCon
22836                     SrcSpanInfo
22837                       { srcInfoSpan =
22838                           SrcSpan "tests/examples/DerivingVia.hs" 322 12 322 18
22839                       , srcInfoPoints = []
22840                       }
22841                     (UnQual
22842                        SrcSpanInfo
22843                          { srcInfoSpan =
22844                              SrcSpan "tests/examples/DerivingVia.hs" 322 12 322 18
22845                          , srcInfoPoints = []
22846                          }
22847                        (Ident
22848                           SrcSpanInfo
22849                             { srcInfoSpan =
22850                                 SrcSpan "tests/examples/DerivingVia.hs" 322 12 322 18
22851                             , srcInfoPoints = []
22852                             }
22853                           "IsZero")))
22854              ]
22855          ]
22856      , ClassDecl
22857          SrcSpanInfo
22858            { srcInfoSpan =
22859                SrcSpan "tests/examples/DerivingVia.hs" 327 1 328 20
22860            , srcInfoPoints =
22861                [ SrcSpan "tests/examples/DerivingVia.hs" 327 1 327 6
22862                , SrcSpan "tests/examples/DerivingVia.hs" 327 32 327 37
22863                , SrcSpan "tests/examples/DerivingVia.hs" 328 3 328 3
22864                , SrcSpan "tests/examples/DerivingVia.hs" 330 1 330 0
22865                ]
22866            }
22867          (Just
22868             (CxSingle
22869                SrcSpanInfo
22870                  { srcInfoSpan =
22871                      SrcSpan "tests/examples/DerivingVia.hs" 327 7 327 18
22872                  , srcInfoPoints =
22873                      [ SrcSpan "tests/examples/DerivingVia.hs" 327 16 327 18 ]
22874                  }
22875                (TypeA
22876                   SrcSpanInfo
22877                     { srcInfoSpan =
22878                         SrcSpan "tests/examples/DerivingVia.hs" 327 7 327 18
22879                     , srcInfoPoints =
22880                         [ SrcSpan "tests/examples/DerivingVia.hs" 327 16 327 18 ]
22881                     }
22882                   (TyApp
22883                      SrcSpanInfo
22884                        { srcInfoSpan =
22885                            SrcSpan "tests/examples/DerivingVia.hs" 327 7 327 18
22886                        , srcInfoPoints =
22887                            [ SrcSpan "tests/examples/DerivingVia.hs" 327 16 327 18 ]
22888                        }
22889                      (TyCon
22890                         SrcSpanInfo
22891                           { srcInfoSpan =
22892                               SrcSpan "tests/examples/DerivingVia.hs" 327 7 327 18
22893                           , srcInfoPoints =
22894                               [ SrcSpan "tests/examples/DerivingVia.hs" 327 16 327 18 ]
22895                           }
22896                         (UnQual
22897                            SrcSpanInfo
22898                              { srcInfoSpan =
22899                                  SrcSpan "tests/examples/DerivingVia.hs" 327 7 327 13
22900                              , srcInfoPoints = []
22901                              }
22902                            (Ident
22903                               SrcSpanInfo
22904                                 { srcInfoSpan =
22905                                     SrcSpan "tests/examples/DerivingVia.hs" 327 7 327 13
22906                                 , srcInfoPoints = []
22907                                 }
22908                               "Monoid")))
22909                      (TyVar
22910                         SrcSpanInfo
22911                           { srcInfoSpan =
22912                               SrcSpan "tests/examples/DerivingVia.hs" 327 14 327 15
22913                           , srcInfoPoints = []
22914                           }
22915                         (Ident
22916                            SrcSpanInfo
22917                              { srcInfoSpan =
22918                                  SrcSpan "tests/examples/DerivingVia.hs" 327 14 327 15
22919                              , srcInfoPoints = []
22920                              }
22921                            "a"))))))
22922          (DHApp
22923             SrcSpanInfo
22924               { srcInfoSpan =
22925                   SrcSpan "tests/examples/DerivingVia.hs" 327 19 327 31
22926               , srcInfoPoints = []
22927               }
22928             (DHead
22929                SrcSpanInfo
22930                  { srcInfoSpan =
22931                      SrcSpan "tests/examples/DerivingVia.hs" 327 19 327 29
22932                  , srcInfoPoints = []
22933                  }
22934                (Ident
22935                   SrcSpanInfo
22936                     { srcInfoSpan =
22937                         SrcSpan "tests/examples/DerivingVia.hs" 327 19 327 29
22938                     , srcInfoPoints = []
22939                     }
22940                   "MonoidNull"))
22941             (UnkindedVar
22942                SrcSpanInfo
22943                  { srcInfoSpan =
22944                      SrcSpan "tests/examples/DerivingVia.hs" 327 30 327 31
22945                  , srcInfoPoints = []
22946                  }
22947                (Ident
22948                   SrcSpanInfo
22949                     { srcInfoSpan =
22950                         SrcSpan "tests/examples/DerivingVia.hs" 327 30 327 31
22951                     , srcInfoPoints = []
22952                     }
22953                   "a")))
22954          []
22955          (Just
22956             [ ClsDecl
22957                 SrcSpanInfo
22958                   { srcInfoSpan =
22959                       SrcSpan "tests/examples/DerivingVia.hs" 328 3 328 20
22960                   , srcInfoPoints =
22961                       [ SrcSpan "tests/examples/DerivingVia.hs" 328 8 328 10 ]
22962                   }
22963                 (TypeSig
22964                    SrcSpanInfo
22965                      { srcInfoSpan =
22966                          SrcSpan "tests/examples/DerivingVia.hs" 328 3 328 20
22967                      , srcInfoPoints =
22968                          [ SrcSpan "tests/examples/DerivingVia.hs" 328 8 328 10 ]
22969                      }
22970                    [ Ident
22971                        SrcSpanInfo
22972                          { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 328 3 328 7
22973                          , srcInfoPoints = []
22974                          }
22975                        "null"
22976                    ]
22977                    (TyFun
22978                       SrcSpanInfo
22979                         { srcInfoSpan =
22980                             SrcSpan "tests/examples/DerivingVia.hs" 328 11 328 20
22981                         , srcInfoPoints =
22982                             [ SrcSpan "tests/examples/DerivingVia.hs" 328 13 328 15 ]
22983                         }
22984                       (TyVar
22985                          SrcSpanInfo
22986                            { srcInfoSpan =
22987                                SrcSpan "tests/examples/DerivingVia.hs" 328 11 328 12
22988                            , srcInfoPoints = []
22989                            }
22990                          (Ident
22991                             SrcSpanInfo
22992                               { srcInfoSpan =
22993                                   SrcSpan "tests/examples/DerivingVia.hs" 328 11 328 12
22994                               , srcInfoPoints = []
22995                               }
22996                             "a"))
22997                       (TyCon
22998                          SrcSpanInfo
22999                            { srcInfoSpan =
23000                                SrcSpan "tests/examples/DerivingVia.hs" 328 16 328 20
23001                            , srcInfoPoints = []
23002                            }
23003                          (UnQual
23004                             SrcSpanInfo
23005                               { srcInfoSpan =
23006                                   SrcSpan "tests/examples/DerivingVia.hs" 328 16 328 20
23007                               , srcInfoPoints = []
23008                               }
23009                             (Ident
23010                                SrcSpanInfo
23011                                  { srcInfoSpan =
23012                                      SrcSpan "tests/examples/DerivingVia.hs" 328 16 328 20
23013                                  , srcInfoPoints = []
23014                                  }
23015                                "Bool")))))
23016             ])
23017      , DataDecl
23018          SrcSpanInfo
23019            { srcInfoSpan =
23020                SrcSpan "tests/examples/DerivingVia.hs" 330 1 330 62
23021            , srcInfoPoints =
23022                [ SrcSpan "tests/examples/DerivingVia.hs" 330 22 330 23 ]
23023            }
23024          (NewType
23025             SrcSpanInfo
23026               { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 330 1 330 8
23027               , srcInfoPoints = []
23028               })
23029          Nothing
23030          (DHApp
23031             SrcSpanInfo
23032               { srcInfoSpan =
23033                   SrcSpan "tests/examples/DerivingVia.hs" 330 9 330 21
23034               , srcInfoPoints = []
23035               }
23036             (DHead
23037                SrcSpanInfo
23038                  { srcInfoSpan =
23039                      SrcSpan "tests/examples/DerivingVia.hs" 330 9 330 19
23040                  , srcInfoPoints = []
23041                  }
23042                (Ident
23043                   SrcSpanInfo
23044                     { srcInfoSpan =
23045                         SrcSpan "tests/examples/DerivingVia.hs" 330 9 330 19
23046                     , srcInfoPoints = []
23047                     }
23048                   "WrpMonNull"))
23049             (UnkindedVar
23050                SrcSpanInfo
23051                  { srcInfoSpan =
23052                      SrcSpan "tests/examples/DerivingVia.hs" 330 20 330 21
23053                  , srcInfoPoints = []
23054                  }
23055                (Ident
23056                   SrcSpanInfo
23057                     { srcInfoSpan =
23058                         SrcSpan "tests/examples/DerivingVia.hs" 330 20 330 21
23059                     , srcInfoPoints = []
23060                     }
23061                   "a")))
23062          [ QualConDecl
23063              SrcSpanInfo
23064                { srcInfoSpan =
23065                    SrcSpan "tests/examples/DerivingVia.hs" 330 24 330 29
23066                , srcInfoPoints = []
23067                }
23068              Nothing
23069              Nothing
23070              (ConDecl
23071                 SrcSpanInfo
23072                   { srcInfoSpan =
23073                       SrcSpan "tests/examples/DerivingVia.hs" 330 24 330 29
23074                   , srcInfoPoints = []
23075                   }
23076                 (Ident
23077                    SrcSpanInfo
23078                      { srcInfoSpan =
23079                          SrcSpan "tests/examples/DerivingVia.hs" 330 24 330 27
23080                      , srcInfoPoints = []
23081                      }
23082                    "WRM")
23083                 [ TyVar
23084                     SrcSpanInfo
23085                       { srcInfoSpan =
23086                           SrcSpan "tests/examples/DerivingVia.hs" 330 28 330 29
23087                       , srcInfoPoints = []
23088                       }
23089                     (Ident
23090                        SrcSpanInfo
23091                          { srcInfoSpan =
23092                              SrcSpan "tests/examples/DerivingVia.hs" 330 28 330 29
23093                          , srcInfoPoints = []
23094                          }
23095                        "a")
23096                 ])
23097          ]
23098          [ Deriving
23099              SrcSpanInfo
23100                { srcInfoSpan =
23101                    SrcSpan "tests/examples/DerivingVia.hs" 330 30 330 62
23102                , srcInfoPoints =
23103                    [ SrcSpan "tests/examples/DerivingVia.hs" 330 30 330 38
23104                    , SrcSpan "tests/examples/DerivingVia.hs" 330 39 330 40
23105                    , SrcSpan "tests/examples/DerivingVia.hs" 330 42 330 43
23106                    , SrcSpan "tests/examples/DerivingVia.hs" 330 53 330 54
23107                    , SrcSpan "tests/examples/DerivingVia.hs" 330 61 330 62
23108                    ]
23109                }
23110              Nothing
23111              [ IRule
23112                  SrcSpanInfo
23113                    { srcInfoSpan =
23114                        SrcSpan "tests/examples/DerivingVia.hs" 330 40 330 42
23115                    , srcInfoPoints = []
23116                    }
23117                  Nothing
23118                  Nothing
23119                  (IHCon
23120                     SrcSpanInfo
23121                       { srcInfoSpan =
23122                           SrcSpan "tests/examples/DerivingVia.hs" 330 40 330 42
23123                       , srcInfoPoints = []
23124                       }
23125                     (UnQual
23126                        SrcSpanInfo
23127                          { srcInfoSpan =
23128                              SrcSpan "tests/examples/DerivingVia.hs" 330 40 330 42
23129                          , srcInfoPoints = []
23130                          }
23131                        (Ident
23132                           SrcSpanInfo
23133                             { srcInfoSpan =
23134                                 SrcSpan "tests/examples/DerivingVia.hs" 330 40 330 42
23135                             , srcInfoPoints = []
23136                             }
23137                           "Eq")))
23138              , IRule
23139                  SrcSpanInfo
23140                    { srcInfoSpan =
23141                        SrcSpan "tests/examples/DerivingVia.hs" 330 44 330 53
23142                    , srcInfoPoints = []
23143                    }
23144                  Nothing
23145                  Nothing
23146                  (IHCon
23147                     SrcSpanInfo
23148                       { srcInfoSpan =
23149                           SrcSpan "tests/examples/DerivingVia.hs" 330 44 330 53
23150                       , srcInfoPoints = []
23151                       }
23152                     (UnQual
23153                        SrcSpanInfo
23154                          { srcInfoSpan =
23155                              SrcSpan "tests/examples/DerivingVia.hs" 330 44 330 53
23156                          , srcInfoPoints = []
23157                          }
23158                        (Ident
23159                           SrcSpanInfo
23160                             { srcInfoSpan =
23161                                 SrcSpan "tests/examples/DerivingVia.hs" 330 44 330 53
23162                             , srcInfoPoints = []
23163                             }
23164                           "Semigroup")))
23165              , IRule
23166                  SrcSpanInfo
23167                    { srcInfoSpan =
23168                        SrcSpan "tests/examples/DerivingVia.hs" 330 55 330 61
23169                    , srcInfoPoints = []
23170                    }
23171                  Nothing
23172                  Nothing
23173                  (IHCon
23174                     SrcSpanInfo
23175                       { srcInfoSpan =
23176                           SrcSpan "tests/examples/DerivingVia.hs" 330 55 330 61
23177                       , srcInfoPoints = []
23178                       }
23179                     (UnQual
23180                        SrcSpanInfo
23181                          { srcInfoSpan =
23182                              SrcSpan "tests/examples/DerivingVia.hs" 330 55 330 61
23183                          , srcInfoPoints = []
23184                          }
23185                        (Ident
23186                           SrcSpanInfo
23187                             { srcInfoSpan =
23188                                 SrcSpan "tests/examples/DerivingVia.hs" 330 55 330 61
23189                             , srcInfoPoints = []
23190                             }
23191                           "Monoid")))
23192              ]
23193          ]
23194      , InstDecl
23195          SrcSpanInfo
23196            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 332 1 336 0
23197            , srcInfoPoints =
23198                [ SrcSpan "tests/examples/DerivingVia.hs" 332 1 332 9
23199                , SrcSpan "tests/examples/DerivingVia.hs" 332 56 332 61
23200                , SrcSpan "tests/examples/DerivingVia.hs" 333 3 333 3
23201                , SrcSpan "tests/examples/DerivingVia.hs" 334 3 334 3
23202                , SrcSpan "tests/examples/DerivingVia.hs" 336 1 336 0
23203                ]
23204            }
23205          Nothing
23206          (IRule
23207             SrcSpanInfo
23208               { srcInfoSpan =
23209                   SrcSpan "tests/examples/DerivingVia.hs" 332 10 332 55
23210               , srcInfoPoints = []
23211               }
23212             Nothing
23213             (Just
23214                (CxTuple
23215                   SrcSpanInfo
23216                     { srcInfoSpan =
23217                         SrcSpan "tests/examples/DerivingVia.hs" 332 10 332 29
23218                     , srcInfoPoints =
23219                         [ SrcSpan "tests/examples/DerivingVia.hs" 332 10 332 11
23220                         , SrcSpan "tests/examples/DerivingVia.hs" 332 15 332 16
23221                         , SrcSpan "tests/examples/DerivingVia.hs" 332 25 332 26
23222                         , SrcSpan "tests/examples/DerivingVia.hs" 332 27 332 29
23223                         ]
23224                     }
23225                   [ TypeA
23226                       SrcSpanInfo
23227                         { srcInfoSpan =
23228                             SrcSpan "tests/examples/DerivingVia.hs" 332 11 332 15
23229                         , srcInfoPoints = []
23230                         }
23231                       (TyApp
23232                          SrcSpanInfo
23233                            { srcInfoSpan =
23234                                SrcSpan "tests/examples/DerivingVia.hs" 332 11 332 15
23235                            , srcInfoPoints = []
23236                            }
23237                          (TyCon
23238                             SrcSpanInfo
23239                               { srcInfoSpan =
23240                                   SrcSpan "tests/examples/DerivingVia.hs" 332 11 332 15
23241                               , srcInfoPoints = []
23242                               }
23243                             (UnQual
23244                                SrcSpanInfo
23245                                  { srcInfoSpan =
23246                                      SrcSpan "tests/examples/DerivingVia.hs" 332 11 332 13
23247                                  , srcInfoPoints = []
23248                                  }
23249                                (Ident
23250                                   SrcSpanInfo
23251                                     { srcInfoSpan =
23252                                         SrcSpan "tests/examples/DerivingVia.hs" 332 11 332 13
23253                                     , srcInfoPoints = []
23254                                     }
23255                                   "Eq")))
23256                          (TyVar
23257                             SrcSpanInfo
23258                               { srcInfoSpan =
23259                                   SrcSpan "tests/examples/DerivingVia.hs" 332 14 332 15
23260                               , srcInfoPoints = []
23261                               }
23262                             (Ident
23263                                SrcSpanInfo
23264                                  { srcInfoSpan =
23265                                      SrcSpan "tests/examples/DerivingVia.hs" 332 14 332 15
23266                                  , srcInfoPoints = []
23267                                  }
23268                                "a")))
23269                   , TypeA
23270                       SrcSpanInfo
23271                         { srcInfoSpan =
23272                             SrcSpan "tests/examples/DerivingVia.hs" 332 17 332 25
23273                         , srcInfoPoints = []
23274                         }
23275                       (TyApp
23276                          SrcSpanInfo
23277                            { srcInfoSpan =
23278                                SrcSpan "tests/examples/DerivingVia.hs" 332 17 332 25
23279                            , srcInfoPoints = []
23280                            }
23281                          (TyCon
23282                             SrcSpanInfo
23283                               { srcInfoSpan =
23284                                   SrcSpan "tests/examples/DerivingVia.hs" 332 17 332 25
23285                               , srcInfoPoints = []
23286                               }
23287                             (UnQual
23288                                SrcSpanInfo
23289                                  { srcInfoSpan =
23290                                      SrcSpan "tests/examples/DerivingVia.hs" 332 17 332 23
23291                                  , srcInfoPoints = []
23292                                  }
23293                                (Ident
23294                                   SrcSpanInfo
23295                                     { srcInfoSpan =
23296                                         SrcSpan "tests/examples/DerivingVia.hs" 332 17 332 23
23297                                     , srcInfoPoints = []
23298                                     }
23299                                   "Monoid")))
23300                          (TyVar
23301                             SrcSpanInfo
23302                               { srcInfoSpan =
23303                                   SrcSpan "tests/examples/DerivingVia.hs" 332 24 332 25
23304                               , srcInfoPoints = []
23305                               }
23306                             (Ident
23307                                SrcSpanInfo
23308                                  { srcInfoSpan =
23309                                      SrcSpan "tests/examples/DerivingVia.hs" 332 24 332 25
23310                                  , srcInfoPoints = []
23311                                  }
23312                                "a")))
23313                   ]))
23314             (IHApp
23315                SrcSpanInfo
23316                  { srcInfoSpan =
23317                      SrcSpan "tests/examples/DerivingVia.hs" 332 30 332 55
23318                  , srcInfoPoints = []
23319                  }
23320                (IHCon
23321                   SrcSpanInfo
23322                     { srcInfoSpan =
23323                         SrcSpan "tests/examples/DerivingVia.hs" 332 30 332 40
23324                     , srcInfoPoints = []
23325                     }
23326                   (UnQual
23327                      SrcSpanInfo
23328                        { srcInfoSpan =
23329                            SrcSpan "tests/examples/DerivingVia.hs" 332 30 332 40
23330                        , srcInfoPoints = []
23331                        }
23332                      (Ident
23333                         SrcSpanInfo
23334                           { srcInfoSpan =
23335                               SrcSpan "tests/examples/DerivingVia.hs" 332 30 332 40
23336                           , srcInfoPoints = []
23337                           }
23338                         "MonoidNull")))
23339                (TyParen
23340                   SrcSpanInfo
23341                     { srcInfoSpan =
23342                         SrcSpan "tests/examples/DerivingVia.hs" 332 41 332 55
23343                     , srcInfoPoints =
23344                         [ SrcSpan "tests/examples/DerivingVia.hs" 332 41 332 42
23345                         , SrcSpan "tests/examples/DerivingVia.hs" 332 54 332 55
23346                         ]
23347                     }
23348                   (TyApp
23349                      SrcSpanInfo
23350                        { srcInfoSpan =
23351                            SrcSpan "tests/examples/DerivingVia.hs" 332 42 332 54
23352                        , srcInfoPoints = []
23353                        }
23354                      (TyCon
23355                         SrcSpanInfo
23356                           { srcInfoSpan =
23357                               SrcSpan "tests/examples/DerivingVia.hs" 332 42 332 52
23358                           , srcInfoPoints = []
23359                           }
23360                         (UnQual
23361                            SrcSpanInfo
23362                              { srcInfoSpan =
23363                                  SrcSpan "tests/examples/DerivingVia.hs" 332 42 332 52
23364                              , srcInfoPoints = []
23365                              }
23366                            (Ident
23367                               SrcSpanInfo
23368                                 { srcInfoSpan =
23369                                     SrcSpan "tests/examples/DerivingVia.hs" 332 42 332 52
23370                                 , srcInfoPoints = []
23371                                 }
23372                               "WrpMonNull")))
23373                      (TyVar
23374                         SrcSpanInfo
23375                           { srcInfoSpan =
23376                               SrcSpan "tests/examples/DerivingVia.hs" 332 53 332 54
23377                           , srcInfoPoints = []
23378                           }
23379                         (Ident
23380                            SrcSpanInfo
23381                              { srcInfoSpan =
23382                                  SrcSpan "tests/examples/DerivingVia.hs" 332 53 332 54
23383                              , srcInfoPoints = []
23384                              }
23385                            "a"))))))
23386          (Just
23387             [ InsDecl
23388                 SrcSpanInfo
23389                   { srcInfoSpan =
23390                       SrcSpan "tests/examples/DerivingVia.hs" 333 3 333 31
23391                   , srcInfoPoints =
23392                       [ SrcSpan "tests/examples/DerivingVia.hs" 333 8 333 10 ]
23393                   }
23394                 (TypeSig
23395                    SrcSpanInfo
23396                      { srcInfoSpan =
23397                          SrcSpan "tests/examples/DerivingVia.hs" 333 3 333 31
23398                      , srcInfoPoints =
23399                          [ SrcSpan "tests/examples/DerivingVia.hs" 333 8 333 10 ]
23400                      }
23401                    [ Ident
23402                        SrcSpanInfo
23403                          { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 333 3 333 7
23404                          , srcInfoPoints = []
23405                          }
23406                        "null"
23407                    ]
23408                    (TyFun
23409                       SrcSpanInfo
23410                         { srcInfoSpan =
23411                             SrcSpan "tests/examples/DerivingVia.hs" 333 11 333 31
23412                         , srcInfoPoints =
23413                             [ SrcSpan "tests/examples/DerivingVia.hs" 333 24 333 26 ]
23414                         }
23415                       (TyApp
23416                          SrcSpanInfo
23417                            { srcInfoSpan =
23418                                SrcSpan "tests/examples/DerivingVia.hs" 333 11 333 23
23419                            , srcInfoPoints = []
23420                            }
23421                          (TyCon
23422                             SrcSpanInfo
23423                               { srcInfoSpan =
23424                                   SrcSpan "tests/examples/DerivingVia.hs" 333 11 333 21
23425                               , srcInfoPoints = []
23426                               }
23427                             (UnQual
23428                                SrcSpanInfo
23429                                  { srcInfoSpan =
23430                                      SrcSpan "tests/examples/DerivingVia.hs" 333 11 333 21
23431                                  , srcInfoPoints = []
23432                                  }
23433                                (Ident
23434                                   SrcSpanInfo
23435                                     { srcInfoSpan =
23436                                         SrcSpan "tests/examples/DerivingVia.hs" 333 11 333 21
23437                                     , srcInfoPoints = []
23438                                     }
23439                                   "WrpMonNull")))
23440                          (TyVar
23441                             SrcSpanInfo
23442                               { srcInfoSpan =
23443                                   SrcSpan "tests/examples/DerivingVia.hs" 333 22 333 23
23444                               , srcInfoPoints = []
23445                               }
23446                             (Ident
23447                                SrcSpanInfo
23448                                  { srcInfoSpan =
23449                                      SrcSpan "tests/examples/DerivingVia.hs" 333 22 333 23
23450                                  , srcInfoPoints = []
23451                                  }
23452                                "a")))
23453                       (TyCon
23454                          SrcSpanInfo
23455                            { srcInfoSpan =
23456                                SrcSpan "tests/examples/DerivingVia.hs" 333 27 333 31
23457                            , srcInfoPoints = []
23458                            }
23459                          (UnQual
23460                             SrcSpanInfo
23461                               { srcInfoSpan =
23462                                   SrcSpan "tests/examples/DerivingVia.hs" 333 27 333 31
23463                               , srcInfoPoints = []
23464                               }
23465                             (Ident
23466                                SrcSpanInfo
23467                                  { srcInfoSpan =
23468                                      SrcSpan "tests/examples/DerivingVia.hs" 333 27 333 31
23469                                  , srcInfoPoints = []
23470                                  }
23471                                "Bool")))))
23472             , InsDecl
23473                 SrcSpanInfo
23474                   { srcInfoSpan =
23475                       SrcSpan "tests/examples/DerivingVia.hs" 334 3 334 21
23476                   , srcInfoPoints = []
23477                   }
23478                 (PatBind
23479                    SrcSpanInfo
23480                      { srcInfoSpan =
23481                          SrcSpan "tests/examples/DerivingVia.hs" 334 3 334 21
23482                      , srcInfoPoints = []
23483                      }
23484                    (PVar
23485                       SrcSpanInfo
23486                         { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 334 3 334 7
23487                         , srcInfoPoints = []
23488                         }
23489                       (Ident
23490                          SrcSpanInfo
23491                            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 334 3 334 7
23492                            , srcInfoPoints = []
23493                            }
23494                          "null"))
23495                    (UnGuardedRhs
23496                       SrcSpanInfo
23497                         { srcInfoSpan =
23498                             SrcSpan "tests/examples/DerivingVia.hs" 334 8 334 21
23499                         , srcInfoPoints =
23500                             [ SrcSpan "tests/examples/DerivingVia.hs" 334 8 334 9 ]
23501                         }
23502                       (RightSection
23503                          SrcSpanInfo
23504                            { srcInfoSpan =
23505                                SrcSpan "tests/examples/DerivingVia.hs" 334 10 334 21
23506                            , srcInfoPoints =
23507                                [ SrcSpan "tests/examples/DerivingVia.hs" 334 10 334 11
23508                                , SrcSpan "tests/examples/DerivingVia.hs" 334 20 334 21
23509                                ]
23510                            }
23511                          (QVarOp
23512                             SrcSpanInfo
23513                               { srcInfoSpan =
23514                                   SrcSpan "tests/examples/DerivingVia.hs" 334 11 334 13
23515                               , srcInfoPoints = []
23516                               }
23517                             (UnQual
23518                                SrcSpanInfo
23519                                  { srcInfoSpan =
23520                                      SrcSpan "tests/examples/DerivingVia.hs" 334 11 334 13
23521                                  , srcInfoPoints = []
23522                                  }
23523                                (Symbol
23524                                   SrcSpanInfo
23525                                     { srcInfoSpan =
23526                                         SrcSpan "tests/examples/DerivingVia.hs" 334 11 334 13
23527                                     , srcInfoPoints = []
23528                                     }
23529                                   "==")))
23530                          (Var
23531                             SrcSpanInfo
23532                               { srcInfoSpan =
23533                                   SrcSpan "tests/examples/DerivingVia.hs" 334 14 334 20
23534                               , srcInfoPoints = []
23535                               }
23536                             (UnQual
23537                                SrcSpanInfo
23538                                  { srcInfoSpan =
23539                                      SrcSpan "tests/examples/DerivingVia.hs" 334 14 334 20
23540                                  , srcInfoPoints = []
23541                                  }
23542                                (Ident
23543                                   SrcSpanInfo
23544                                     { srcInfoSpan =
23545                                         SrcSpan "tests/examples/DerivingVia.hs" 334 14 334 20
23546                                     , srcInfoPoints = []
23547                                     }
23548                                   "mempty")))))
23549                    Nothing)
23550             ])
23551      , DerivDecl
23552          SrcSpanInfo
23553            { srcInfoSpan =
23554                SrcSpan "tests/examples/DerivingVia.hs" 336 1 336 54
23555            , srcInfoPoints =
23556                [ SrcSpan "tests/examples/DerivingVia.hs" 336 1 336 9
23557                , SrcSpan "tests/examples/DerivingVia.hs" 336 31 336 39
23558                ]
23559            }
23560          (Just
23561             (DerivVia
23562                SrcSpanInfo
23563                  { srcInfoSpan =
23564                      SrcSpan "tests/examples/DerivingVia.hs" 336 10 336 13
23565                  , srcInfoPoints = []
23566                  }
23567                (TyParen
23568                   SrcSpanInfo
23569                     { srcInfoSpan =
23570                         SrcSpan "tests/examples/DerivingVia.hs" 336 14 336 30
23571                     , srcInfoPoints =
23572                         [ SrcSpan "tests/examples/DerivingVia.hs" 336 14 336 15
23573                         , SrcSpan "tests/examples/DerivingVia.hs" 336 29 336 30
23574                         ]
23575                     }
23576                   (TyApp
23577                      SrcSpanInfo
23578                        { srcInfoSpan =
23579                            SrcSpan "tests/examples/DerivingVia.hs" 336 15 336 29
23580                        , srcInfoPoints = []
23581                        }
23582                      (TyCon
23583                         SrcSpanInfo
23584                           { srcInfoSpan =
23585                               SrcSpan "tests/examples/DerivingVia.hs" 336 15 336 25
23586                           , srcInfoPoints = []
23587                           }
23588                         (UnQual
23589                            SrcSpanInfo
23590                              { srcInfoSpan =
23591                                  SrcSpan "tests/examples/DerivingVia.hs" 336 15 336 25
23592                              , srcInfoPoints = []
23593                              }
23594                            (Ident
23595                               SrcSpanInfo
23596                                 { srcInfoSpan =
23597                                     SrcSpan "tests/examples/DerivingVia.hs" 336 15 336 25
23598                                 , srcInfoPoints = []
23599                                 }
23600                               "WrpMonNull")))
23601                      (TyCon
23602                         SrcSpanInfo
23603                           { srcInfoSpan =
23604                               SrcSpan "tests/examples/DerivingVia.hs" 336 26 336 29
23605                           , srcInfoPoints = []
23606                           }
23607                         (UnQual
23608                            SrcSpanInfo
23609                              { srcInfoSpan =
23610                                  SrcSpan "tests/examples/DerivingVia.hs" 336 26 336 29
23611                              , srcInfoPoints = []
23612                              }
23613                            (Ident
23614                               SrcSpanInfo
23615                                 { srcInfoSpan =
23616                                     SrcSpan "tests/examples/DerivingVia.hs" 336 26 336 29
23617                                 , srcInfoPoints = []
23618                                 }
23619                               "Any")))))))
23620          Nothing
23621          (IRule
23622             SrcSpanInfo
23623               { srcInfoSpan =
23624                   SrcSpan "tests/examples/DerivingVia.hs" 336 40 336 54
23625               , srcInfoPoints = []
23626               }
23627             Nothing
23628             Nothing
23629             (IHApp
23630                SrcSpanInfo
23631                  { srcInfoSpan =
23632                      SrcSpan "tests/examples/DerivingVia.hs" 336 40 336 54
23633                  , srcInfoPoints = []
23634                  }
23635                (IHCon
23636                   SrcSpanInfo
23637                     { srcInfoSpan =
23638                         SrcSpan "tests/examples/DerivingVia.hs" 336 40 336 50
23639                     , srcInfoPoints = []
23640                     }
23641                   (UnQual
23642                      SrcSpanInfo
23643                        { srcInfoSpan =
23644                            SrcSpan "tests/examples/DerivingVia.hs" 336 40 336 50
23645                        , srcInfoPoints = []
23646                        }
23647                      (Ident
23648                         SrcSpanInfo
23649                           { srcInfoSpan =
23650                               SrcSpan "tests/examples/DerivingVia.hs" 336 40 336 50
23651                           , srcInfoPoints = []
23652                           }
23653                         "MonoidNull")))
23654                (TyCon
23655                   SrcSpanInfo
23656                     { srcInfoSpan =
23657                         SrcSpan "tests/examples/DerivingVia.hs" 336 51 336 54
23658                     , srcInfoPoints = []
23659                     }
23660                   (UnQual
23661                      SrcSpanInfo
23662                        { srcInfoSpan =
23663                            SrcSpan "tests/examples/DerivingVia.hs" 336 51 336 54
23664                        , srcInfoPoints = []
23665                        }
23666                      (Ident
23667                         SrcSpanInfo
23668                           { srcInfoSpan =
23669                               SrcSpan "tests/examples/DerivingVia.hs" 336 51 336 54
23670                           , srcInfoPoints = []
23671                           }
23672                         "Any")))))
23673      , DerivDecl
23674          SrcSpanInfo
23675            { srcInfoSpan =
23676                SrcSpan "tests/examples/DerivingVia.hs" 337 1 337 53
23677            , srcInfoPoints =
23678                [ SrcSpan "tests/examples/DerivingVia.hs" 337 1 337 9
23679                , SrcSpan "tests/examples/DerivingVia.hs" 337 31 337 39
23680                ]
23681            }
23682          (Just
23683             (DerivVia
23684                SrcSpanInfo
23685                  { srcInfoSpan =
23686                      SrcSpan "tests/examples/DerivingVia.hs" 337 10 337 13
23687                  , srcInfoPoints = []
23688                  }
23689                (TyCon
23690                   SrcSpanInfo
23691                     { srcInfoSpan =
23692                         SrcSpan "tests/examples/DerivingVia.hs" 337 14 337 16
23693                     , srcInfoPoints =
23694                         [ SrcSpan "tests/examples/DerivingVia.hs" 337 14 337 15
23695                         , SrcSpan "tests/examples/DerivingVia.hs" 337 15 337 16
23696                         ]
23697                     }
23698                   (Special
23699                      SrcSpanInfo
23700                        { srcInfoSpan =
23701                            SrcSpan "tests/examples/DerivingVia.hs" 337 14 337 16
23702                        , srcInfoPoints =
23703                            [ SrcSpan "tests/examples/DerivingVia.hs" 337 14 337 15
23704                            , SrcSpan "tests/examples/DerivingVia.hs" 337 15 337 16
23705                            ]
23706                        }
23707                      (UnitCon
23708                         SrcSpanInfo
23709                           { srcInfoSpan =
23710                               SrcSpan "tests/examples/DerivingVia.hs" 337 14 337 16
23711                           , srcInfoPoints =
23712                               [ SrcSpan "tests/examples/DerivingVia.hs" 337 14 337 15
23713                               , SrcSpan "tests/examples/DerivingVia.hs" 337 15 337 16
23714                               ]
23715                           })))))
23716          Nothing
23717          (IRule
23718             SrcSpanInfo
23719               { srcInfoSpan =
23720                   SrcSpan "tests/examples/DerivingVia.hs" 337 40 337 53
23721               , srcInfoPoints = []
23722               }
23723             Nothing
23724             Nothing
23725             (IHApp
23726                SrcSpanInfo
23727                  { srcInfoSpan =
23728                      SrcSpan "tests/examples/DerivingVia.hs" 337 40 337 53
23729                  , srcInfoPoints = []
23730                  }
23731                (IHCon
23732                   SrcSpanInfo
23733                     { srcInfoSpan =
23734                         SrcSpan "tests/examples/DerivingVia.hs" 337 40 337 50
23735                     , srcInfoPoints = []
23736                     }
23737                   (UnQual
23738                      SrcSpanInfo
23739                        { srcInfoSpan =
23740                            SrcSpan "tests/examples/DerivingVia.hs" 337 40 337 50
23741                        , srcInfoPoints = []
23742                        }
23743                      (Ident
23744                         SrcSpanInfo
23745                           { srcInfoSpan =
23746                               SrcSpan "tests/examples/DerivingVia.hs" 337 40 337 50
23747                           , srcInfoPoints = []
23748                           }
23749                         "MonoidNull")))
23750                (TyCon
23751                   SrcSpanInfo
23752                     { srcInfoSpan =
23753                         SrcSpan "tests/examples/DerivingVia.hs" 337 51 337 53
23754                     , srcInfoPoints =
23755                         [ SrcSpan "tests/examples/DerivingVia.hs" 337 51 337 52
23756                         , SrcSpan "tests/examples/DerivingVia.hs" 337 52 337 53
23757                         ]
23758                     }
23759                   (Special
23760                      SrcSpanInfo
23761                        { srcInfoSpan =
23762                            SrcSpan "tests/examples/DerivingVia.hs" 337 51 337 53
23763                        , srcInfoPoints =
23764                            [ SrcSpan "tests/examples/DerivingVia.hs" 337 51 337 52
23765                            , SrcSpan "tests/examples/DerivingVia.hs" 337 52 337 53
23766                            ]
23767                        }
23768                      (UnitCon
23769                         SrcSpanInfo
23770                           { srcInfoSpan =
23771                               SrcSpan "tests/examples/DerivingVia.hs" 337 51 337 53
23772                           , srcInfoPoints =
23773                               [ SrcSpan "tests/examples/DerivingVia.hs" 337 51 337 52
23774                               , SrcSpan "tests/examples/DerivingVia.hs" 337 52 337 53
23775                               ]
23776                           })))))
23777      , DerivDecl
23778          SrcSpanInfo
23779            { srcInfoSpan =
23780                SrcSpan "tests/examples/DerivingVia.hs" 338 1 338 59
23781            , srcInfoPoints =
23782                [ SrcSpan "tests/examples/DerivingVia.hs" 338 1 338 9
23783                , SrcSpan "tests/examples/DerivingVia.hs" 338 31 338 39
23784                ]
23785            }
23786          (Just
23787             (DerivVia
23788                SrcSpanInfo
23789                  { srcInfoSpan =
23790                      SrcSpan "tests/examples/DerivingVia.hs" 338 10 338 13
23791                  , srcInfoPoints = []
23792                  }
23793                (TyCon
23794                   SrcSpanInfo
23795                     { srcInfoSpan =
23796                         SrcSpan "tests/examples/DerivingVia.hs" 338 14 338 22
23797                     , srcInfoPoints = []
23798                     }
23799                   (UnQual
23800                      SrcSpanInfo
23801                        { srcInfoSpan =
23802                            SrcSpan "tests/examples/DerivingVia.hs" 338 14 338 22
23803                        , srcInfoPoints = []
23804                        }
23805                      (Ident
23806                         SrcSpanInfo
23807                           { srcInfoSpan =
23808                               SrcSpan "tests/examples/DerivingVia.hs" 338 14 338 22
23809                           , srcInfoPoints = []
23810                           }
23811                         "Ordering")))))
23812          Nothing
23813          (IRule
23814             SrcSpanInfo
23815               { srcInfoSpan =
23816                   SrcSpan "tests/examples/DerivingVia.hs" 338 40 338 59
23817               , srcInfoPoints = []
23818               }
23819             Nothing
23820             Nothing
23821             (IHApp
23822                SrcSpanInfo
23823                  { srcInfoSpan =
23824                      SrcSpan "tests/examples/DerivingVia.hs" 338 40 338 59
23825                  , srcInfoPoints = []
23826                  }
23827                (IHCon
23828                   SrcSpanInfo
23829                     { srcInfoSpan =
23830                         SrcSpan "tests/examples/DerivingVia.hs" 338 40 338 50
23831                     , srcInfoPoints = []
23832                     }
23833                   (UnQual
23834                      SrcSpanInfo
23835                        { srcInfoSpan =
23836                            SrcSpan "tests/examples/DerivingVia.hs" 338 40 338 50
23837                        , srcInfoPoints = []
23838                        }
23839                      (Ident
23840                         SrcSpanInfo
23841                           { srcInfoSpan =
23842                               SrcSpan "tests/examples/DerivingVia.hs" 338 40 338 50
23843                           , srcInfoPoints = []
23844                           }
23845                         "MonoidNull")))
23846                (TyCon
23847                   SrcSpanInfo
23848                     { srcInfoSpan =
23849                         SrcSpan "tests/examples/DerivingVia.hs" 338 51 338 59
23850                     , srcInfoPoints = []
23851                     }
23852                   (UnQual
23853                      SrcSpanInfo
23854                        { srcInfoSpan =
23855                            SrcSpan "tests/examples/DerivingVia.hs" 338 51 338 59
23856                        , srcInfoPoints = []
23857                        }
23858                      (Ident
23859                         SrcSpanInfo
23860                           { srcInfoSpan =
23861                               SrcSpan "tests/examples/DerivingVia.hs" 338 51 338 59
23862                           , srcInfoPoints = []
23863                           }
23864                         "Ordering")))))
23865      , ClassDecl
23866          SrcSpanInfo
23867            { srcInfoSpan =
23868                SrcSpan "tests/examples/DerivingVia.hs" 345 1 348 26
23869            , srcInfoPoints =
23870                [ SrcSpan "tests/examples/DerivingVia.hs" 345 1 345 6
23871                , SrcSpan "tests/examples/DerivingVia.hs" 345 17 345 22
23872                , SrcSpan "tests/examples/DerivingVia.hs" 346 3 346 3
23873                , SrcSpan "tests/examples/DerivingVia.hs" 347 3 347 3
23874                , SrcSpan "tests/examples/DerivingVia.hs" 348 3 348 3
23875                , SrcSpan "tests/examples/DerivingVia.hs" 350 1 350 0
23876                ]
23877            }
23878          Nothing
23879          (DHApp
23880             SrcSpanInfo
23881               { srcInfoSpan =
23882                   SrcSpan "tests/examples/DerivingVia.hs" 345 7 345 16
23883               , srcInfoPoints = []
23884               }
23885             (DHead
23886                SrcSpanInfo
23887                  { srcInfoSpan =
23888                      SrcSpan "tests/examples/DerivingVia.hs" 345 7 345 14
23889                  , srcInfoPoints = []
23890                  }
23891                (Ident
23892                   SrcSpanInfo
23893                     { srcInfoSpan =
23894                         SrcSpan "tests/examples/DerivingVia.hs" 345 7 345 14
23895                     , srcInfoPoints = []
23896                     }
23897                   "Lattice"))
23898             (UnkindedVar
23899                SrcSpanInfo
23900                  { srcInfoSpan =
23901                      SrcSpan "tests/examples/DerivingVia.hs" 345 15 345 16
23902                  , srcInfoPoints = []
23903                  }
23904                (Ident
23905                   SrcSpanInfo
23906                     { srcInfoSpan =
23907                         SrcSpan "tests/examples/DerivingVia.hs" 345 15 345 16
23908                     , srcInfoPoints = []
23909                     }
23910                   "a")))
23911          []
23912          (Just
23913             [ ClsDecl
23914                 SrcSpanInfo
23915                   { srcInfoSpan =
23916                       SrcSpan "tests/examples/DerivingVia.hs" 346 3 346 23
23917                   , srcInfoPoints =
23918                       [ SrcSpan "tests/examples/DerivingVia.hs" 346 9 346 11 ]
23919                   }
23920                 (TypeSig
23921                    SrcSpanInfo
23922                      { srcInfoSpan =
23923                          SrcSpan "tests/examples/DerivingVia.hs" 346 3 346 23
23924                      , srcInfoPoints =
23925                          [ SrcSpan "tests/examples/DerivingVia.hs" 346 9 346 11 ]
23926                      }
23927                    [ Ident
23928                        SrcSpanInfo
23929                          { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 346 3 346 6
23930                          , srcInfoPoints = []
23931                          }
23932                        "sup"
23933                    ]
23934                    (TyFun
23935                       SrcSpanInfo
23936                         { srcInfoSpan =
23937                             SrcSpan "tests/examples/DerivingVia.hs" 346 12 346 23
23938                         , srcInfoPoints =
23939                             [ SrcSpan "tests/examples/DerivingVia.hs" 346 14 346 16 ]
23940                         }
23941                       (TyVar
23942                          SrcSpanInfo
23943                            { srcInfoSpan =
23944                                SrcSpan "tests/examples/DerivingVia.hs" 346 12 346 13
23945                            , srcInfoPoints = []
23946                            }
23947                          (Ident
23948                             SrcSpanInfo
23949                               { srcInfoSpan =
23950                                   SrcSpan "tests/examples/DerivingVia.hs" 346 12 346 13
23951                               , srcInfoPoints = []
23952                               }
23953                             "a"))
23954                       (TyFun
23955                          SrcSpanInfo
23956                            { srcInfoSpan =
23957                                SrcSpan "tests/examples/DerivingVia.hs" 346 17 346 23
23958                            , srcInfoPoints =
23959                                [ SrcSpan "tests/examples/DerivingVia.hs" 346 19 346 21 ]
23960                            }
23961                          (TyVar
23962                             SrcSpanInfo
23963                               { srcInfoSpan =
23964                                   SrcSpan "tests/examples/DerivingVia.hs" 346 17 346 18
23965                               , srcInfoPoints = []
23966                               }
23967                             (Ident
23968                                SrcSpanInfo
23969                                  { srcInfoSpan =
23970                                      SrcSpan "tests/examples/DerivingVia.hs" 346 17 346 18
23971                                  , srcInfoPoints = []
23972                                  }
23973                                "a"))
23974                          (TyVar
23975                             SrcSpanInfo
23976                               { srcInfoSpan =
23977                                   SrcSpan "tests/examples/DerivingVia.hs" 346 22 346 23
23978                               , srcInfoPoints = []
23979                               }
23980                             (Ident
23981                                SrcSpanInfo
23982                                  { srcInfoSpan =
23983                                      SrcSpan "tests/examples/DerivingVia.hs" 346 22 346 23
23984                                  , srcInfoPoints = []
23985                                  }
23986                                "a")))))
23987             , ClsDecl
23988                 SrcSpanInfo
23989                   { srcInfoSpan =
23990                       SrcSpan "tests/examples/DerivingVia.hs" 347 3 347 26
23991                   , srcInfoPoints =
23992                       [ SrcSpan "tests/examples/DerivingVia.hs" 347 9 347 11 ]
23993                   }
23994                 (TypeSig
23995                    SrcSpanInfo
23996                      { srcInfoSpan =
23997                          SrcSpan "tests/examples/DerivingVia.hs" 347 3 347 26
23998                      , srcInfoPoints =
23999                          [ SrcSpan "tests/examples/DerivingVia.hs" 347 9 347 11 ]
24000                      }
24001                    [ Symbol
24002                        SrcSpanInfo
24003                          { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 347 3 347 8
24004                          , srcInfoPoints =
24005                              [ SrcSpan "tests/examples/DerivingVia.hs" 347 3 347 4
24006                              , SrcSpan "tests/examples/DerivingVia.hs" 347 4 347 7
24007                              , SrcSpan "tests/examples/DerivingVia.hs" 347 7 347 8
24008                              ]
24009                          }
24010                        ".>="
24011                    ]
24012                    (TyFun
24013                       SrcSpanInfo
24014                         { srcInfoSpan =
24015                             SrcSpan "tests/examples/DerivingVia.hs" 347 12 347 26
24016                         , srcInfoPoints =
24017                             [ SrcSpan "tests/examples/DerivingVia.hs" 347 14 347 16 ]
24018                         }
24019                       (TyVar
24020                          SrcSpanInfo
24021                            { srcInfoSpan =
24022                                SrcSpan "tests/examples/DerivingVia.hs" 347 12 347 13
24023                            , srcInfoPoints = []
24024                            }
24025                          (Ident
24026                             SrcSpanInfo
24027                               { srcInfoSpan =
24028                                   SrcSpan "tests/examples/DerivingVia.hs" 347 12 347 13
24029                               , srcInfoPoints = []
24030                               }
24031                             "a"))
24032                       (TyFun
24033                          SrcSpanInfo
24034                            { srcInfoSpan =
24035                                SrcSpan "tests/examples/DerivingVia.hs" 347 17 347 26
24036                            , srcInfoPoints =
24037                                [ SrcSpan "tests/examples/DerivingVia.hs" 347 19 347 21 ]
24038                            }
24039                          (TyVar
24040                             SrcSpanInfo
24041                               { srcInfoSpan =
24042                                   SrcSpan "tests/examples/DerivingVia.hs" 347 17 347 18
24043                               , srcInfoPoints = []
24044                               }
24045                             (Ident
24046                                SrcSpanInfo
24047                                  { srcInfoSpan =
24048                                      SrcSpan "tests/examples/DerivingVia.hs" 347 17 347 18
24049                                  , srcInfoPoints = []
24050                                  }
24051                                "a"))
24052                          (TyCon
24053                             SrcSpanInfo
24054                               { srcInfoSpan =
24055                                   SrcSpan "tests/examples/DerivingVia.hs" 347 22 347 26
24056                               , srcInfoPoints = []
24057                               }
24058                             (UnQual
24059                                SrcSpanInfo
24060                                  { srcInfoSpan =
24061                                      SrcSpan "tests/examples/DerivingVia.hs" 347 22 347 26
24062                                  , srcInfoPoints = []
24063                                  }
24064                                (Ident
24065                                   SrcSpanInfo
24066                                     { srcInfoSpan =
24067                                         SrcSpan "tests/examples/DerivingVia.hs" 347 22 347 26
24068                                     , srcInfoPoints = []
24069                                     }
24070                                   "Bool"))))))
24071             , ClsDecl
24072                 SrcSpanInfo
24073                   { srcInfoSpan =
24074                       SrcSpan "tests/examples/DerivingVia.hs" 348 3 348 26
24075                   , srcInfoPoints =
24076                       [ SrcSpan "tests/examples/DerivingVia.hs" 348 9 348 11 ]
24077                   }
24078                 (TypeSig
24079                    SrcSpanInfo
24080                      { srcInfoSpan =
24081                          SrcSpan "tests/examples/DerivingVia.hs" 348 3 348 26
24082                      , srcInfoPoints =
24083                          [ SrcSpan "tests/examples/DerivingVia.hs" 348 9 348 11 ]
24084                      }
24085                    [ Symbol
24086                        SrcSpanInfo
24087                          { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 348 3 348 7
24088                          , srcInfoPoints =
24089                              [ SrcSpan "tests/examples/DerivingVia.hs" 348 3 348 4
24090                              , SrcSpan "tests/examples/DerivingVia.hs" 348 4 348 6
24091                              , SrcSpan "tests/examples/DerivingVia.hs" 348 6 348 7
24092                              ]
24093                          }
24094                        ".>"
24095                    ]
24096                    (TyFun
24097                       SrcSpanInfo
24098                         { srcInfoSpan =
24099                             SrcSpan "tests/examples/DerivingVia.hs" 348 12 348 26
24100                         , srcInfoPoints =
24101                             [ SrcSpan "tests/examples/DerivingVia.hs" 348 14 348 16 ]
24102                         }
24103                       (TyVar
24104                          SrcSpanInfo
24105                            { srcInfoSpan =
24106                                SrcSpan "tests/examples/DerivingVia.hs" 348 12 348 13
24107                            , srcInfoPoints = []
24108                            }
24109                          (Ident
24110                             SrcSpanInfo
24111                               { srcInfoSpan =
24112                                   SrcSpan "tests/examples/DerivingVia.hs" 348 12 348 13
24113                               , srcInfoPoints = []
24114                               }
24115                             "a"))
24116                       (TyFun
24117                          SrcSpanInfo
24118                            { srcInfoSpan =
24119                                SrcSpan "tests/examples/DerivingVia.hs" 348 17 348 26
24120                            , srcInfoPoints =
24121                                [ SrcSpan "tests/examples/DerivingVia.hs" 348 19 348 21 ]
24122                            }
24123                          (TyVar
24124                             SrcSpanInfo
24125                               { srcInfoSpan =
24126                                   SrcSpan "tests/examples/DerivingVia.hs" 348 17 348 18
24127                               , srcInfoPoints = []
24128                               }
24129                             (Ident
24130                                SrcSpanInfo
24131                                  { srcInfoSpan =
24132                                      SrcSpan "tests/examples/DerivingVia.hs" 348 17 348 18
24133                                  , srcInfoPoints = []
24134                                  }
24135                                "a"))
24136                          (TyCon
24137                             SrcSpanInfo
24138                               { srcInfoSpan =
24139                                   SrcSpan "tests/examples/DerivingVia.hs" 348 22 348 26
24140                               , srcInfoPoints = []
24141                               }
24142                             (UnQual
24143                                SrcSpanInfo
24144                                  { srcInfoSpan =
24145                                      SrcSpan "tests/examples/DerivingVia.hs" 348 22 348 26
24146                                  , srcInfoPoints = []
24147                                  }
24148                                (Ident
24149                                   SrcSpanInfo
24150                                     { srcInfoSpan =
24151                                         SrcSpan "tests/examples/DerivingVia.hs" 348 22 348 26
24152                                     , srcInfoPoints = []
24153                                     }
24154                                   "Bool"))))))
24155             ])
24156      , DataDecl
24157          SrcSpanInfo
24158            { srcInfoSpan =
24159                SrcSpan "tests/examples/DerivingVia.hs" 350 1 351 29
24160            , srcInfoPoints =
24161                [ SrcSpan "tests/examples/DerivingVia.hs" 350 19 350 20 ]
24162            }
24163          (NewType
24164             SrcSpanInfo
24165               { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 350 1 350 8
24166               , srcInfoPoints = []
24167               })
24168          Nothing
24169          (DHApp
24170             SrcSpanInfo
24171               { srcInfoSpan =
24172                   SrcSpan "tests/examples/DerivingVia.hs" 350 9 350 18
24173               , srcInfoPoints = []
24174               }
24175             (DHead
24176                SrcSpanInfo
24177                  { srcInfoSpan =
24178                      SrcSpan "tests/examples/DerivingVia.hs" 350 9 350 16
24179                  , srcInfoPoints = []
24180                  }
24181                (Ident
24182                   SrcSpanInfo
24183                     { srcInfoSpan =
24184                         SrcSpan "tests/examples/DerivingVia.hs" 350 9 350 16
24185                     , srcInfoPoints = []
24186                     }
24187                   "WrapOrd"))
24188             (UnkindedVar
24189                SrcSpanInfo
24190                  { srcInfoSpan =
24191                      SrcSpan "tests/examples/DerivingVia.hs" 350 17 350 18
24192                  , srcInfoPoints = []
24193                  }
24194                (Ident
24195                   SrcSpanInfo
24196                     { srcInfoSpan =
24197                         SrcSpan "tests/examples/DerivingVia.hs" 350 17 350 18
24198                     , srcInfoPoints = []
24199                     }
24200                   "a")))
24201          [ QualConDecl
24202              SrcSpanInfo
24203                { srcInfoSpan =
24204                    SrcSpan "tests/examples/DerivingVia.hs" 350 21 350 33
24205                , srcInfoPoints = []
24206                }
24207              Nothing
24208              Nothing
24209              (ConDecl
24210                 SrcSpanInfo
24211                   { srcInfoSpan =
24212                       SrcSpan "tests/examples/DerivingVia.hs" 350 21 350 33
24213                   , srcInfoPoints = []
24214                   }
24215                 (Ident
24216                    SrcSpanInfo
24217                      { srcInfoSpan =
24218                          SrcSpan "tests/examples/DerivingVia.hs" 350 21 350 31
24219                      , srcInfoPoints = []
24220                      }
24221                    "WrappedOrd")
24222                 [ TyVar
24223                     SrcSpanInfo
24224                       { srcInfoSpan =
24225                           SrcSpan "tests/examples/DerivingVia.hs" 350 32 350 33
24226                       , srcInfoPoints = []
24227                       }
24228                     (Ident
24229                        SrcSpanInfo
24230                          { srcInfoSpan =
24231                              SrcSpan "tests/examples/DerivingVia.hs" 350 32 350 33
24232                          , srcInfoPoints = []
24233                          }
24234                        "a")
24235                 ])
24236          ]
24237          [ Deriving
24238              SrcSpanInfo
24239                { srcInfoSpan =
24240                    SrcSpan "tests/examples/DerivingVia.hs" 351 3 351 29
24241                , srcInfoPoints =
24242                    [ SrcSpan "tests/examples/DerivingVia.hs" 351 3 351 11
24243                    , SrcSpan "tests/examples/DerivingVia.hs" 351 20 351 21
24244                    , SrcSpan "tests/examples/DerivingVia.hs" 351 23 351 24
24245                    , SrcSpan "tests/examples/DerivingVia.hs" 351 28 351 29
24246                    ]
24247                }
24248              (Just
24249                 (DerivNewtype
24250                    SrcSpanInfo
24251                      { srcInfoSpan =
24252                          SrcSpan "tests/examples/DerivingVia.hs" 351 12 351 19
24253                      , srcInfoPoints = []
24254                      }))
24255              [ IRule
24256                  SrcSpanInfo
24257                    { srcInfoSpan =
24258                        SrcSpan "tests/examples/DerivingVia.hs" 351 21 351 23
24259                    , srcInfoPoints = []
24260                    }
24261                  Nothing
24262                  Nothing
24263                  (IHCon
24264                     SrcSpanInfo
24265                       { srcInfoSpan =
24266                           SrcSpan "tests/examples/DerivingVia.hs" 351 21 351 23
24267                       , srcInfoPoints = []
24268                       }
24269                     (UnQual
24270                        SrcSpanInfo
24271                          { srcInfoSpan =
24272                              SrcSpan "tests/examples/DerivingVia.hs" 351 21 351 23
24273                          , srcInfoPoints = []
24274                          }
24275                        (Ident
24276                           SrcSpanInfo
24277                             { srcInfoSpan =
24278                                 SrcSpan "tests/examples/DerivingVia.hs" 351 21 351 23
24279                             , srcInfoPoints = []
24280                             }
24281                           "Eq")))
24282              , IRule
24283                  SrcSpanInfo
24284                    { srcInfoSpan =
24285                        SrcSpan "tests/examples/DerivingVia.hs" 351 25 351 28
24286                    , srcInfoPoints = []
24287                    }
24288                  Nothing
24289                  Nothing
24290                  (IHCon
24291                     SrcSpanInfo
24292                       { srcInfoSpan =
24293                           SrcSpan "tests/examples/DerivingVia.hs" 351 25 351 28
24294                       , srcInfoPoints = []
24295                       }
24296                     (UnQual
24297                        SrcSpanInfo
24298                          { srcInfoSpan =
24299                              SrcSpan "tests/examples/DerivingVia.hs" 351 25 351 28
24300                          , srcInfoPoints = []
24301                          }
24302                        (Ident
24303                           SrcSpanInfo
24304                             { srcInfoSpan =
24305                                 SrcSpan "tests/examples/DerivingVia.hs" 351 25 351 28
24306                             , srcInfoPoints = []
24307                             }
24308                           "Ord")))
24309              ]
24310          ]
24311      , InstDecl
24312          SrcSpanInfo
24313            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 353 1 358 0
24314            , srcInfoPoints =
24315                [ SrcSpan "tests/examples/DerivingVia.hs" 353 1 353 9
24316                , SrcSpan "tests/examples/DerivingVia.hs" 353 39 353 44
24317                , SrcSpan "tests/examples/DerivingVia.hs" 354 3 354 3
24318                , SrcSpan "tests/examples/DerivingVia.hs" 355 3 355 3
24319                , SrcSpan "tests/examples/DerivingVia.hs" 356 3 356 3
24320                , SrcSpan "tests/examples/DerivingVia.hs" 358 1 358 0
24321                ]
24322            }
24323          Nothing
24324          (IRule
24325             SrcSpanInfo
24326               { srcInfoSpan =
24327                   SrcSpan "tests/examples/DerivingVia.hs" 353 10 353 38
24328               , srcInfoPoints = []
24329               }
24330             Nothing
24331             (Just
24332                (CxSingle
24333                   SrcSpanInfo
24334                     { srcInfoSpan =
24335                         SrcSpan "tests/examples/DerivingVia.hs" 353 10 353 18
24336                     , srcInfoPoints =
24337                         [ SrcSpan "tests/examples/DerivingVia.hs" 353 16 353 18 ]
24338                     }
24339                   (TypeA
24340                      SrcSpanInfo
24341                        { srcInfoSpan =
24342                            SrcSpan "tests/examples/DerivingVia.hs" 353 10 353 18
24343                        , srcInfoPoints =
24344                            [ SrcSpan "tests/examples/DerivingVia.hs" 353 16 353 18 ]
24345                        }
24346                      (TyApp
24347                         SrcSpanInfo
24348                           { srcInfoSpan =
24349                               SrcSpan "tests/examples/DerivingVia.hs" 353 10 353 18
24350                           , srcInfoPoints =
24351                               [ SrcSpan "tests/examples/DerivingVia.hs" 353 16 353 18 ]
24352                           }
24353                         (TyCon
24354                            SrcSpanInfo
24355                              { srcInfoSpan =
24356                                  SrcSpan "tests/examples/DerivingVia.hs" 353 10 353 18
24357                              , srcInfoPoints =
24358                                  [ SrcSpan "tests/examples/DerivingVia.hs" 353 16 353 18 ]
24359                              }
24360                            (UnQual
24361                               SrcSpanInfo
24362                                 { srcInfoSpan =
24363                                     SrcSpan "tests/examples/DerivingVia.hs" 353 10 353 13
24364                                 , srcInfoPoints = []
24365                                 }
24366                               (Ident
24367                                  SrcSpanInfo
24368                                    { srcInfoSpan =
24369                                        SrcSpan "tests/examples/DerivingVia.hs" 353 10 353 13
24370                                    , srcInfoPoints = []
24371                                    }
24372                                  "Ord")))
24373                         (TyVar
24374                            SrcSpanInfo
24375                              { srcInfoSpan =
24376                                  SrcSpan "tests/examples/DerivingVia.hs" 353 14 353 15
24377                              , srcInfoPoints = []
24378                              }
24379                            (Ident
24380                               SrcSpanInfo
24381                                 { srcInfoSpan =
24382                                     SrcSpan "tests/examples/DerivingVia.hs" 353 14 353 15
24383                                 , srcInfoPoints = []
24384                                 }
24385                               "a"))))))
24386             (IHApp
24387                SrcSpanInfo
24388                  { srcInfoSpan =
24389                      SrcSpan "tests/examples/DerivingVia.hs" 353 19 353 38
24390                  , srcInfoPoints = []
24391                  }
24392                (IHCon
24393                   SrcSpanInfo
24394                     { srcInfoSpan =
24395                         SrcSpan "tests/examples/DerivingVia.hs" 353 19 353 26
24396                     , srcInfoPoints = []
24397                     }
24398                   (UnQual
24399                      SrcSpanInfo
24400                        { srcInfoSpan =
24401                            SrcSpan "tests/examples/DerivingVia.hs" 353 19 353 26
24402                        , srcInfoPoints = []
24403                        }
24404                      (Ident
24405                         SrcSpanInfo
24406                           { srcInfoSpan =
24407                               SrcSpan "tests/examples/DerivingVia.hs" 353 19 353 26
24408                           , srcInfoPoints = []
24409                           }
24410                         "Lattice")))
24411                (TyParen
24412                   SrcSpanInfo
24413                     { srcInfoSpan =
24414                         SrcSpan "tests/examples/DerivingVia.hs" 353 27 353 38
24415                     , srcInfoPoints =
24416                         [ SrcSpan "tests/examples/DerivingVia.hs" 353 27 353 28
24417                         , SrcSpan "tests/examples/DerivingVia.hs" 353 37 353 38
24418                         ]
24419                     }
24420                   (TyApp
24421                      SrcSpanInfo
24422                        { srcInfoSpan =
24423                            SrcSpan "tests/examples/DerivingVia.hs" 353 28 353 37
24424                        , srcInfoPoints = []
24425                        }
24426                      (TyCon
24427                         SrcSpanInfo
24428                           { srcInfoSpan =
24429                               SrcSpan "tests/examples/DerivingVia.hs" 353 28 353 35
24430                           , srcInfoPoints = []
24431                           }
24432                         (UnQual
24433                            SrcSpanInfo
24434                              { srcInfoSpan =
24435                                  SrcSpan "tests/examples/DerivingVia.hs" 353 28 353 35
24436                              , srcInfoPoints = []
24437                              }
24438                            (Ident
24439                               SrcSpanInfo
24440                                 { srcInfoSpan =
24441                                     SrcSpan "tests/examples/DerivingVia.hs" 353 28 353 35
24442                                 , srcInfoPoints = []
24443                                 }
24444                               "WrapOrd")))
24445                      (TyVar
24446                         SrcSpanInfo
24447                           { srcInfoSpan =
24448                               SrcSpan "tests/examples/DerivingVia.hs" 353 36 353 37
24449                           , srcInfoPoints = []
24450                           }
24451                         (Ident
24452                            SrcSpanInfo
24453                              { srcInfoSpan =
24454                                  SrcSpan "tests/examples/DerivingVia.hs" 353 36 353 37
24455                              , srcInfoPoints = []
24456                              }
24457                            "a"))))))
24458          (Just
24459             [ InsDecl
24460                 SrcSpanInfo
24461                   { srcInfoSpan =
24462                       SrcSpan "tests/examples/DerivingVia.hs" 354 3 354 14
24463                   , srcInfoPoints = []
24464                   }
24465                 (PatBind
24466                    SrcSpanInfo
24467                      { srcInfoSpan =
24468                          SrcSpan "tests/examples/DerivingVia.hs" 354 3 354 14
24469                      , srcInfoPoints = []
24470                      }
24471                    (PVar
24472                       SrcSpanInfo
24473                         { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 354 3 354 6
24474                         , srcInfoPoints = []
24475                         }
24476                       (Ident
24477                          SrcSpanInfo
24478                            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 354 3 354 6
24479                            , srcInfoPoints = []
24480                            }
24481                          "sup"))
24482                    (UnGuardedRhs
24483                       SrcSpanInfo
24484                         { srcInfoSpan =
24485                             SrcSpan "tests/examples/DerivingVia.hs" 354 9 354 14
24486                         , srcInfoPoints =
24487                             [ SrcSpan "tests/examples/DerivingVia.hs" 354 9 354 10 ]
24488                         }
24489                       (Var
24490                          SrcSpanInfo
24491                            { srcInfoSpan =
24492                                SrcSpan "tests/examples/DerivingVia.hs" 354 11 354 14
24493                            , srcInfoPoints = []
24494                            }
24495                          (UnQual
24496                             SrcSpanInfo
24497                               { srcInfoSpan =
24498                                   SrcSpan "tests/examples/DerivingVia.hs" 354 11 354 14
24499                               , srcInfoPoints = []
24500                               }
24501                             (Ident
24502                                SrcSpanInfo
24503                                  { srcInfoSpan =
24504                                      SrcSpan "tests/examples/DerivingVia.hs" 354 11 354 14
24505                                  , srcInfoPoints = []
24506                                  }
24507                                "max"))))
24508                    Nothing)
24509             , InsDecl
24510                 SrcSpanInfo
24511                   { srcInfoSpan =
24512                       SrcSpan "tests/examples/DerivingVia.hs" 355 3 355 15
24513                   , srcInfoPoints = []
24514                   }
24515                 (PatBind
24516                    SrcSpanInfo
24517                      { srcInfoSpan =
24518                          SrcSpan "tests/examples/DerivingVia.hs" 355 3 355 15
24519                      , srcInfoPoints = []
24520                      }
24521                    (PVar
24522                       SrcSpanInfo
24523                         { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 355 3 355 8
24524                         , srcInfoPoints =
24525                             [ SrcSpan "tests/examples/DerivingVia.hs" 355 3 355 4
24526                             , SrcSpan "tests/examples/DerivingVia.hs" 355 4 355 7
24527                             , SrcSpan "tests/examples/DerivingVia.hs" 355 7 355 8
24528                             ]
24529                         }
24530                       (Symbol
24531                          SrcSpanInfo
24532                            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 355 4 355 7
24533                            , srcInfoPoints = []
24534                            }
24535                          ".>="))
24536                    (UnGuardedRhs
24537                       SrcSpanInfo
24538                         { srcInfoSpan =
24539                             SrcSpan "tests/examples/DerivingVia.hs" 355 9 355 15
24540                         , srcInfoPoints =
24541                             [ SrcSpan "tests/examples/DerivingVia.hs" 355 9 355 10 ]
24542                         }
24543                       (Var
24544                          SrcSpanInfo
24545                            { srcInfoSpan =
24546                                SrcSpan "tests/examples/DerivingVia.hs" 355 11 355 15
24547                            , srcInfoPoints =
24548                                [ SrcSpan "tests/examples/DerivingVia.hs" 355 11 355 12
24549                                , SrcSpan "tests/examples/DerivingVia.hs" 355 12 355 14
24550                                , SrcSpan "tests/examples/DerivingVia.hs" 355 14 355 15
24551                                ]
24552                            }
24553                          (UnQual
24554                             SrcSpanInfo
24555                               { srcInfoSpan =
24556                                   SrcSpan "tests/examples/DerivingVia.hs" 355 11 355 15
24557                               , srcInfoPoints =
24558                                   [ SrcSpan "tests/examples/DerivingVia.hs" 355 11 355 12
24559                                   , SrcSpan "tests/examples/DerivingVia.hs" 355 12 355 14
24560                                   , SrcSpan "tests/examples/DerivingVia.hs" 355 14 355 15
24561                                   ]
24562                               }
24563                             (Symbol
24564                                SrcSpanInfo
24565                                  { srcInfoSpan =
24566                                      SrcSpan "tests/examples/DerivingVia.hs" 355 12 355 14
24567                                  , srcInfoPoints = []
24568                                  }
24569                                ">="))))
24570                    Nothing)
24571             , InsDecl
24572                 SrcSpanInfo
24573                   { srcInfoSpan =
24574                       SrcSpan "tests/examples/DerivingVia.hs" 356 3 356 14
24575                   , srcInfoPoints = []
24576                   }
24577                 (PatBind
24578                    SrcSpanInfo
24579                      { srcInfoSpan =
24580                          SrcSpan "tests/examples/DerivingVia.hs" 356 3 356 14
24581                      , srcInfoPoints = []
24582                      }
24583                    (PVar
24584                       SrcSpanInfo
24585                         { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 356 3 356 7
24586                         , srcInfoPoints =
24587                             [ SrcSpan "tests/examples/DerivingVia.hs" 356 3 356 4
24588                             , SrcSpan "tests/examples/DerivingVia.hs" 356 4 356 6
24589                             , SrcSpan "tests/examples/DerivingVia.hs" 356 6 356 7
24590                             ]
24591                         }
24592                       (Symbol
24593                          SrcSpanInfo
24594                            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 356 4 356 6
24595                            , srcInfoPoints = []
24596                            }
24597                          ".>"))
24598                    (UnGuardedRhs
24599                       SrcSpanInfo
24600                         { srcInfoSpan =
24601                             SrcSpan "tests/examples/DerivingVia.hs" 356 9 356 14
24602                         , srcInfoPoints =
24603                             [ SrcSpan "tests/examples/DerivingVia.hs" 356 9 356 10 ]
24604                         }
24605                       (Var
24606                          SrcSpanInfo
24607                            { srcInfoSpan =
24608                                SrcSpan "tests/examples/DerivingVia.hs" 356 11 356 14
24609                            , srcInfoPoints =
24610                                [ SrcSpan "tests/examples/DerivingVia.hs" 356 11 356 12
24611                                , SrcSpan "tests/examples/DerivingVia.hs" 356 12 356 13
24612                                , SrcSpan "tests/examples/DerivingVia.hs" 356 13 356 14
24613                                ]
24614                            }
24615                          (UnQual
24616                             SrcSpanInfo
24617                               { srcInfoSpan =
24618                                   SrcSpan "tests/examples/DerivingVia.hs" 356 11 356 14
24619                               , srcInfoPoints =
24620                                   [ SrcSpan "tests/examples/DerivingVia.hs" 356 11 356 12
24621                                   , SrcSpan "tests/examples/DerivingVia.hs" 356 12 356 13
24622                                   , SrcSpan "tests/examples/DerivingVia.hs" 356 13 356 14
24623                                   ]
24624                               }
24625                             (Symbol
24626                                SrcSpanInfo
24627                                  { srcInfoSpan =
24628                                      SrcSpan "tests/examples/DerivingVia.hs" 356 12 356 13
24629                                  , srcInfoPoints = []
24630                                  }
24631                                ">"))))
24632                    Nothing)
24633             ])
24634      , DerivDecl
24635          SrcSpanInfo
24636            { srcInfoSpan =
24637                SrcSpan "tests/examples/DerivingVia.hs" 358 1 358 59
24638            , srcInfoPoints =
24639                [ SrcSpan "tests/examples/DerivingVia.hs" 358 1 358 9
24640                , SrcSpan "tests/examples/DerivingVia.hs" 358 21 358 29
24641                ]
24642            }
24643          (Just
24644             (DerivVia
24645                SrcSpanInfo
24646                  { srcInfoSpan =
24647                      SrcSpan "tests/examples/DerivingVia.hs" 358 10 358 13
24648                  , srcInfoPoints = []
24649                  }
24650                (TyList
24651                   SrcSpanInfo
24652                     { srcInfoSpan =
24653                         SrcSpan "tests/examples/DerivingVia.hs" 358 14 358 17
24654                     , srcInfoPoints =
24655                         [ SrcSpan "tests/examples/DerivingVia.hs" 358 14 358 15
24656                         , SrcSpan "tests/examples/DerivingVia.hs" 358 16 358 17
24657                         ]
24658                     }
24659                   (TyVar
24660                      SrcSpanInfo
24661                        { srcInfoSpan =
24662                            SrcSpan "tests/examples/DerivingVia.hs" 358 15 358 16
24663                        , srcInfoPoints = []
24664                        }
24665                      (Ident
24666                         SrcSpanInfo
24667                           { srcInfoSpan =
24668                               SrcSpan "tests/examples/DerivingVia.hs" 358 15 358 16
24669                           , srcInfoPoints = []
24670                           }
24671                         "a")))))
24672          Nothing
24673          (IRule
24674             SrcSpanInfo
24675               { srcInfoSpan =
24676                   SrcSpan "tests/examples/DerivingVia.hs" 358 30 358 59
24677               , srcInfoPoints = []
24678               }
24679             Nothing
24680             (Just
24681                (CxSingle
24682                   SrcSpanInfo
24683                     { srcInfoSpan =
24684                         SrcSpan "tests/examples/DerivingVia.hs" 358 30 358 47
24685                     , srcInfoPoints =
24686                         [ SrcSpan "tests/examples/DerivingVia.hs" 358 45 358 47 ]
24687                     }
24688                   (TypeA
24689                      SrcSpanInfo
24690                        { srcInfoSpan =
24691                            SrcSpan "tests/examples/DerivingVia.hs" 358 30 358 47
24692                        , srcInfoPoints =
24693                            [ SrcSpan "tests/examples/DerivingVia.hs" 358 45 358 47 ]
24694                        }
24695                      (TyApp
24696                         SrcSpanInfo
24697                           { srcInfoSpan =
24698                               SrcSpan "tests/examples/DerivingVia.hs" 358 30 358 47
24699                           , srcInfoPoints =
24700                               [ SrcSpan "tests/examples/DerivingVia.hs" 358 45 358 47 ]
24701                           }
24702                         (TyCon
24703                            SrcSpanInfo
24704                              { srcInfoSpan =
24705                                  SrcSpan "tests/examples/DerivingVia.hs" 358 30 358 47
24706                              , srcInfoPoints =
24707                                  [ SrcSpan "tests/examples/DerivingVia.hs" 358 45 358 47 ]
24708                              }
24709                            (UnQual
24710                               SrcSpanInfo
24711                                 { srcInfoSpan =
24712                                     SrcSpan "tests/examples/DerivingVia.hs" 358 30 358 33
24713                                 , srcInfoPoints = []
24714                                 }
24715                               (Ident
24716                                  SrcSpanInfo
24717                                    { srcInfoSpan =
24718                                        SrcSpan "tests/examples/DerivingVia.hs" 358 30 358 33
24719                                    , srcInfoPoints = []
24720                                    }
24721                                  "Ord")))
24722                         (TyVar
24723                            SrcSpanInfo
24724                              { srcInfoSpan =
24725                                  SrcSpan "tests/examples/DerivingVia.hs" 358 34 358 35
24726                              , srcInfoPoints = []
24727                              }
24728                            (Ident
24729                               SrcSpanInfo
24730                                 { srcInfoSpan =
24731                                     SrcSpan "tests/examples/DerivingVia.hs" 358 34 358 35
24732                                 , srcInfoPoints = []
24733                                 }
24734                               "a"))))))
24735             (IHApp
24736                SrcSpanInfo
24737                  { srcInfoSpan =
24738                      SrcSpan "tests/examples/DerivingVia.hs" 358 48 358 59
24739                  , srcInfoPoints = []
24740                  }
24741                (IHCon
24742                   SrcSpanInfo
24743                     { srcInfoSpan =
24744                         SrcSpan "tests/examples/DerivingVia.hs" 358 48 358 55
24745                     , srcInfoPoints = []
24746                     }
24747                   (UnQual
24748                      SrcSpanInfo
24749                        { srcInfoSpan =
24750                            SrcSpan "tests/examples/DerivingVia.hs" 358 48 358 55
24751                        , srcInfoPoints = []
24752                        }
24753                      (Ident
24754                         SrcSpanInfo
24755                           { srcInfoSpan =
24756                               SrcSpan "tests/examples/DerivingVia.hs" 358 48 358 55
24757                           , srcInfoPoints = []
24758                           }
24759                         "Lattice")))
24760                (TyList
24761                   SrcSpanInfo
24762                     { srcInfoSpan =
24763                         SrcSpan "tests/examples/DerivingVia.hs" 358 56 358 59
24764                     , srcInfoPoints =
24765                         [ SrcSpan "tests/examples/DerivingVia.hs" 358 56 358 57
24766                         , SrcSpan "tests/examples/DerivingVia.hs" 358 58 358 59
24767                         ]
24768                     }
24769                   (TyVar
24770                      SrcSpanInfo
24771                        { srcInfoSpan =
24772                            SrcSpan "tests/examples/DerivingVia.hs" 358 57 358 58
24773                        , srcInfoPoints = []
24774                        }
24775                      (Ident
24776                         SrcSpanInfo
24777                           { srcInfoSpan =
24778                               SrcSpan "tests/examples/DerivingVia.hs" 358 57 358 58
24779                           , srcInfoPoints = []
24780                           }
24781                         "a")))))
24782      , DerivDecl
24783          SrcSpanInfo
24784            { srcInfoSpan =
24785                SrcSpan "tests/examples/DerivingVia.hs" 359 1 359 62
24786            , srcInfoPoints =
24787                [ SrcSpan "tests/examples/DerivingVia.hs" 359 1 359 9
24788                , SrcSpan "tests/examples/DerivingVia.hs" 359 21 359 29
24789                ]
24790            }
24791          (Just
24792             (DerivVia
24793                SrcSpanInfo
24794                  { srcInfoSpan =
24795                      SrcSpan "tests/examples/DerivingVia.hs" 359 10 359 13
24796                  , srcInfoPoints = []
24797                  }
24798                (TyTuple
24799                   SrcSpanInfo
24800                     { srcInfoSpan =
24801                         SrcSpan "tests/examples/DerivingVia.hs" 359 14 359 20
24802                     , srcInfoPoints =
24803                         [ SrcSpan "tests/examples/DerivingVia.hs" 359 14 359 15
24804                         , SrcSpan "tests/examples/DerivingVia.hs" 359 16 359 17
24805                         , SrcSpan "tests/examples/DerivingVia.hs" 359 19 359 20
24806                         ]
24807                     }
24808                   Boxed
24809                   [ TyVar
24810                       SrcSpanInfo
24811                         { srcInfoSpan =
24812                             SrcSpan "tests/examples/DerivingVia.hs" 359 15 359 16
24813                         , srcInfoPoints = []
24814                         }
24815                       (Ident
24816                          SrcSpanInfo
24817                            { srcInfoSpan =
24818                                SrcSpan "tests/examples/DerivingVia.hs" 359 15 359 16
24819                            , srcInfoPoints = []
24820                            }
24821                          "a")
24822                   , TyVar
24823                       SrcSpanInfo
24824                         { srcInfoSpan =
24825                             SrcSpan "tests/examples/DerivingVia.hs" 359 18 359 19
24826                         , srcInfoPoints = []
24827                         }
24828                       (Ident
24829                          SrcSpanInfo
24830                            { srcInfoSpan =
24831                                SrcSpan "tests/examples/DerivingVia.hs" 359 18 359 19
24832                            , srcInfoPoints = []
24833                            }
24834                          "b")
24835                   ])))
24836          Nothing
24837          (IRule
24838             SrcSpanInfo
24839               { srcInfoSpan =
24840                   SrcSpan "tests/examples/DerivingVia.hs" 359 30 359 62
24841               , srcInfoPoints = []
24842               }
24843             Nothing
24844             (Just
24845                (CxTuple
24846                   SrcSpanInfo
24847                     { srcInfoSpan =
24848                         SrcSpan "tests/examples/DerivingVia.hs" 359 30 359 47
24849                     , srcInfoPoints =
24850                         [ SrcSpan "tests/examples/DerivingVia.hs" 359 30 359 31
24851                         , SrcSpan "tests/examples/DerivingVia.hs" 359 36 359 37
24852                         , SrcSpan "tests/examples/DerivingVia.hs" 359 43 359 44
24853                         , SrcSpan "tests/examples/DerivingVia.hs" 359 45 359 47
24854                         ]
24855                     }
24856                   [ TypeA
24857                       SrcSpanInfo
24858                         { srcInfoSpan =
24859                             SrcSpan "tests/examples/DerivingVia.hs" 359 31 359 36
24860                         , srcInfoPoints = []
24861                         }
24862                       (TyApp
24863                          SrcSpanInfo
24864                            { srcInfoSpan =
24865                                SrcSpan "tests/examples/DerivingVia.hs" 359 31 359 36
24866                            , srcInfoPoints = []
24867                            }
24868                          (TyCon
24869                             SrcSpanInfo
24870                               { srcInfoSpan =
24871                                   SrcSpan "tests/examples/DerivingVia.hs" 359 31 359 36
24872                               , srcInfoPoints = []
24873                               }
24874                             (UnQual
24875                                SrcSpanInfo
24876                                  { srcInfoSpan =
24877                                      SrcSpan "tests/examples/DerivingVia.hs" 359 31 359 34
24878                                  , srcInfoPoints = []
24879                                  }
24880                                (Ident
24881                                   SrcSpanInfo
24882                                     { srcInfoSpan =
24883                                         SrcSpan "tests/examples/DerivingVia.hs" 359 31 359 34
24884                                     , srcInfoPoints = []
24885                                     }
24886                                   "Ord")))
24887                          (TyVar
24888                             SrcSpanInfo
24889                               { srcInfoSpan =
24890                                   SrcSpan "tests/examples/DerivingVia.hs" 359 35 359 36
24891                               , srcInfoPoints = []
24892                               }
24893                             (Ident
24894                                SrcSpanInfo
24895                                  { srcInfoSpan =
24896                                      SrcSpan "tests/examples/DerivingVia.hs" 359 35 359 36
24897                                  , srcInfoPoints = []
24898                                  }
24899                                "a")))
24900                   , TypeA
24901                       SrcSpanInfo
24902                         { srcInfoSpan =
24903                             SrcSpan "tests/examples/DerivingVia.hs" 359 38 359 43
24904                         , srcInfoPoints = []
24905                         }
24906                       (TyApp
24907                          SrcSpanInfo
24908                            { srcInfoSpan =
24909                                SrcSpan "tests/examples/DerivingVia.hs" 359 38 359 43
24910                            , srcInfoPoints = []
24911                            }
24912                          (TyCon
24913                             SrcSpanInfo
24914                               { srcInfoSpan =
24915                                   SrcSpan "tests/examples/DerivingVia.hs" 359 38 359 43
24916                               , srcInfoPoints = []
24917                               }
24918                             (UnQual
24919                                SrcSpanInfo
24920                                  { srcInfoSpan =
24921                                      SrcSpan "tests/examples/DerivingVia.hs" 359 38 359 41
24922                                  , srcInfoPoints = []
24923                                  }
24924                                (Ident
24925                                   SrcSpanInfo
24926                                     { srcInfoSpan =
24927                                         SrcSpan "tests/examples/DerivingVia.hs" 359 38 359 41
24928                                     , srcInfoPoints = []
24929                                     }
24930                                   "Ord")))
24931                          (TyVar
24932                             SrcSpanInfo
24933                               { srcInfoSpan =
24934                                   SrcSpan "tests/examples/DerivingVia.hs" 359 42 359 43
24935                               , srcInfoPoints = []
24936                               }
24937                             (Ident
24938                                SrcSpanInfo
24939                                  { srcInfoSpan =
24940                                      SrcSpan "tests/examples/DerivingVia.hs" 359 42 359 43
24941                                  , srcInfoPoints = []
24942                                  }
24943                                "b")))
24944                   ]))
24945             (IHApp
24946                SrcSpanInfo
24947                  { srcInfoSpan =
24948                      SrcSpan "tests/examples/DerivingVia.hs" 359 48 359 62
24949                  , srcInfoPoints = []
24950                  }
24951                (IHCon
24952                   SrcSpanInfo
24953                     { srcInfoSpan =
24954                         SrcSpan "tests/examples/DerivingVia.hs" 359 48 359 55
24955                     , srcInfoPoints = []
24956                     }
24957                   (UnQual
24958                      SrcSpanInfo
24959                        { srcInfoSpan =
24960                            SrcSpan "tests/examples/DerivingVia.hs" 359 48 359 55
24961                        , srcInfoPoints = []
24962                        }
24963                      (Ident
24964                         SrcSpanInfo
24965                           { srcInfoSpan =
24966                               SrcSpan "tests/examples/DerivingVia.hs" 359 48 359 55
24967                           , srcInfoPoints = []
24968                           }
24969                         "Lattice")))
24970                (TyTuple
24971                   SrcSpanInfo
24972                     { srcInfoSpan =
24973                         SrcSpan "tests/examples/DerivingVia.hs" 359 56 359 62
24974                     , srcInfoPoints =
24975                         [ SrcSpan "tests/examples/DerivingVia.hs" 359 56 359 57
24976                         , SrcSpan "tests/examples/DerivingVia.hs" 359 58 359 59
24977                         , SrcSpan "tests/examples/DerivingVia.hs" 359 61 359 62
24978                         ]
24979                     }
24980                   Boxed
24981                   [ TyVar
24982                       SrcSpanInfo
24983                         { srcInfoSpan =
24984                             SrcSpan "tests/examples/DerivingVia.hs" 359 57 359 58
24985                         , srcInfoPoints = []
24986                         }
24987                       (Ident
24988                          SrcSpanInfo
24989                            { srcInfoSpan =
24990                                SrcSpan "tests/examples/DerivingVia.hs" 359 57 359 58
24991                            , srcInfoPoints = []
24992                            }
24993                          "a")
24994                   , TyVar
24995                       SrcSpanInfo
24996                         { srcInfoSpan =
24997                             SrcSpan "tests/examples/DerivingVia.hs" 359 60 359 61
24998                         , srcInfoPoints = []
24999                         }
25000                       (Ident
25001                          SrcSpanInfo
25002                            { srcInfoSpan =
25003                                SrcSpan "tests/examples/DerivingVia.hs" 359 60 359 61
25004                            , srcInfoPoints = []
25005                            }
25006                          "b")
25007                   ])))
25008      , DerivDecl
25009          SrcSpanInfo
25010            { srcInfoSpan =
25011                SrcSpan "tests/examples/DerivingVia.hs" 361 1 361 40
25012            , srcInfoPoints =
25013                [ SrcSpan "tests/examples/DerivingVia.hs" 361 1 361 9
25014                , SrcSpan "tests/examples/DerivingVia.hs" 361 19 361 27
25015                ]
25016            }
25017          (Just
25018             (DerivVia
25019                SrcSpanInfo
25020                  { srcInfoSpan =
25021                      SrcSpan "tests/examples/DerivingVia.hs" 361 10 361 13
25022                  , srcInfoPoints = []
25023                  }
25024                (TyCon
25025                   SrcSpanInfo
25026                     { srcInfoSpan =
25027                         SrcSpan "tests/examples/DerivingVia.hs" 361 14 361 18
25028                     , srcInfoPoints = []
25029                     }
25030                   (UnQual
25031                      SrcSpanInfo
25032                        { srcInfoSpan =
25033                            SrcSpan "tests/examples/DerivingVia.hs" 361 14 361 18
25034                        , srcInfoPoints = []
25035                        }
25036                      (Ident
25037                         SrcSpanInfo
25038                           { srcInfoSpan =
25039                               SrcSpan "tests/examples/DerivingVia.hs" 361 14 361 18
25040                           , srcInfoPoints = []
25041                           }
25042                         "Bool")))))
25043          Nothing
25044          (IRule
25045             SrcSpanInfo
25046               { srcInfoSpan =
25047                   SrcSpan "tests/examples/DerivingVia.hs" 361 28 361 40
25048               , srcInfoPoints = []
25049               }
25050             Nothing
25051             Nothing
25052             (IHApp
25053                SrcSpanInfo
25054                  { srcInfoSpan =
25055                      SrcSpan "tests/examples/DerivingVia.hs" 361 28 361 40
25056                  , srcInfoPoints = []
25057                  }
25058                (IHCon
25059                   SrcSpanInfo
25060                     { srcInfoSpan =
25061                         SrcSpan "tests/examples/DerivingVia.hs" 361 28 361 35
25062                     , srcInfoPoints = []
25063                     }
25064                   (UnQual
25065                      SrcSpanInfo
25066                        { srcInfoSpan =
25067                            SrcSpan "tests/examples/DerivingVia.hs" 361 28 361 35
25068                        , srcInfoPoints = []
25069                        }
25070                      (Ident
25071                         SrcSpanInfo
25072                           { srcInfoSpan =
25073                               SrcSpan "tests/examples/DerivingVia.hs" 361 28 361 35
25074                           , srcInfoPoints = []
25075                           }
25076                         "Lattice")))
25077                (TyCon
25078                   SrcSpanInfo
25079                     { srcInfoSpan =
25080                         SrcSpan "tests/examples/DerivingVia.hs" 361 36 361 40
25081                     , srcInfoPoints = []
25082                     }
25083                   (UnQual
25084                      SrcSpanInfo
25085                        { srcInfoSpan =
25086                            SrcSpan "tests/examples/DerivingVia.hs" 361 36 361 40
25087                        , srcInfoPoints = []
25088                        }
25089                      (Ident
25090                         SrcSpanInfo
25091                           { srcInfoSpan =
25092                               SrcSpan "tests/examples/DerivingVia.hs" 361 36 361 40
25093                           , srcInfoPoints = []
25094                           }
25095                         "Bool")))))
25096      , DerivDecl
25097          SrcSpanInfo
25098            { srcInfoSpan =
25099                SrcSpan "tests/examples/DerivingVia.hs" 363 1 363 40
25100            , srcInfoPoints =
25101                [ SrcSpan "tests/examples/DerivingVia.hs" 363 1 363 9
25102                , SrcSpan "tests/examples/DerivingVia.hs" 363 19 363 27
25103                ]
25104            }
25105          (Just
25106             (DerivVia
25107                SrcSpanInfo
25108                  { srcInfoSpan =
25109                      SrcSpan "tests/examples/DerivingVia.hs" 363 10 363 13
25110                  , srcInfoPoints = []
25111                  }
25112                (TyCon
25113                   SrcSpanInfo
25114                     { srcInfoSpan =
25115                         SrcSpan "tests/examples/DerivingVia.hs" 363 14 363 18
25116                     , srcInfoPoints = []
25117                     }
25118                   (UnQual
25119                      SrcSpanInfo
25120                        { srcInfoSpan =
25121                            SrcSpan "tests/examples/DerivingVia.hs" 363 14 363 18
25122                        , srcInfoPoints = []
25123                        }
25124                      (Ident
25125                         SrcSpanInfo
25126                           { srcInfoSpan =
25127                               SrcSpan "tests/examples/DerivingVia.hs" 363 14 363 18
25128                           , srcInfoPoints = []
25129                           }
25130                         "Char")))))
25131          Nothing
25132          (IRule
25133             SrcSpanInfo
25134               { srcInfoSpan =
25135                   SrcSpan "tests/examples/DerivingVia.hs" 363 28 363 40
25136               , srcInfoPoints = []
25137               }
25138             Nothing
25139             Nothing
25140             (IHApp
25141                SrcSpanInfo
25142                  { srcInfoSpan =
25143                      SrcSpan "tests/examples/DerivingVia.hs" 363 28 363 40
25144                  , srcInfoPoints = []
25145                  }
25146                (IHCon
25147                   SrcSpanInfo
25148                     { srcInfoSpan =
25149                         SrcSpan "tests/examples/DerivingVia.hs" 363 28 363 35
25150                     , srcInfoPoints = []
25151                     }
25152                   (UnQual
25153                      SrcSpanInfo
25154                        { srcInfoSpan =
25155                            SrcSpan "tests/examples/DerivingVia.hs" 363 28 363 35
25156                        , srcInfoPoints = []
25157                        }
25158                      (Ident
25159                         SrcSpanInfo
25160                           { srcInfoSpan =
25161                               SrcSpan "tests/examples/DerivingVia.hs" 363 28 363 35
25162                           , srcInfoPoints = []
25163                           }
25164                         "Lattice")))
25165                (TyCon
25166                   SrcSpanInfo
25167                     { srcInfoSpan =
25168                         SrcSpan "tests/examples/DerivingVia.hs" 363 36 363 40
25169                     , srcInfoPoints = []
25170                     }
25171                   (UnQual
25172                      SrcSpanInfo
25173                        { srcInfoSpan =
25174                            SrcSpan "tests/examples/DerivingVia.hs" 363 36 363 40
25175                        , srcInfoPoints = []
25176                        }
25177                      (Ident
25178                         SrcSpanInfo
25179                           { srcInfoSpan =
25180                               SrcSpan "tests/examples/DerivingVia.hs" 363 36 363 40
25181                           , srcInfoPoints = []
25182                           }
25183                         "Char")))))
25184      , DerivDecl
25185          SrcSpanInfo
25186            { srcInfoSpan =
25187                SrcSpan "tests/examples/DerivingVia.hs" 365 1 365 38
25188            , srcInfoPoints =
25189                [ SrcSpan "tests/examples/DerivingVia.hs" 365 1 365 9
25190                , SrcSpan "tests/examples/DerivingVia.hs" 365 18 365 26
25191                ]
25192            }
25193          (Just
25194             (DerivVia
25195                SrcSpanInfo
25196                  { srcInfoSpan =
25197                      SrcSpan "tests/examples/DerivingVia.hs" 365 10 365 13
25198                  , srcInfoPoints = []
25199                  }
25200                (TyCon
25201                   SrcSpanInfo
25202                     { srcInfoSpan =
25203                         SrcSpan "tests/examples/DerivingVia.hs" 365 14 365 17
25204                     , srcInfoPoints = []
25205                     }
25206                   (UnQual
25207                      SrcSpanInfo
25208                        { srcInfoSpan =
25209                            SrcSpan "tests/examples/DerivingVia.hs" 365 14 365 17
25210                        , srcInfoPoints = []
25211                        }
25212                      (Ident
25213                         SrcSpanInfo
25214                           { srcInfoSpan =
25215                               SrcSpan "tests/examples/DerivingVia.hs" 365 14 365 17
25216                           , srcInfoPoints = []
25217                           }
25218                         "Int")))))
25219          Nothing
25220          (IRule
25221             SrcSpanInfo
25222               { srcInfoSpan =
25223                   SrcSpan "tests/examples/DerivingVia.hs" 365 27 365 38
25224               , srcInfoPoints = []
25225               }
25226             Nothing
25227             Nothing
25228             (IHApp
25229                SrcSpanInfo
25230                  { srcInfoSpan =
25231                      SrcSpan "tests/examples/DerivingVia.hs" 365 27 365 38
25232                  , srcInfoPoints = []
25233                  }
25234                (IHCon
25235                   SrcSpanInfo
25236                     { srcInfoSpan =
25237                         SrcSpan "tests/examples/DerivingVia.hs" 365 27 365 34
25238                     , srcInfoPoints = []
25239                     }
25240                   (UnQual
25241                      SrcSpanInfo
25242                        { srcInfoSpan =
25243                            SrcSpan "tests/examples/DerivingVia.hs" 365 27 365 34
25244                        , srcInfoPoints = []
25245                        }
25246                      (Ident
25247                         SrcSpanInfo
25248                           { srcInfoSpan =
25249                               SrcSpan "tests/examples/DerivingVia.hs" 365 27 365 34
25250                           , srcInfoPoints = []
25251                           }
25252                         "Lattice")))
25253                (TyCon
25254                   SrcSpanInfo
25255                     { srcInfoSpan =
25256                         SrcSpan "tests/examples/DerivingVia.hs" 365 35 365 38
25257                     , srcInfoPoints = []
25258                     }
25259                   (UnQual
25260                      SrcSpanInfo
25261                        { srcInfoSpan =
25262                            SrcSpan "tests/examples/DerivingVia.hs" 365 35 365 38
25263                        , srcInfoPoints = []
25264                        }
25265                      (Ident
25266                         SrcSpanInfo
25267                           { srcInfoSpan =
25268                               SrcSpan "tests/examples/DerivingVia.hs" 365 35 365 38
25269                           , srcInfoPoints = []
25270                           }
25271                         "Int")))))
25272      , DerivDecl
25273          SrcSpanInfo
25274            { srcInfoSpan =
25275                SrcSpan "tests/examples/DerivingVia.hs" 367 1 367 46
25276            , srcInfoPoints =
25277                [ SrcSpan "tests/examples/DerivingVia.hs" 367 1 367 9
25278                , SrcSpan "tests/examples/DerivingVia.hs" 367 22 367 30
25279                ]
25280            }
25281          (Just
25282             (DerivVia
25283                SrcSpanInfo
25284                  { srcInfoSpan =
25285                      SrcSpan "tests/examples/DerivingVia.hs" 367 10 367 13
25286                  , srcInfoPoints = []
25287                  }
25288                (TyCon
25289                   SrcSpanInfo
25290                     { srcInfoSpan =
25291                         SrcSpan "tests/examples/DerivingVia.hs" 367 14 367 21
25292                     , srcInfoPoints = []
25293                     }
25294                   (UnQual
25295                      SrcSpanInfo
25296                        { srcInfoSpan =
25297                            SrcSpan "tests/examples/DerivingVia.hs" 367 14 367 21
25298                        , srcInfoPoints = []
25299                        }
25300                      (Ident
25301                         SrcSpanInfo
25302                           { srcInfoSpan =
25303                               SrcSpan "tests/examples/DerivingVia.hs" 367 14 367 21
25304                           , srcInfoPoints = []
25305                           }
25306                         "Integer")))))
25307          Nothing
25308          (IRule
25309             SrcSpanInfo
25310               { srcInfoSpan =
25311                   SrcSpan "tests/examples/DerivingVia.hs" 367 31 367 46
25312               , srcInfoPoints = []
25313               }
25314             Nothing
25315             Nothing
25316             (IHApp
25317                SrcSpanInfo
25318                  { srcInfoSpan =
25319                      SrcSpan "tests/examples/DerivingVia.hs" 367 31 367 46
25320                  , srcInfoPoints = []
25321                  }
25322                (IHCon
25323                   SrcSpanInfo
25324                     { srcInfoSpan =
25325                         SrcSpan "tests/examples/DerivingVia.hs" 367 31 367 38
25326                     , srcInfoPoints = []
25327                     }
25328                   (UnQual
25329                      SrcSpanInfo
25330                        { srcInfoSpan =
25331                            SrcSpan "tests/examples/DerivingVia.hs" 367 31 367 38
25332                        , srcInfoPoints = []
25333                        }
25334                      (Ident
25335                         SrcSpanInfo
25336                           { srcInfoSpan =
25337                               SrcSpan "tests/examples/DerivingVia.hs" 367 31 367 38
25338                           , srcInfoPoints = []
25339                           }
25340                         "Lattice")))
25341                (TyCon
25342                   SrcSpanInfo
25343                     { srcInfoSpan =
25344                         SrcSpan "tests/examples/DerivingVia.hs" 367 39 367 46
25345                     , srcInfoPoints = []
25346                     }
25347                   (UnQual
25348                      SrcSpanInfo
25349                        { srcInfoSpan =
25350                            SrcSpan "tests/examples/DerivingVia.hs" 367 39 367 46
25351                        , srcInfoPoints = []
25352                        }
25353                      (Ident
25354                         SrcSpanInfo
25355                           { srcInfoSpan =
25356                               SrcSpan "tests/examples/DerivingVia.hs" 367 39 367 46
25357                           , srcInfoPoints = []
25358                           }
25359                         "Integer")))))
25360      , DerivDecl
25361          SrcSpanInfo
25362            { srcInfoSpan =
25363                SrcSpan "tests/examples/DerivingVia.hs" 369 1 369 42
25364            , srcInfoPoints =
25365                [ SrcSpan "tests/examples/DerivingVia.hs" 369 1 369 9
25366                , SrcSpan "tests/examples/DerivingVia.hs" 369 20 369 28
25367                ]
25368            }
25369          (Just
25370             (DerivVia
25371                SrcSpanInfo
25372                  { srcInfoSpan =
25373                      SrcSpan "tests/examples/DerivingVia.hs" 369 10 369 13
25374                  , srcInfoPoints = []
25375                  }
25376                (TyCon
25377                   SrcSpanInfo
25378                     { srcInfoSpan =
25379                         SrcSpan "tests/examples/DerivingVia.hs" 369 14 369 19
25380                     , srcInfoPoints = []
25381                     }
25382                   (UnQual
25383                      SrcSpanInfo
25384                        { srcInfoSpan =
25385                            SrcSpan "tests/examples/DerivingVia.hs" 369 14 369 19
25386                        , srcInfoPoints = []
25387                        }
25388                      (Ident
25389                         SrcSpanInfo
25390                           { srcInfoSpan =
25391                               SrcSpan "tests/examples/DerivingVia.hs" 369 14 369 19
25392                           , srcInfoPoints = []
25393                           }
25394                         "Float")))))
25395          Nothing
25396          (IRule
25397             SrcSpanInfo
25398               { srcInfoSpan =
25399                   SrcSpan "tests/examples/DerivingVia.hs" 369 29 369 42
25400               , srcInfoPoints = []
25401               }
25402             Nothing
25403             Nothing
25404             (IHApp
25405                SrcSpanInfo
25406                  { srcInfoSpan =
25407                      SrcSpan "tests/examples/DerivingVia.hs" 369 29 369 42
25408                  , srcInfoPoints = []
25409                  }
25410                (IHCon
25411                   SrcSpanInfo
25412                     { srcInfoSpan =
25413                         SrcSpan "tests/examples/DerivingVia.hs" 369 29 369 36
25414                     , srcInfoPoints = []
25415                     }
25416                   (UnQual
25417                      SrcSpanInfo
25418                        { srcInfoSpan =
25419                            SrcSpan "tests/examples/DerivingVia.hs" 369 29 369 36
25420                        , srcInfoPoints = []
25421                        }
25422                      (Ident
25423                         SrcSpanInfo
25424                           { srcInfoSpan =
25425                               SrcSpan "tests/examples/DerivingVia.hs" 369 29 369 36
25426                           , srcInfoPoints = []
25427                           }
25428                         "Lattice")))
25429                (TyCon
25430                   SrcSpanInfo
25431                     { srcInfoSpan =
25432                         SrcSpan "tests/examples/DerivingVia.hs" 369 37 369 42
25433                     , srcInfoPoints = []
25434                     }
25435                   (UnQual
25436                      SrcSpanInfo
25437                        { srcInfoSpan =
25438                            SrcSpan "tests/examples/DerivingVia.hs" 369 37 369 42
25439                        , srcInfoPoints = []
25440                        }
25441                      (Ident
25442                         SrcSpanInfo
25443                           { srcInfoSpan =
25444                               SrcSpan "tests/examples/DerivingVia.hs" 369 37 369 42
25445                           , srcInfoPoints = []
25446                           }
25447                         "Float")))))
25448      , DerivDecl
25449          SrcSpanInfo
25450            { srcInfoSpan =
25451                SrcSpan "tests/examples/DerivingVia.hs" 371 1 371 44
25452            , srcInfoPoints =
25453                [ SrcSpan "tests/examples/DerivingVia.hs" 371 1 371 9
25454                , SrcSpan "tests/examples/DerivingVia.hs" 371 21 371 29
25455                ]
25456            }
25457          (Just
25458             (DerivVia
25459                SrcSpanInfo
25460                  { srcInfoSpan =
25461                      SrcSpan "tests/examples/DerivingVia.hs" 371 10 371 13
25462                  , srcInfoPoints = []
25463                  }
25464                (TyCon
25465                   SrcSpanInfo
25466                     { srcInfoSpan =
25467                         SrcSpan "tests/examples/DerivingVia.hs" 371 14 371 20
25468                     , srcInfoPoints = []
25469                     }
25470                   (UnQual
25471                      SrcSpanInfo
25472                        { srcInfoSpan =
25473                            SrcSpan "tests/examples/DerivingVia.hs" 371 14 371 20
25474                        , srcInfoPoints = []
25475                        }
25476                      (Ident
25477                         SrcSpanInfo
25478                           { srcInfoSpan =
25479                               SrcSpan "tests/examples/DerivingVia.hs" 371 14 371 20
25480                           , srcInfoPoints = []
25481                           }
25482                         "Double")))))
25483          Nothing
25484          (IRule
25485             SrcSpanInfo
25486               { srcInfoSpan =
25487                   SrcSpan "tests/examples/DerivingVia.hs" 371 30 371 44
25488               , srcInfoPoints = []
25489               }
25490             Nothing
25491             Nothing
25492             (IHApp
25493                SrcSpanInfo
25494                  { srcInfoSpan =
25495                      SrcSpan "tests/examples/DerivingVia.hs" 371 30 371 44
25496                  , srcInfoPoints = []
25497                  }
25498                (IHCon
25499                   SrcSpanInfo
25500                     { srcInfoSpan =
25501                         SrcSpan "tests/examples/DerivingVia.hs" 371 30 371 37
25502                     , srcInfoPoints = []
25503                     }
25504                   (UnQual
25505                      SrcSpanInfo
25506                        { srcInfoSpan =
25507                            SrcSpan "tests/examples/DerivingVia.hs" 371 30 371 37
25508                        , srcInfoPoints = []
25509                        }
25510                      (Ident
25511                         SrcSpanInfo
25512                           { srcInfoSpan =
25513                               SrcSpan "tests/examples/DerivingVia.hs" 371 30 371 37
25514                           , srcInfoPoints = []
25515                           }
25516                         "Lattice")))
25517                (TyCon
25518                   SrcSpanInfo
25519                     { srcInfoSpan =
25520                         SrcSpan "tests/examples/DerivingVia.hs" 371 38 371 44
25521                     , srcInfoPoints = []
25522                     }
25523                   (UnQual
25524                      SrcSpanInfo
25525                        { srcInfoSpan =
25526                            SrcSpan "tests/examples/DerivingVia.hs" 371 38 371 44
25527                        , srcInfoPoints = []
25528                        }
25529                      (Ident
25530                         SrcSpanInfo
25531                           { srcInfoSpan =
25532                               SrcSpan "tests/examples/DerivingVia.hs" 371 38 371 44
25533                           , srcInfoPoints = []
25534                           }
25535                         "Double")))))
25536      , DerivDecl
25537          SrcSpanInfo
25538            { srcInfoSpan =
25539                SrcSpan "tests/examples/DerivingVia.hs" 373 1 373 48
25540            , srcInfoPoints =
25541                [ SrcSpan "tests/examples/DerivingVia.hs" 373 1 373 9
25542                , SrcSpan "tests/examples/DerivingVia.hs" 373 23 373 31
25543                ]
25544            }
25545          (Just
25546             (DerivVia
25547                SrcSpanInfo
25548                  { srcInfoSpan =
25549                      SrcSpan "tests/examples/DerivingVia.hs" 373 10 373 13
25550                  , srcInfoPoints = []
25551                  }
25552                (TyCon
25553                   SrcSpanInfo
25554                     { srcInfoSpan =
25555                         SrcSpan "tests/examples/DerivingVia.hs" 373 14 373 22
25556                     , srcInfoPoints = []
25557                     }
25558                   (UnQual
25559                      SrcSpanInfo
25560                        { srcInfoSpan =
25561                            SrcSpan "tests/examples/DerivingVia.hs" 373 14 373 22
25562                        , srcInfoPoints = []
25563                        }
25564                      (Ident
25565                         SrcSpanInfo
25566                           { srcInfoSpan =
25567                               SrcSpan "tests/examples/DerivingVia.hs" 373 14 373 22
25568                           , srcInfoPoints = []
25569                           }
25570                         "Rational")))))
25571          Nothing
25572          (IRule
25573             SrcSpanInfo
25574               { srcInfoSpan =
25575                   SrcSpan "tests/examples/DerivingVia.hs" 373 32 373 48
25576               , srcInfoPoints = []
25577               }
25578             Nothing
25579             Nothing
25580             (IHApp
25581                SrcSpanInfo
25582                  { srcInfoSpan =
25583                      SrcSpan "tests/examples/DerivingVia.hs" 373 32 373 48
25584                  , srcInfoPoints = []
25585                  }
25586                (IHCon
25587                   SrcSpanInfo
25588                     { srcInfoSpan =
25589                         SrcSpan "tests/examples/DerivingVia.hs" 373 32 373 39
25590                     , srcInfoPoints = []
25591                     }
25592                   (UnQual
25593                      SrcSpanInfo
25594                        { srcInfoSpan =
25595                            SrcSpan "tests/examples/DerivingVia.hs" 373 32 373 39
25596                        , srcInfoPoints = []
25597                        }
25598                      (Ident
25599                         SrcSpanInfo
25600                           { srcInfoSpan =
25601                               SrcSpan "tests/examples/DerivingVia.hs" 373 32 373 39
25602                           , srcInfoPoints = []
25603                           }
25604                         "Lattice")))
25605                (TyCon
25606                   SrcSpanInfo
25607                     { srcInfoSpan =
25608                         SrcSpan "tests/examples/DerivingVia.hs" 373 40 373 48
25609                     , srcInfoPoints = []
25610                     }
25611                   (UnQual
25612                      SrcSpanInfo
25613                        { srcInfoSpan =
25614                            SrcSpan "tests/examples/DerivingVia.hs" 373 40 373 48
25615                        , srcInfoPoints = []
25616                        }
25617                      (Ident
25618                         SrcSpanInfo
25619                           { srcInfoSpan =
25620                               SrcSpan "tests/examples/DerivingVia.hs" 373 40 373 48
25621                           , srcInfoPoints = []
25622                           }
25623                         "Rational")))))
25624      , ClassDecl
25625          SrcSpanInfo
25626            { srcInfoSpan =
25627                SrcSpan "tests/examples/DerivingVia.hs" 380 1 386 47
25628            , srcInfoPoints =
25629                [ SrcSpan "tests/examples/DerivingVia.hs" 380 1 380 6
25630                , SrcSpan "tests/examples/DerivingVia.hs" 380 31 380 36
25631                , SrcSpan "tests/examples/DerivingVia.hs" 381 3 381 3
25632                , SrcSpan "tests/examples/DerivingVia.hs" 382 3 382 3
25633                , SrcSpan "tests/examples/DerivingVia.hs" 383 3 383 3
25634                , SrcSpan "tests/examples/DerivingVia.hs" 384 3 384 3
25635                , SrcSpan "tests/examples/DerivingVia.hs" 385 3 385 3
25636                , SrcSpan "tests/examples/DerivingVia.hs" 386 3 386 3
25637                , SrcSpan "tests/examples/DerivingVia.hs" 388 1 388 0
25638                ]
25639            }
25640          (Just
25641             (CxSingle
25642                SrcSpanInfo
25643                  { srcInfoSpan =
25644                      SrcSpan "tests/examples/DerivingVia.hs" 380 7 380 19
25645                  , srcInfoPoints =
25646                      [ SrcSpan "tests/examples/DerivingVia.hs" 380 17 380 19 ]
25647                  }
25648                (TypeA
25649                   SrcSpanInfo
25650                     { srcInfoSpan =
25651                         SrcSpan "tests/examples/DerivingVia.hs" 380 7 380 19
25652                     , srcInfoPoints =
25653                         [ SrcSpan "tests/examples/DerivingVia.hs" 380 17 380 19 ]
25654                     }
25655                   (TyApp
25656                      SrcSpanInfo
25657                        { srcInfoSpan =
25658                            SrcSpan "tests/examples/DerivingVia.hs" 380 7 380 19
25659                        , srcInfoPoints =
25660                            [ SrcSpan "tests/examples/DerivingVia.hs" 380 17 380 19 ]
25661                        }
25662                      (TyCon
25663                         SrcSpanInfo
25664                           { srcInfoSpan =
25665                               SrcSpan "tests/examples/DerivingVia.hs" 380 7 380 19
25666                           , srcInfoPoints =
25667                               [ SrcSpan "tests/examples/DerivingVia.hs" 380 17 380 19 ]
25668                           }
25669                         (UnQual
25670                            SrcSpanInfo
25671                              { srcInfoSpan =
25672                                  SrcSpan "tests/examples/DerivingVia.hs" 380 7 380 14
25673                              , srcInfoPoints = []
25674                              }
25675                            (Ident
25676                               SrcSpanInfo
25677                                 { srcInfoSpan =
25678                                     SrcSpan "tests/examples/DerivingVia.hs" 380 7 380 14
25679                                 , srcInfoPoints = []
25680                                 }
25681                               "Functor")))
25682                      (TyVar
25683                         SrcSpanInfo
25684                           { srcInfoSpan =
25685                               SrcSpan "tests/examples/DerivingVia.hs" 380 15 380 16
25686                           , srcInfoPoints = []
25687                           }
25688                         (Ident
25689                            SrcSpanInfo
25690                              { srcInfoSpan =
25691                                  SrcSpan "tests/examples/DerivingVia.hs" 380 15 380 16
25692                              , srcInfoPoints = []
25693                              }
25694                            "f"))))))
25695          (DHApp
25696             SrcSpanInfo
25697               { srcInfoSpan =
25698                   SrcSpan "tests/examples/DerivingVia.hs" 380 20 380 30
25699               , srcInfoPoints = []
25700               }
25701             (DHead
25702                SrcSpanInfo
25703                  { srcInfoSpan =
25704                      SrcSpan "tests/examples/DerivingVia.hs" 380 20 380 28
25705                  , srcInfoPoints = []
25706                  }
25707                (Ident
25708                   SrcSpanInfo
25709                     { srcInfoSpan =
25710                         SrcSpan "tests/examples/DerivingVia.hs" 380 20 380 28
25711                     , srcInfoPoints = []
25712                     }
25713                   "Additive"))
25714             (UnkindedVar
25715                SrcSpanInfo
25716                  { srcInfoSpan =
25717                      SrcSpan "tests/examples/DerivingVia.hs" 380 29 380 30
25718                  , srcInfoPoints = []
25719                  }
25720                (Ident
25721                   SrcSpanInfo
25722                     { srcInfoSpan =
25723                         SrcSpan "tests/examples/DerivingVia.hs" 380 29 380 30
25724                     , srcInfoPoints = []
25725                     }
25726                   "f")))
25727          []
25728          (Just
25729             [ ClsDecl
25730                 SrcSpanInfo
25731                   { srcInfoSpan =
25732                       SrcSpan "tests/examples/DerivingVia.hs" 381 3 381 23
25733                   , srcInfoPoints =
25734                       [ SrcSpan "tests/examples/DerivingVia.hs" 381 8 381 10 ]
25735                   }
25736                 (TypeSig
25737                    SrcSpanInfo
25738                      { srcInfoSpan =
25739                          SrcSpan "tests/examples/DerivingVia.hs" 381 3 381 23
25740                      , srcInfoPoints =
25741                          [ SrcSpan "tests/examples/DerivingVia.hs" 381 8 381 10 ]
25742                      }
25743                    [ Ident
25744                        SrcSpanInfo
25745                          { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 381 3 381 7
25746                          , srcInfoPoints = []
25747                          }
25748                        "zero"
25749                    ]
25750                    (TyForall
25751                       SrcSpanInfo
25752                         { srcInfoSpan =
25753                             SrcSpan "tests/examples/DerivingVia.hs" 381 11 381 23
25754                         , srcInfoPoints = []
25755                         }
25756                       Nothing
25757                       (Just
25758                          (CxSingle
25759                             SrcSpanInfo
25760                               { srcInfoSpan =
25761                                   SrcSpan "tests/examples/DerivingVia.hs" 381 11 381 19
25762                               , srcInfoPoints =
25763                                   [ SrcSpan "tests/examples/DerivingVia.hs" 381 17 381 19 ]
25764                               }
25765                             (TypeA
25766                                SrcSpanInfo
25767                                  { srcInfoSpan =
25768                                      SrcSpan "tests/examples/DerivingVia.hs" 381 11 381 19
25769                                  , srcInfoPoints =
25770                                      [ SrcSpan "tests/examples/DerivingVia.hs" 381 17 381 19 ]
25771                                  }
25772                                (TyApp
25773                                   SrcSpanInfo
25774                                     { srcInfoSpan =
25775                                         SrcSpan "tests/examples/DerivingVia.hs" 381 11 381 19
25776                                     , srcInfoPoints =
25777                                         [ SrcSpan "tests/examples/DerivingVia.hs" 381 17 381 19 ]
25778                                     }
25779                                   (TyCon
25780                                      SrcSpanInfo
25781                                        { srcInfoSpan =
25782                                            SrcSpan "tests/examples/DerivingVia.hs" 381 11 381 19
25783                                        , srcInfoPoints =
25784                                            [ SrcSpan "tests/examples/DerivingVia.hs" 381 17 381 19
25785                                            ]
25786                                        }
25787                                      (UnQual
25788                                         SrcSpanInfo
25789                                           { srcInfoSpan =
25790                                               SrcSpan "tests/examples/DerivingVia.hs" 381 11 381 14
25791                                           , srcInfoPoints = []
25792                                           }
25793                                         (Ident
25794                                            SrcSpanInfo
25795                                              { srcInfoSpan =
25796                                                  SrcSpan
25797                                                    "tests/examples/DerivingVia.hs" 381 11 381 14
25798                                              , srcInfoPoints = []
25799                                              }
25800                                            "Num")))
25801                                   (TyVar
25802                                      SrcSpanInfo
25803                                        { srcInfoSpan =
25804                                            SrcSpan "tests/examples/DerivingVia.hs" 381 15 381 16
25805                                        , srcInfoPoints = []
25806                                        }
25807                                      (Ident
25808                                         SrcSpanInfo
25809                                           { srcInfoSpan =
25810                                               SrcSpan "tests/examples/DerivingVia.hs" 381 15 381 16
25811                                           , srcInfoPoints = []
25812                                           }
25813                                         "a"))))))
25814                       (TyApp
25815                          SrcSpanInfo
25816                            { srcInfoSpan =
25817                                SrcSpan "tests/examples/DerivingVia.hs" 381 20 381 23
25818                            , srcInfoPoints = []
25819                            }
25820                          (TyVar
25821                             SrcSpanInfo
25822                               { srcInfoSpan =
25823                                   SrcSpan "tests/examples/DerivingVia.hs" 381 20 381 21
25824                               , srcInfoPoints = []
25825                               }
25826                             (Ident
25827                                SrcSpanInfo
25828                                  { srcInfoSpan =
25829                                      SrcSpan "tests/examples/DerivingVia.hs" 381 20 381 21
25830                                  , srcInfoPoints = []
25831                                  }
25832                                "f"))
25833                          (TyVar
25834                             SrcSpanInfo
25835                               { srcInfoSpan =
25836                                   SrcSpan "tests/examples/DerivingVia.hs" 381 22 381 23
25837                               , srcInfoPoints = []
25838                               }
25839                             (Ident
25840                                SrcSpanInfo
25841                                  { srcInfoSpan =
25842                                      SrcSpan "tests/examples/DerivingVia.hs" 381 22 381 23
25843                                  , srcInfoPoints = []
25844                                  }
25845                                "a")))))
25846             , ClsDecl
25847                 SrcSpanInfo
25848                   { srcInfoSpan =
25849                       SrcSpan "tests/examples/DerivingVia.hs" 382 3 382 38
25850                   , srcInfoPoints =
25851                       [ SrcSpan "tests/examples/DerivingVia.hs" 382 9 382 11 ]
25852                   }
25853                 (TypeSig
25854                    SrcSpanInfo
25855                      { srcInfoSpan =
25856                          SrcSpan "tests/examples/DerivingVia.hs" 382 3 382 38
25857                      , srcInfoPoints =
25858                          [ SrcSpan "tests/examples/DerivingVia.hs" 382 9 382 11 ]
25859                      }
25860                    [ Symbol
25861                        SrcSpanInfo
25862                          { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 382 3 382 8
25863                          , srcInfoPoints =
25864                              [ SrcSpan "tests/examples/DerivingVia.hs" 382 3 382 4
25865                              , SrcSpan "tests/examples/DerivingVia.hs" 382 4 382 7
25866                              , SrcSpan "tests/examples/DerivingVia.hs" 382 7 382 8
25867                              ]
25868                          }
25869                        "^+^"
25870                    ]
25871                    (TyForall
25872                       SrcSpanInfo
25873                         { srcInfoSpan =
25874                             SrcSpan "tests/examples/DerivingVia.hs" 382 12 382 38
25875                         , srcInfoPoints = []
25876                         }
25877                       Nothing
25878                       (Just
25879                          (CxSingle
25880                             SrcSpanInfo
25881                               { srcInfoSpan =
25882                                   SrcSpan "tests/examples/DerivingVia.hs" 382 12 382 20
25883                               , srcInfoPoints =
25884                                   [ SrcSpan "tests/examples/DerivingVia.hs" 382 18 382 20 ]
25885                               }
25886                             (TypeA
25887                                SrcSpanInfo
25888                                  { srcInfoSpan =
25889                                      SrcSpan "tests/examples/DerivingVia.hs" 382 12 382 20
25890                                  , srcInfoPoints =
25891                                      [ SrcSpan "tests/examples/DerivingVia.hs" 382 18 382 20 ]
25892                                  }
25893                                (TyApp
25894                                   SrcSpanInfo
25895                                     { srcInfoSpan =
25896                                         SrcSpan "tests/examples/DerivingVia.hs" 382 12 382 20
25897                                     , srcInfoPoints =
25898                                         [ SrcSpan "tests/examples/DerivingVia.hs" 382 18 382 20 ]
25899                                     }
25900                                   (TyCon
25901                                      SrcSpanInfo
25902                                        { srcInfoSpan =
25903                                            SrcSpan "tests/examples/DerivingVia.hs" 382 12 382 20
25904                                        , srcInfoPoints =
25905                                            [ SrcSpan "tests/examples/DerivingVia.hs" 382 18 382 20
25906                                            ]
25907                                        }
25908                                      (UnQual
25909                                         SrcSpanInfo
25910                                           { srcInfoSpan =
25911                                               SrcSpan "tests/examples/DerivingVia.hs" 382 12 382 15
25912                                           , srcInfoPoints = []
25913                                           }
25914                                         (Ident
25915                                            SrcSpanInfo
25916                                              { srcInfoSpan =
25917                                                  SrcSpan
25918                                                    "tests/examples/DerivingVia.hs" 382 12 382 15
25919                                              , srcInfoPoints = []
25920                                              }
25921                                            "Num")))
25922                                   (TyVar
25923                                      SrcSpanInfo
25924                                        { srcInfoSpan =
25925                                            SrcSpan "tests/examples/DerivingVia.hs" 382 16 382 17
25926                                        , srcInfoPoints = []
25927                                        }
25928                                      (Ident
25929                                         SrcSpanInfo
25930                                           { srcInfoSpan =
25931                                               SrcSpan "tests/examples/DerivingVia.hs" 382 16 382 17
25932                                           , srcInfoPoints = []
25933                                           }
25934                                         "a"))))))
25935                       (TyFun
25936                          SrcSpanInfo
25937                            { srcInfoSpan =
25938                                SrcSpan "tests/examples/DerivingVia.hs" 382 21 382 38
25939                            , srcInfoPoints =
25940                                [ SrcSpan "tests/examples/DerivingVia.hs" 382 25 382 27 ]
25941                            }
25942                          (TyApp
25943                             SrcSpanInfo
25944                               { srcInfoSpan =
25945                                   SrcSpan "tests/examples/DerivingVia.hs" 382 21 382 24
25946                               , srcInfoPoints = []
25947                               }
25948                             (TyVar
25949                                SrcSpanInfo
25950                                  { srcInfoSpan =
25951                                      SrcSpan "tests/examples/DerivingVia.hs" 382 21 382 22
25952                                  , srcInfoPoints = []
25953                                  }
25954                                (Ident
25955                                   SrcSpanInfo
25956                                     { srcInfoSpan =
25957                                         SrcSpan "tests/examples/DerivingVia.hs" 382 21 382 22
25958                                     , srcInfoPoints = []
25959                                     }
25960                                   "f"))
25961                             (TyVar
25962                                SrcSpanInfo
25963                                  { srcInfoSpan =
25964                                      SrcSpan "tests/examples/DerivingVia.hs" 382 23 382 24
25965                                  , srcInfoPoints = []
25966                                  }
25967                                (Ident
25968                                   SrcSpanInfo
25969                                     { srcInfoSpan =
25970                                         SrcSpan "tests/examples/DerivingVia.hs" 382 23 382 24
25971                                     , srcInfoPoints = []
25972                                     }
25973                                   "a")))
25974                          (TyFun
25975                             SrcSpanInfo
25976                               { srcInfoSpan =
25977                                   SrcSpan "tests/examples/DerivingVia.hs" 382 28 382 38
25978                               , srcInfoPoints =
25979                                   [ SrcSpan "tests/examples/DerivingVia.hs" 382 32 382 34 ]
25980                               }
25981                             (TyApp
25982                                SrcSpanInfo
25983                                  { srcInfoSpan =
25984                                      SrcSpan "tests/examples/DerivingVia.hs" 382 28 382 31
25985                                  , srcInfoPoints = []
25986                                  }
25987                                (TyVar
25988                                   SrcSpanInfo
25989                                     { srcInfoSpan =
25990                                         SrcSpan "tests/examples/DerivingVia.hs" 382 28 382 29
25991                                     , srcInfoPoints = []
25992                                     }
25993                                   (Ident
25994                                      SrcSpanInfo
25995                                        { srcInfoSpan =
25996                                            SrcSpan "tests/examples/DerivingVia.hs" 382 28 382 29
25997                                        , srcInfoPoints = []
25998                                        }
25999                                      "f"))
26000                                (TyVar
26001                                   SrcSpanInfo
26002                                     { srcInfoSpan =
26003                                         SrcSpan "tests/examples/DerivingVia.hs" 382 30 382 31
26004                                     , srcInfoPoints = []
26005                                     }
26006                                   (Ident
26007                                      SrcSpanInfo
26008                                        { srcInfoSpan =
26009                                            SrcSpan "tests/examples/DerivingVia.hs" 382 30 382 31
26010                                        , srcInfoPoints = []
26011                                        }
26012                                      "a")))
26013                             (TyApp
26014                                SrcSpanInfo
26015                                  { srcInfoSpan =
26016                                      SrcSpan "tests/examples/DerivingVia.hs" 382 35 382 38
26017                                  , srcInfoPoints = []
26018                                  }
26019                                (TyVar
26020                                   SrcSpanInfo
26021                                     { srcInfoSpan =
26022                                         SrcSpan "tests/examples/DerivingVia.hs" 382 35 382 36
26023                                     , srcInfoPoints = []
26024                                     }
26025                                   (Ident
26026                                      SrcSpanInfo
26027                                        { srcInfoSpan =
26028                                            SrcSpan "tests/examples/DerivingVia.hs" 382 35 382 36
26029                                        , srcInfoPoints = []
26030                                        }
26031                                      "f"))
26032                                (TyVar
26033                                   SrcSpanInfo
26034                                     { srcInfoSpan =
26035                                         SrcSpan "tests/examples/DerivingVia.hs" 382 37 382 38
26036                                     , srcInfoPoints = []
26037                                     }
26038                                   (Ident
26039                                      SrcSpanInfo
26040                                        { srcInfoSpan =
26041                                            SrcSpan "tests/examples/DerivingVia.hs" 382 37 382 38
26042                                        , srcInfoPoints = []
26043                                        }
26044                                      "a")))))))
26045             , ClsDecl
26046                 SrcSpanInfo
26047                   { srcInfoSpan =
26048                       SrcSpan "tests/examples/DerivingVia.hs" 383 3 383 21
26049                   , srcInfoPoints = []
26050                   }
26051                 (PatBind
26052                    SrcSpanInfo
26053                      { srcInfoSpan =
26054                          SrcSpan "tests/examples/DerivingVia.hs" 383 3 383 21
26055                      , srcInfoPoints = []
26056                      }
26057                    (PVar
26058                       SrcSpanInfo
26059                         { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 383 3 383 8
26060                         , srcInfoPoints =
26061                             [ SrcSpan "tests/examples/DerivingVia.hs" 383 3 383 4
26062                             , SrcSpan "tests/examples/DerivingVia.hs" 383 4 383 7
26063                             , SrcSpan "tests/examples/DerivingVia.hs" 383 7 383 8
26064                             ]
26065                         }
26066                       (Symbol
26067                          SrcSpanInfo
26068                            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 383 4 383 7
26069                            , srcInfoPoints = []
26070                            }
26071                          "^+^"))
26072                    (UnGuardedRhs
26073                       SrcSpanInfo
26074                         { srcInfoSpan =
26075                             SrcSpan "tests/examples/DerivingVia.hs" 383 9 383 21
26076                         , srcInfoPoints =
26077                             [ SrcSpan "tests/examples/DerivingVia.hs" 383 9 383 10 ]
26078                         }
26079                       (App
26080                          SrcSpanInfo
26081                            { srcInfoSpan =
26082                                SrcSpan "tests/examples/DerivingVia.hs" 383 11 383 21
26083                            , srcInfoPoints = []
26084                            }
26085                          (Var
26086                             SrcSpanInfo
26087                               { srcInfoSpan =
26088                                   SrcSpan "tests/examples/DerivingVia.hs" 383 11 383 17
26089                               , srcInfoPoints = []
26090                               }
26091                             (UnQual
26092                                SrcSpanInfo
26093                                  { srcInfoSpan =
26094                                      SrcSpan "tests/examples/DerivingVia.hs" 383 11 383 17
26095                                  , srcInfoPoints = []
26096                                  }
26097                                (Ident
26098                                   SrcSpanInfo
26099                                     { srcInfoSpan =
26100                                         SrcSpan "tests/examples/DerivingVia.hs" 383 11 383 17
26101                                     , srcInfoPoints = []
26102                                     }
26103                                   "liftU2")))
26104                          (Var
26105                             SrcSpanInfo
26106                               { srcInfoSpan =
26107                                   SrcSpan "tests/examples/DerivingVia.hs" 383 18 383 21
26108                               , srcInfoPoints =
26109                                   [ SrcSpan "tests/examples/DerivingVia.hs" 383 18 383 19
26110                                   , SrcSpan "tests/examples/DerivingVia.hs" 383 19 383 20
26111                                   , SrcSpan "tests/examples/DerivingVia.hs" 383 20 383 21
26112                                   ]
26113                               }
26114                             (UnQual
26115                                SrcSpanInfo
26116                                  { srcInfoSpan =
26117                                      SrcSpan "tests/examples/DerivingVia.hs" 383 18 383 21
26118                                  , srcInfoPoints =
26119                                      [ SrcSpan "tests/examples/DerivingVia.hs" 383 18 383 19
26120                                      , SrcSpan "tests/examples/DerivingVia.hs" 383 19 383 20
26121                                      , SrcSpan "tests/examples/DerivingVia.hs" 383 20 383 21
26122                                      ]
26123                                  }
26124                                (Symbol
26125                                   SrcSpanInfo
26126                                     { srcInfoSpan =
26127                                         SrcSpan "tests/examples/DerivingVia.hs" 383 19 383 20
26128                                     , srcInfoPoints = []
26129                                     }
26130                                   "+")))))
26131                    Nothing)
26132             , ClsDecl
26133                 SrcSpanInfo
26134                   { srcInfoSpan =
26135                       SrcSpan "tests/examples/DerivingVia.hs" 384 3 384 38
26136                   , srcInfoPoints =
26137                       [ SrcSpan "tests/examples/DerivingVia.hs" 384 9 384 11 ]
26138                   }
26139                 (TypeSig
26140                    SrcSpanInfo
26141                      { srcInfoSpan =
26142                          SrcSpan "tests/examples/DerivingVia.hs" 384 3 384 38
26143                      , srcInfoPoints =
26144                          [ SrcSpan "tests/examples/DerivingVia.hs" 384 9 384 11 ]
26145                      }
26146                    [ Symbol
26147                        SrcSpanInfo
26148                          { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 384 3 384 8
26149                          , srcInfoPoints =
26150                              [ SrcSpan "tests/examples/DerivingVia.hs" 384 3 384 4
26151                              , SrcSpan "tests/examples/DerivingVia.hs" 384 4 384 7
26152                              , SrcSpan "tests/examples/DerivingVia.hs" 384 7 384 8
26153                              ]
26154                          }
26155                        "^-^"
26156                    ]
26157                    (TyForall
26158                       SrcSpanInfo
26159                         { srcInfoSpan =
26160                             SrcSpan "tests/examples/DerivingVia.hs" 384 12 384 38
26161                         , srcInfoPoints = []
26162                         }
26163                       Nothing
26164                       (Just
26165                          (CxSingle
26166                             SrcSpanInfo
26167                               { srcInfoSpan =
26168                                   SrcSpan "tests/examples/DerivingVia.hs" 384 12 384 20
26169                               , srcInfoPoints =
26170                                   [ SrcSpan "tests/examples/DerivingVia.hs" 384 18 384 20 ]
26171                               }
26172                             (TypeA
26173                                SrcSpanInfo
26174                                  { srcInfoSpan =
26175                                      SrcSpan "tests/examples/DerivingVia.hs" 384 12 384 20
26176                                  , srcInfoPoints =
26177                                      [ SrcSpan "tests/examples/DerivingVia.hs" 384 18 384 20 ]
26178                                  }
26179                                (TyApp
26180                                   SrcSpanInfo
26181                                     { srcInfoSpan =
26182                                         SrcSpan "tests/examples/DerivingVia.hs" 384 12 384 20
26183                                     , srcInfoPoints =
26184                                         [ SrcSpan "tests/examples/DerivingVia.hs" 384 18 384 20 ]
26185                                     }
26186                                   (TyCon
26187                                      SrcSpanInfo
26188                                        { srcInfoSpan =
26189                                            SrcSpan "tests/examples/DerivingVia.hs" 384 12 384 20
26190                                        , srcInfoPoints =
26191                                            [ SrcSpan "tests/examples/DerivingVia.hs" 384 18 384 20
26192                                            ]
26193                                        }
26194                                      (UnQual
26195                                         SrcSpanInfo
26196                                           { srcInfoSpan =
26197                                               SrcSpan "tests/examples/DerivingVia.hs" 384 12 384 15
26198                                           , srcInfoPoints = []
26199                                           }
26200                                         (Ident
26201                                            SrcSpanInfo
26202                                              { srcInfoSpan =
26203                                                  SrcSpan
26204                                                    "tests/examples/DerivingVia.hs" 384 12 384 15
26205                                              , srcInfoPoints = []
26206                                              }
26207                                            "Num")))
26208                                   (TyVar
26209                                      SrcSpanInfo
26210                                        { srcInfoSpan =
26211                                            SrcSpan "tests/examples/DerivingVia.hs" 384 16 384 17
26212                                        , srcInfoPoints = []
26213                                        }
26214                                      (Ident
26215                                         SrcSpanInfo
26216                                           { srcInfoSpan =
26217                                               SrcSpan "tests/examples/DerivingVia.hs" 384 16 384 17
26218                                           , srcInfoPoints = []
26219                                           }
26220                                         "a"))))))
26221                       (TyFun
26222                          SrcSpanInfo
26223                            { srcInfoSpan =
26224                                SrcSpan "tests/examples/DerivingVia.hs" 384 21 384 38
26225                            , srcInfoPoints =
26226                                [ SrcSpan "tests/examples/DerivingVia.hs" 384 25 384 27 ]
26227                            }
26228                          (TyApp
26229                             SrcSpanInfo
26230                               { srcInfoSpan =
26231                                   SrcSpan "tests/examples/DerivingVia.hs" 384 21 384 24
26232                               , srcInfoPoints = []
26233                               }
26234                             (TyVar
26235                                SrcSpanInfo
26236                                  { srcInfoSpan =
26237                                      SrcSpan "tests/examples/DerivingVia.hs" 384 21 384 22
26238                                  , srcInfoPoints = []
26239                                  }
26240                                (Ident
26241                                   SrcSpanInfo
26242                                     { srcInfoSpan =
26243                                         SrcSpan "tests/examples/DerivingVia.hs" 384 21 384 22
26244                                     , srcInfoPoints = []
26245                                     }
26246                                   "f"))
26247                             (TyVar
26248                                SrcSpanInfo
26249                                  { srcInfoSpan =
26250                                      SrcSpan "tests/examples/DerivingVia.hs" 384 23 384 24
26251                                  , srcInfoPoints = []
26252                                  }
26253                                (Ident
26254                                   SrcSpanInfo
26255                                     { srcInfoSpan =
26256                                         SrcSpan "tests/examples/DerivingVia.hs" 384 23 384 24
26257                                     , srcInfoPoints = []
26258                                     }
26259                                   "a")))
26260                          (TyFun
26261                             SrcSpanInfo
26262                               { srcInfoSpan =
26263                                   SrcSpan "tests/examples/DerivingVia.hs" 384 28 384 38
26264                               , srcInfoPoints =
26265                                   [ SrcSpan "tests/examples/DerivingVia.hs" 384 32 384 34 ]
26266                               }
26267                             (TyApp
26268                                SrcSpanInfo
26269                                  { srcInfoSpan =
26270                                      SrcSpan "tests/examples/DerivingVia.hs" 384 28 384 31
26271                                  , srcInfoPoints = []
26272                                  }
26273                                (TyVar
26274                                   SrcSpanInfo
26275                                     { srcInfoSpan =
26276                                         SrcSpan "tests/examples/DerivingVia.hs" 384 28 384 29
26277                                     , srcInfoPoints = []
26278                                     }
26279                                   (Ident
26280                                      SrcSpanInfo
26281                                        { srcInfoSpan =
26282                                            SrcSpan "tests/examples/DerivingVia.hs" 384 28 384 29
26283                                        , srcInfoPoints = []
26284                                        }
26285                                      "f"))
26286                                (TyVar
26287                                   SrcSpanInfo
26288                                     { srcInfoSpan =
26289                                         SrcSpan "tests/examples/DerivingVia.hs" 384 30 384 31
26290                                     , srcInfoPoints = []
26291                                     }
26292                                   (Ident
26293                                      SrcSpanInfo
26294                                        { srcInfoSpan =
26295                                            SrcSpan "tests/examples/DerivingVia.hs" 384 30 384 31
26296                                        , srcInfoPoints = []
26297                                        }
26298                                      "a")))
26299                             (TyApp
26300                                SrcSpanInfo
26301                                  { srcInfoSpan =
26302                                      SrcSpan "tests/examples/DerivingVia.hs" 384 35 384 38
26303                                  , srcInfoPoints = []
26304                                  }
26305                                (TyVar
26306                                   SrcSpanInfo
26307                                     { srcInfoSpan =
26308                                         SrcSpan "tests/examples/DerivingVia.hs" 384 35 384 36
26309                                     , srcInfoPoints = []
26310                                     }
26311                                   (Ident
26312                                      SrcSpanInfo
26313                                        { srcInfoSpan =
26314                                            SrcSpan "tests/examples/DerivingVia.hs" 384 35 384 36
26315                                        , srcInfoPoints = []
26316                                        }
26317                                      "f"))
26318                                (TyVar
26319                                   SrcSpanInfo
26320                                     { srcInfoSpan =
26321                                         SrcSpan "tests/examples/DerivingVia.hs" 384 37 384 38
26322                                     , srcInfoPoints = []
26323                                     }
26324                                   (Ident
26325                                      SrcSpanInfo
26326                                        { srcInfoSpan =
26327                                            SrcSpan "tests/examples/DerivingVia.hs" 384 37 384 38
26328                                        , srcInfoPoints = []
26329                                        }
26330                                      "a")))))))
26331             , ClsDecl
26332                 SrcSpanInfo
26333                   { srcInfoSpan =
26334                       SrcSpan "tests/examples/DerivingVia.hs" 385 3 385 32
26335                   , srcInfoPoints = []
26336                   }
26337                 (FunBind
26338                    SrcSpanInfo
26339                      { srcInfoSpan =
26340                          SrcSpan "tests/examples/DerivingVia.hs" 385 3 385 32
26341                      , srcInfoPoints = []
26342                      }
26343                    [ InfixMatch
26344                        SrcSpanInfo
26345                          { srcInfoSpan =
26346                              SrcSpan "tests/examples/DerivingVia.hs" 385 3 385 32
26347                          , srcInfoPoints = []
26348                          }
26349                        (PVar
26350                           SrcSpanInfo
26351                             { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 385 3 385 4
26352                             , srcInfoPoints = []
26353                             }
26354                           (Ident
26355                              SrcSpanInfo
26356                                { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 385 3 385 4
26357                                , srcInfoPoints = []
26358                                }
26359                              "x"))
26360                        (Symbol
26361                           SrcSpanInfo
26362                             { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 385 5 385 8
26363                             , srcInfoPoints = []
26364                             }
26365                           "^-^")
26366                        [ PVar
26367                            SrcSpanInfo
26368                              { srcInfoSpan =
26369                                  SrcSpan "tests/examples/DerivingVia.hs" 385 9 385 10
26370                              , srcInfoPoints = []
26371                              }
26372                            (Ident
26373                               SrcSpanInfo
26374                                 { srcInfoSpan =
26375                                     SrcSpan "tests/examples/DerivingVia.hs" 385 9 385 10
26376                                 , srcInfoPoints = []
26377                                 }
26378                               "y")
26379                        ]
26380                        (UnGuardedRhs
26381                           SrcSpanInfo
26382                             { srcInfoSpan =
26383                                 SrcSpan "tests/examples/DerivingVia.hs" 385 11 385 32
26384                             , srcInfoPoints =
26385                                 [ SrcSpan "tests/examples/DerivingVia.hs" 385 11 385 12 ]
26386                             }
26387                           (InfixApp
26388                              SrcSpanInfo
26389                                { srcInfoSpan =
26390                                    SrcSpan "tests/examples/DerivingVia.hs" 385 13 385 32
26391                                , srcInfoPoints = []
26392                                }
26393                              (Var
26394                                 SrcSpanInfo
26395                                   { srcInfoSpan =
26396                                       SrcSpan "tests/examples/DerivingVia.hs" 385 13 385 14
26397                                   , srcInfoPoints = []
26398                                   }
26399                                 (UnQual
26400                                    SrcSpanInfo
26401                                      { srcInfoSpan =
26402                                          SrcSpan "tests/examples/DerivingVia.hs" 385 13 385 14
26403                                      , srcInfoPoints = []
26404                                      }
26405                                    (Ident
26406                                       SrcSpanInfo
26407                                         { srcInfoSpan =
26408                                             SrcSpan "tests/examples/DerivingVia.hs" 385 13 385 14
26409                                         , srcInfoPoints = []
26410                                         }
26411                                       "x")))
26412                              (QVarOp
26413                                 SrcSpanInfo
26414                                   { srcInfoSpan =
26415                                       SrcSpan "tests/examples/DerivingVia.hs" 385 15 385 18
26416                                   , srcInfoPoints = []
26417                                   }
26418                                 (UnQual
26419                                    SrcSpanInfo
26420                                      { srcInfoSpan =
26421                                          SrcSpan "tests/examples/DerivingVia.hs" 385 15 385 18
26422                                      , srcInfoPoints = []
26423                                      }
26424                                    (Symbol
26425                                       SrcSpanInfo
26426                                         { srcInfoSpan =
26427                                             SrcSpan "tests/examples/DerivingVia.hs" 385 15 385 18
26428                                         , srcInfoPoints = []
26429                                         }
26430                                       "^+^")))
26431                              (App
26432                                 SrcSpanInfo
26433                                   { srcInfoSpan =
26434                                       SrcSpan "tests/examples/DerivingVia.hs" 385 19 385 32
26435                                   , srcInfoPoints = []
26436                                   }
26437                                 (App
26438                                    SrcSpanInfo
26439                                      { srcInfoSpan =
26440                                          SrcSpan "tests/examples/DerivingVia.hs" 385 19 385 30
26441                                      , srcInfoPoints = []
26442                                      }
26443                                    (Var
26444                                       SrcSpanInfo
26445                                         { srcInfoSpan =
26446                                             SrcSpan "tests/examples/DerivingVia.hs" 385 19 385 23
26447                                         , srcInfoPoints = []
26448                                         }
26449                                       (UnQual
26450                                          SrcSpanInfo
26451                                            { srcInfoSpan =
26452                                                SrcSpan
26453                                                  "tests/examples/DerivingVia.hs" 385 19 385 23
26454                                            , srcInfoPoints = []
26455                                            }
26456                                          (Ident
26457                                             SrcSpanInfo
26458                                               { srcInfoSpan =
26459                                                   SrcSpan
26460                                                     "tests/examples/DerivingVia.hs" 385 19 385 23
26461                                               , srcInfoPoints = []
26462                                               }
26463                                             "fmap")))
26464                                    (Var
26465                                       SrcSpanInfo
26466                                         { srcInfoSpan =
26467                                             SrcSpan "tests/examples/DerivingVia.hs" 385 24 385 30
26468                                         , srcInfoPoints = []
26469                                         }
26470                                       (UnQual
26471                                          SrcSpanInfo
26472                                            { srcInfoSpan =
26473                                                SrcSpan
26474                                                  "tests/examples/DerivingVia.hs" 385 24 385 30
26475                                            , srcInfoPoints = []
26476                                            }
26477                                          (Ident
26478                                             SrcSpanInfo
26479                                               { srcInfoSpan =
26480                                                   SrcSpan
26481                                                     "tests/examples/DerivingVia.hs" 385 24 385 30
26482                                               , srcInfoPoints = []
26483                                               }
26484                                             "negate"))))
26485                                 (Var
26486                                    SrcSpanInfo
26487                                      { srcInfoSpan =
26488                                          SrcSpan "tests/examples/DerivingVia.hs" 385 31 385 32
26489                                      , srcInfoPoints = []
26490                                      }
26491                                    (UnQual
26492                                       SrcSpanInfo
26493                                         { srcInfoSpan =
26494                                             SrcSpan "tests/examples/DerivingVia.hs" 385 31 385 32
26495                                         , srcInfoPoints = []
26496                                         }
26497                                       (Ident
26498                                          SrcSpanInfo
26499                                            { srcInfoSpan =
26500                                                SrcSpan
26501                                                  "tests/examples/DerivingVia.hs" 385 31 385 32
26502                                            , srcInfoPoints = []
26503                                            }
26504                                          "y"))))))
26505                        Nothing
26506                    ])
26507             , ClsDecl
26508                 SrcSpanInfo
26509                   { srcInfoSpan =
26510                       SrcSpan "tests/examples/DerivingVia.hs" 386 3 386 47
26511                   , srcInfoPoints =
26512                       [ SrcSpan "tests/examples/DerivingVia.hs" 386 10 386 12 ]
26513                   }
26514                 (TypeSig
26515                    SrcSpanInfo
26516                      { srcInfoSpan =
26517                          SrcSpan "tests/examples/DerivingVia.hs" 386 3 386 47
26518                      , srcInfoPoints =
26519                          [ SrcSpan "tests/examples/DerivingVia.hs" 386 10 386 12 ]
26520                      }
26521                    [ Ident
26522                        SrcSpanInfo
26523                          { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 386 3 386 9
26524                          , srcInfoPoints = []
26525                          }
26526                        "liftU2"
26527                    ]
26528                    (TyFun
26529                       SrcSpanInfo
26530                         { srcInfoSpan =
26531                             SrcSpan "tests/examples/DerivingVia.hs" 386 13 386 47
26532                         , srcInfoPoints =
26533                             [ SrcSpan "tests/examples/DerivingVia.hs" 386 27 386 29 ]
26534                         }
26535                       (TyParen
26536                          SrcSpanInfo
26537                            { srcInfoSpan =
26538                                SrcSpan "tests/examples/DerivingVia.hs" 386 13 386 26
26539                            , srcInfoPoints =
26540                                [ SrcSpan "tests/examples/DerivingVia.hs" 386 13 386 14
26541                                , SrcSpan "tests/examples/DerivingVia.hs" 386 25 386 26
26542                                ]
26543                            }
26544                          (TyFun
26545                             SrcSpanInfo
26546                               { srcInfoSpan =
26547                                   SrcSpan "tests/examples/DerivingVia.hs" 386 14 386 25
26548                               , srcInfoPoints =
26549                                   [ SrcSpan "tests/examples/DerivingVia.hs" 386 16 386 18 ]
26550                               }
26551                             (TyVar
26552                                SrcSpanInfo
26553                                  { srcInfoSpan =
26554                                      SrcSpan "tests/examples/DerivingVia.hs" 386 14 386 15
26555                                  , srcInfoPoints = []
26556                                  }
26557                                (Ident
26558                                   SrcSpanInfo
26559                                     { srcInfoSpan =
26560                                         SrcSpan "tests/examples/DerivingVia.hs" 386 14 386 15
26561                                     , srcInfoPoints = []
26562                                     }
26563                                   "a"))
26564                             (TyFun
26565                                SrcSpanInfo
26566                                  { srcInfoSpan =
26567                                      SrcSpan "tests/examples/DerivingVia.hs" 386 19 386 25
26568                                  , srcInfoPoints =
26569                                      [ SrcSpan "tests/examples/DerivingVia.hs" 386 21 386 23 ]
26570                                  }
26571                                (TyVar
26572                                   SrcSpanInfo
26573                                     { srcInfoSpan =
26574                                         SrcSpan "tests/examples/DerivingVia.hs" 386 19 386 20
26575                                     , srcInfoPoints = []
26576                                     }
26577                                   (Ident
26578                                      SrcSpanInfo
26579                                        { srcInfoSpan =
26580                                            SrcSpan "tests/examples/DerivingVia.hs" 386 19 386 20
26581                                        , srcInfoPoints = []
26582                                        }
26583                                      "a"))
26584                                (TyVar
26585                                   SrcSpanInfo
26586                                     { srcInfoSpan =
26587                                         SrcSpan "tests/examples/DerivingVia.hs" 386 24 386 25
26588                                     , srcInfoPoints = []
26589                                     }
26590                                   (Ident
26591                                      SrcSpanInfo
26592                                        { srcInfoSpan =
26593                                            SrcSpan "tests/examples/DerivingVia.hs" 386 24 386 25
26594                                        , srcInfoPoints = []
26595                                        }
26596                                      "a")))))
26597                       (TyFun
26598                          SrcSpanInfo
26599                            { srcInfoSpan =
26600                                SrcSpan "tests/examples/DerivingVia.hs" 386 30 386 47
26601                            , srcInfoPoints =
26602                                [ SrcSpan "tests/examples/DerivingVia.hs" 386 34 386 36 ]
26603                            }
26604                          (TyApp
26605                             SrcSpanInfo
26606                               { srcInfoSpan =
26607                                   SrcSpan "tests/examples/DerivingVia.hs" 386 30 386 33
26608                               , srcInfoPoints = []
26609                               }
26610                             (TyVar
26611                                SrcSpanInfo
26612                                  { srcInfoSpan =
26613                                      SrcSpan "tests/examples/DerivingVia.hs" 386 30 386 31
26614                                  , srcInfoPoints = []
26615                                  }
26616                                (Ident
26617                                   SrcSpanInfo
26618                                     { srcInfoSpan =
26619                                         SrcSpan "tests/examples/DerivingVia.hs" 386 30 386 31
26620                                     , srcInfoPoints = []
26621                                     }
26622                                   "f"))
26623                             (TyVar
26624                                SrcSpanInfo
26625                                  { srcInfoSpan =
26626                                      SrcSpan "tests/examples/DerivingVia.hs" 386 32 386 33
26627                                  , srcInfoPoints = []
26628                                  }
26629                                (Ident
26630                                   SrcSpanInfo
26631                                     { srcInfoSpan =
26632                                         SrcSpan "tests/examples/DerivingVia.hs" 386 32 386 33
26633                                     , srcInfoPoints = []
26634                                     }
26635                                   "a")))
26636                          (TyFun
26637                             SrcSpanInfo
26638                               { srcInfoSpan =
26639                                   SrcSpan "tests/examples/DerivingVia.hs" 386 37 386 47
26640                               , srcInfoPoints =
26641                                   [ SrcSpan "tests/examples/DerivingVia.hs" 386 41 386 43 ]
26642                               }
26643                             (TyApp
26644                                SrcSpanInfo
26645                                  { srcInfoSpan =
26646                                      SrcSpan "tests/examples/DerivingVia.hs" 386 37 386 40
26647                                  , srcInfoPoints = []
26648                                  }
26649                                (TyVar
26650                                   SrcSpanInfo
26651                                     { srcInfoSpan =
26652                                         SrcSpan "tests/examples/DerivingVia.hs" 386 37 386 38
26653                                     , srcInfoPoints = []
26654                                     }
26655                                   (Ident
26656                                      SrcSpanInfo
26657                                        { srcInfoSpan =
26658                                            SrcSpan "tests/examples/DerivingVia.hs" 386 37 386 38
26659                                        , srcInfoPoints = []
26660                                        }
26661                                      "f"))
26662                                (TyVar
26663                                   SrcSpanInfo
26664                                     { srcInfoSpan =
26665                                         SrcSpan "tests/examples/DerivingVia.hs" 386 39 386 40
26666                                     , srcInfoPoints = []
26667                                     }
26668                                   (Ident
26669                                      SrcSpanInfo
26670                                        { srcInfoSpan =
26671                                            SrcSpan "tests/examples/DerivingVia.hs" 386 39 386 40
26672                                        , srcInfoPoints = []
26673                                        }
26674                                      "a")))
26675                             (TyApp
26676                                SrcSpanInfo
26677                                  { srcInfoSpan =
26678                                      SrcSpan "tests/examples/DerivingVia.hs" 386 44 386 47
26679                                  , srcInfoPoints = []
26680                                  }
26681                                (TyVar
26682                                   SrcSpanInfo
26683                                     { srcInfoSpan =
26684                                         SrcSpan "tests/examples/DerivingVia.hs" 386 44 386 45
26685                                     , srcInfoPoints = []
26686                                     }
26687                                   (Ident
26688                                      SrcSpanInfo
26689                                        { srcInfoSpan =
26690                                            SrcSpan "tests/examples/DerivingVia.hs" 386 44 386 45
26691                                        , srcInfoPoints = []
26692                                        }
26693                                      "f"))
26694                                (TyVar
26695                                   SrcSpanInfo
26696                                     { srcInfoSpan =
26697                                         SrcSpan "tests/examples/DerivingVia.hs" 386 46 386 47
26698                                     , srcInfoPoints = []
26699                                     }
26700                                   (Ident
26701                                      SrcSpanInfo
26702                                        { srcInfoSpan =
26703                                            SrcSpan "tests/examples/DerivingVia.hs" 386 46 386 47
26704                                        , srcInfoPoints = []
26705                                        }
26706                                      "a")))))))
26707             ])
26708      , InstDecl
26709          SrcSpanInfo
26710            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 388 1 395 0
26711            , srcInfoPoints =
26712                [ SrcSpan "tests/examples/DerivingVia.hs" 388 1 388 9
26713                , SrcSpan "tests/examples/DerivingVia.hs" 388 22 388 27
26714                , SrcSpan "tests/examples/DerivingVia.hs" 389 3 389 3
26715                , SrcSpan "tests/examples/DerivingVia.hs" 390 3 390 3
26716                , SrcSpan "tests/examples/DerivingVia.hs" 395 1 395 0
26717                ]
26718            }
26719          Nothing
26720          (IRule
26721             SrcSpanInfo
26722               { srcInfoSpan =
26723                   SrcSpan "tests/examples/DerivingVia.hs" 388 10 388 21
26724               , srcInfoPoints = []
26725               }
26726             Nothing
26727             Nothing
26728             (IHApp
26729                SrcSpanInfo
26730                  { srcInfoSpan =
26731                      SrcSpan "tests/examples/DerivingVia.hs" 388 10 388 21
26732                  , srcInfoPoints = []
26733                  }
26734                (IHCon
26735                   SrcSpanInfo
26736                     { srcInfoSpan =
26737                         SrcSpan "tests/examples/DerivingVia.hs" 388 10 388 18
26738                     , srcInfoPoints = []
26739                     }
26740                   (UnQual
26741                      SrcSpanInfo
26742                        { srcInfoSpan =
26743                            SrcSpan "tests/examples/DerivingVia.hs" 388 10 388 18
26744                        , srcInfoPoints = []
26745                        }
26746                      (Ident
26747                         SrcSpanInfo
26748                           { srcInfoSpan =
26749                               SrcSpan "tests/examples/DerivingVia.hs" 388 10 388 18
26750                           , srcInfoPoints = []
26751                           }
26752                         "Additive")))
26753                (TyCon
26754                   SrcSpanInfo
26755                     { srcInfoSpan =
26756                         SrcSpan "tests/examples/DerivingVia.hs" 388 19 388 21
26757                     , srcInfoPoints =
26758                         [ SrcSpan "tests/examples/DerivingVia.hs" 388 19 388 20
26759                         , SrcSpan "tests/examples/DerivingVia.hs" 388 20 388 21
26760                         ]
26761                     }
26762                   (Special
26763                      SrcSpanInfo
26764                        { srcInfoSpan =
26765                            SrcSpan "tests/examples/DerivingVia.hs" 388 19 388 21
26766                        , srcInfoPoints =
26767                            [ SrcSpan "tests/examples/DerivingVia.hs" 388 19 388 20
26768                            , SrcSpan "tests/examples/DerivingVia.hs" 388 20 388 21
26769                            ]
26770                        }
26771                      (ListCon
26772                         SrcSpanInfo
26773                           { srcInfoSpan =
26774                               SrcSpan "tests/examples/DerivingVia.hs" 388 19 388 21
26775                           , srcInfoPoints =
26776                               [ SrcSpan "tests/examples/DerivingVia.hs" 388 19 388 20
26777                               , SrcSpan "tests/examples/DerivingVia.hs" 388 20 388 21
26778                               ]
26779                           })))))
26780          (Just
26781             [ InsDecl
26782                 SrcSpanInfo
26783                   { srcInfoSpan =
26784                       SrcSpan "tests/examples/DerivingVia.hs" 389 3 389 12
26785                   , srcInfoPoints = []
26786                   }
26787                 (PatBind
26788                    SrcSpanInfo
26789                      { srcInfoSpan =
26790                          SrcSpan "tests/examples/DerivingVia.hs" 389 3 389 12
26791                      , srcInfoPoints = []
26792                      }
26793                    (PVar
26794                       SrcSpanInfo
26795                         { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 389 3 389 7
26796                         , srcInfoPoints = []
26797                         }
26798                       (Ident
26799                          SrcSpanInfo
26800                            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 389 3 389 7
26801                            , srcInfoPoints = []
26802                            }
26803                          "zero"))
26804                    (UnGuardedRhs
26805                       SrcSpanInfo
26806                         { srcInfoSpan =
26807                             SrcSpan "tests/examples/DerivingVia.hs" 389 8 389 12
26808                         , srcInfoPoints =
26809                             [ SrcSpan "tests/examples/DerivingVia.hs" 389 8 389 9 ]
26810                         }
26811                       (List
26812                          SrcSpanInfo
26813                            { srcInfoSpan =
26814                                SrcSpan "tests/examples/DerivingVia.hs" 389 10 389 12
26815                            , srcInfoPoints =
26816                                [ SrcSpan "tests/examples/DerivingVia.hs" 389 10 389 11
26817                                , SrcSpan "tests/examples/DerivingVia.hs" 389 11 389 12
26818                                ]
26819                            }
26820                          []))
26821                    Nothing)
26822             , InsDecl
26823                 SrcSpanInfo
26824                   { srcInfoSpan =
26825                       SrcSpan "tests/examples/DerivingVia.hs" 390 3 393 18
26826                   , srcInfoPoints =
26827                       [ SrcSpan "tests/examples/DerivingVia.hs" 390 17 390 22 ]
26828                   }
26829                 (FunBind
26830                    SrcSpanInfo
26831                      { srcInfoSpan =
26832                          SrcSpan "tests/examples/DerivingVia.hs" 390 3 393 18
26833                      , srcInfoPoints =
26834                          [ SrcSpan "tests/examples/DerivingVia.hs" 390 17 390 22 ]
26835                      }
26836                    [ Match
26837                        SrcSpanInfo
26838                          { srcInfoSpan =
26839                              SrcSpan "tests/examples/DerivingVia.hs" 390 3 393 18
26840                          , srcInfoPoints =
26841                              [ SrcSpan "tests/examples/DerivingVia.hs" 390 17 390 22 ]
26842                          }
26843                        (Ident
26844                           SrcSpanInfo
26845                             { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 390 3 390 9
26846                             , srcInfoPoints = []
26847                             }
26848                           "liftU2")
26849                        [ PVar
26850                            SrcSpanInfo
26851                              { srcInfoSpan =
26852                                  SrcSpan "tests/examples/DerivingVia.hs" 390 10 390 11
26853                              , srcInfoPoints = []
26854                              }
26855                            (Ident
26856                               SrcSpanInfo
26857                                 { srcInfoSpan =
26858                                     SrcSpan "tests/examples/DerivingVia.hs" 390 10 390 11
26859                                 , srcInfoPoints = []
26860                                 }
26861                               "f")
26862                        ]
26863                        (UnGuardedRhs
26864                           SrcSpanInfo
26865                             { srcInfoSpan =
26866                                 SrcSpan "tests/examples/DerivingVia.hs" 390 12 390 16
26867                             , srcInfoPoints =
26868                                 [ SrcSpan "tests/examples/DerivingVia.hs" 390 12 390 13 ]
26869                             }
26870                           (Var
26871                              SrcSpanInfo
26872                                { srcInfoSpan =
26873                                    SrcSpan "tests/examples/DerivingVia.hs" 390 14 390 16
26874                                , srcInfoPoints = []
26875                                }
26876                              (UnQual
26877                                 SrcSpanInfo
26878                                   { srcInfoSpan =
26879                                       SrcSpan "tests/examples/DerivingVia.hs" 390 14 390 16
26880                                   , srcInfoPoints = []
26881                                   }
26882                                 (Ident
26883                                    SrcSpanInfo
26884                                      { srcInfoSpan =
26885                                          SrcSpan "tests/examples/DerivingVia.hs" 390 14 390 16
26886                                      , srcInfoPoints = []
26887                                      }
26888                                    "go"))))
26889                        (Just
26890                           (BDecls
26891                              SrcSpanInfo
26892                                { srcInfoSpan =
26893                                    SrcSpan "tests/examples/DerivingVia.hs" 391 5 393 18
26894                                , srcInfoPoints =
26895                                    [ SrcSpan "tests/examples/DerivingVia.hs" 391 5 391 5
26896                                    , SrcSpan "tests/examples/DerivingVia.hs" 392 5 392 5
26897                                    , SrcSpan "tests/examples/DerivingVia.hs" 393 5 393 5
26898                                    , SrcSpan "tests/examples/DerivingVia.hs" 395 1 395 0
26899                                    ]
26900                                }
26901                              [ FunBind
26902                                  SrcSpanInfo
26903                                    { srcInfoSpan =
26904                                        SrcSpan "tests/examples/DerivingVia.hs" 391 5 393 18
26905                                    , srcInfoPoints = []
26906                                    }
26907                                  [ Match
26908                                      SrcSpanInfo
26909                                        { srcInfoSpan =
26910                                            SrcSpan "tests/examples/DerivingVia.hs" 391 5 391 40
26911                                        , srcInfoPoints = []
26912                                        }
26913                                      (Ident
26914                                         SrcSpanInfo
26915                                           { srcInfoSpan =
26916                                               SrcSpan "tests/examples/DerivingVia.hs" 391 5 391 7
26917                                           , srcInfoPoints = []
26918                                           }
26919                                         "go")
26920                                      [ PParen
26921                                          SrcSpanInfo
26922                                            { srcInfoSpan =
26923                                                SrcSpan "tests/examples/DerivingVia.hs" 391 8 391 14
26924                                            , srcInfoPoints =
26925                                                [ SrcSpan
26926                                                    "tests/examples/DerivingVia.hs" 391 8 391 9
26927                                                , SrcSpan
26928                                                    "tests/examples/DerivingVia.hs" 391 13 391 14
26929                                                ]
26930                                            }
26931                                          (PInfixApp
26932                                             SrcSpanInfo
26933                                               { srcInfoSpan =
26934                                                   SrcSpan
26935                                                     "tests/examples/DerivingVia.hs" 391 9 391 13
26936                                               , srcInfoPoints = []
26937                                               }
26938                                             (PVar
26939                                                SrcSpanInfo
26940                                                  { srcInfoSpan =
26941                                                      SrcSpan
26942                                                        "tests/examples/DerivingVia.hs" 391 9 391 10
26943                                                  , srcInfoPoints = []
26944                                                  }
26945                                                (Ident
26946                                                   SrcSpanInfo
26947                                                     { srcInfoSpan =
26948                                                         SrcSpan
26949                                                           "tests/examples/DerivingVia.hs"
26950                                                           391
26951                                                           9
26952                                                           391
26953                                                           10
26954                                                     , srcInfoPoints = []
26955                                                     }
26956                                                   "x"))
26957                                             (Special
26958                                                SrcSpanInfo
26959                                                  { srcInfoSpan =
26960                                                      SrcSpan
26961                                                        "tests/examples/DerivingVia.hs"
26962                                                        391
26963                                                        10
26964                                                        391
26965                                                        11
26966                                                  , srcInfoPoints = []
26967                                                  }
26968                                                (Cons
26969                                                   SrcSpanInfo
26970                                                     { srcInfoSpan =
26971                                                         SrcSpan
26972                                                           "tests/examples/DerivingVia.hs"
26973                                                           391
26974                                                           10
26975                                                           391
26976                                                           11
26977                                                     , srcInfoPoints = []
26978                                                     }))
26979                                             (PVar
26980                                                SrcSpanInfo
26981                                                  { srcInfoSpan =
26982                                                      SrcSpan
26983                                                        "tests/examples/DerivingVia.hs"
26984                                                        391
26985                                                        11
26986                                                        391
26987                                                        13
26988                                                  , srcInfoPoints = []
26989                                                  }
26990                                                (Ident
26991                                                   SrcSpanInfo
26992                                                     { srcInfoSpan =
26993                                                         SrcSpan
26994                                                           "tests/examples/DerivingVia.hs"
26995                                                           391
26996                                                           11
26997                                                           391
26998                                                           13
26999                                                     , srcInfoPoints = []
27000                                                     }
27001                                                   "xs")))
27002                                      , PParen
27003                                          SrcSpanInfo
27004                                            { srcInfoSpan =
27005                                                SrcSpan
27006                                                  "tests/examples/DerivingVia.hs" 391 15 391 21
27007                                            , srcInfoPoints =
27008                                                [ SrcSpan
27009                                                    "tests/examples/DerivingVia.hs" 391 15 391 16
27010                                                , SrcSpan
27011                                                    "tests/examples/DerivingVia.hs" 391 20 391 21
27012                                                ]
27013                                            }
27014                                          (PInfixApp
27015                                             SrcSpanInfo
27016                                               { srcInfoSpan =
27017                                                   SrcSpan
27018                                                     "tests/examples/DerivingVia.hs" 391 16 391 20
27019                                               , srcInfoPoints = []
27020                                               }
27021                                             (PVar
27022                                                SrcSpanInfo
27023                                                  { srcInfoSpan =
27024                                                      SrcSpan
27025                                                        "tests/examples/DerivingVia.hs"
27026                                                        391
27027                                                        16
27028                                                        391
27029                                                        17
27030                                                  , srcInfoPoints = []
27031                                                  }
27032                                                (Ident
27033                                                   SrcSpanInfo
27034                                                     { srcInfoSpan =
27035                                                         SrcSpan
27036                                                           "tests/examples/DerivingVia.hs"
27037                                                           391
27038                                                           16
27039                                                           391
27040                                                           17
27041                                                     , srcInfoPoints = []
27042                                                     }
27043                                                   "y"))
27044                                             (Special
27045                                                SrcSpanInfo
27046                                                  { srcInfoSpan =
27047                                                      SrcSpan
27048                                                        "tests/examples/DerivingVia.hs"
27049                                                        391
27050                                                        17
27051                                                        391
27052                                                        18
27053                                                  , srcInfoPoints = []
27054                                                  }
27055                                                (Cons
27056                                                   SrcSpanInfo
27057                                                     { srcInfoSpan =
27058                                                         SrcSpan
27059                                                           "tests/examples/DerivingVia.hs"
27060                                                           391
27061                                                           17
27062                                                           391
27063                                                           18
27064                                                     , srcInfoPoints = []
27065                                                     }))
27066                                             (PVar
27067                                                SrcSpanInfo
27068                                                  { srcInfoSpan =
27069                                                      SrcSpan
27070                                                        "tests/examples/DerivingVia.hs"
27071                                                        391
27072                                                        18
27073                                                        391
27074                                                        20
27075                                                  , srcInfoPoints = []
27076                                                  }
27077                                                (Ident
27078                                                   SrcSpanInfo
27079                                                     { srcInfoSpan =
27080                                                         SrcSpan
27081                                                           "tests/examples/DerivingVia.hs"
27082                                                           391
27083                                                           18
27084                                                           391
27085                                                           20
27086                                                     , srcInfoPoints = []
27087                                                     }
27088                                                   "ys")))
27089                                      ]
27090                                      (UnGuardedRhs
27091                                         SrcSpanInfo
27092                                           { srcInfoSpan =
27093                                               SrcSpan "tests/examples/DerivingVia.hs" 391 22 391 40
27094                                           , srcInfoPoints =
27095                                               [ SrcSpan
27096                                                   "tests/examples/DerivingVia.hs" 391 22 391 23
27097                                               ]
27098                                           }
27099                                         (InfixApp
27100                                            SrcSpanInfo
27101                                              { srcInfoSpan =
27102                                                  SrcSpan
27103                                                    "tests/examples/DerivingVia.hs" 391 24 391 40
27104                                              , srcInfoPoints = []
27105                                              }
27106                                            (App
27107                                               SrcSpanInfo
27108                                                 { srcInfoSpan =
27109                                                     SrcSpan
27110                                                       "tests/examples/DerivingVia.hs" 391 24 391 29
27111                                                 , srcInfoPoints = []
27112                                                 }
27113                                               (App
27114                                                  SrcSpanInfo
27115                                                    { srcInfoSpan =
27116                                                        SrcSpan
27117                                                          "tests/examples/DerivingVia.hs"
27118                                                          391
27119                                                          24
27120                                                          391
27121                                                          27
27122                                                    , srcInfoPoints = []
27123                                                    }
27124                                                  (Var
27125                                                     SrcSpanInfo
27126                                                       { srcInfoSpan =
27127                                                           SrcSpan
27128                                                             "tests/examples/DerivingVia.hs"
27129                                                             391
27130                                                             24
27131                                                             391
27132                                                             25
27133                                                       , srcInfoPoints = []
27134                                                       }
27135                                                     (UnQual
27136                                                        SrcSpanInfo
27137                                                          { srcInfoSpan =
27138                                                              SrcSpan
27139                                                                "tests/examples/DerivingVia.hs"
27140                                                                391
27141                                                                24
27142                                                                391
27143                                                                25
27144                                                          , srcInfoPoints = []
27145                                                          }
27146                                                        (Ident
27147                                                           SrcSpanInfo
27148                                                             { srcInfoSpan =
27149                                                                 SrcSpan
27150                                                                   "tests/examples/DerivingVia.hs"
27151                                                                   391
27152                                                                   24
27153                                                                   391
27154                                                                   25
27155                                                             , srcInfoPoints = []
27156                                                             }
27157                                                           "f")))
27158                                                  (Var
27159                                                     SrcSpanInfo
27160                                                       { srcInfoSpan =
27161                                                           SrcSpan
27162                                                             "tests/examples/DerivingVia.hs"
27163                                                             391
27164                                                             26
27165                                                             391
27166                                                             27
27167                                                       , srcInfoPoints = []
27168                                                       }
27169                                                     (UnQual
27170                                                        SrcSpanInfo
27171                                                          { srcInfoSpan =
27172                                                              SrcSpan
27173                                                                "tests/examples/DerivingVia.hs"
27174                                                                391
27175                                                                26
27176                                                                391
27177                                                                27
27178                                                          , srcInfoPoints = []
27179                                                          }
27180                                                        (Ident
27181                                                           SrcSpanInfo
27182                                                             { srcInfoSpan =
27183                                                                 SrcSpan
27184                                                                   "tests/examples/DerivingVia.hs"
27185                                                                   391
27186                                                                   26
27187                                                                   391
27188                                                                   27
27189                                                             , srcInfoPoints = []
27190                                                             }
27191                                                           "x"))))
27192                                               (Var
27193                                                  SrcSpanInfo
27194                                                    { srcInfoSpan =
27195                                                        SrcSpan
27196                                                          "tests/examples/DerivingVia.hs"
27197                                                          391
27198                                                          28
27199                                                          391
27200                                                          29
27201                                                    , srcInfoPoints = []
27202                                                    }
27203                                                  (UnQual
27204                                                     SrcSpanInfo
27205                                                       { srcInfoSpan =
27206                                                           SrcSpan
27207                                                             "tests/examples/DerivingVia.hs"
27208                                                             391
27209                                                             28
27210                                                             391
27211                                                             29
27212                                                       , srcInfoPoints = []
27213                                                       }
27214                                                     (Ident
27215                                                        SrcSpanInfo
27216                                                          { srcInfoSpan =
27217                                                              SrcSpan
27218                                                                "tests/examples/DerivingVia.hs"
27219                                                                391
27220                                                                28
27221                                                                391
27222                                                                29
27223                                                          , srcInfoPoints = []
27224                                                          }
27225                                                        "y"))))
27226                                            (QConOp
27227                                               SrcSpanInfo
27228                                                 { srcInfoSpan =
27229                                                     SrcSpan
27230                                                       "tests/examples/DerivingVia.hs" 391 30 391 31
27231                                                 , srcInfoPoints = []
27232                                                 }
27233                                               (Special
27234                                                  SrcSpanInfo
27235                                                    { srcInfoSpan =
27236                                                        SrcSpan
27237                                                          "tests/examples/DerivingVia.hs"
27238                                                          391
27239                                                          30
27240                                                          391
27241                                                          31
27242                                                    , srcInfoPoints = []
27243                                                    }
27244                                                  (Cons
27245                                                     SrcSpanInfo
27246                                                       { srcInfoSpan =
27247                                                           SrcSpan
27248                                                             "tests/examples/DerivingVia.hs"
27249                                                             391
27250                                                             30
27251                                                             391
27252                                                             31
27253                                                       , srcInfoPoints = []
27254                                                       })))
27255                                            (App
27256                                               SrcSpanInfo
27257                                                 { srcInfoSpan =
27258                                                     SrcSpan
27259                                                       "tests/examples/DerivingVia.hs" 391 32 391 40
27260                                                 , srcInfoPoints = []
27261                                                 }
27262                                               (App
27263                                                  SrcSpanInfo
27264                                                    { srcInfoSpan =
27265                                                        SrcSpan
27266                                                          "tests/examples/DerivingVia.hs"
27267                                                          391
27268                                                          32
27269                                                          391
27270                                                          37
27271                                                    , srcInfoPoints = []
27272                                                    }
27273                                                  (Var
27274                                                     SrcSpanInfo
27275                                                       { srcInfoSpan =
27276                                                           SrcSpan
27277                                                             "tests/examples/DerivingVia.hs"
27278                                                             391
27279                                                             32
27280                                                             391
27281                                                             34
27282                                                       , srcInfoPoints = []
27283                                                       }
27284                                                     (UnQual
27285                                                        SrcSpanInfo
27286                                                          { srcInfoSpan =
27287                                                              SrcSpan
27288                                                                "tests/examples/DerivingVia.hs"
27289                                                                391
27290                                                                32
27291                                                                391
27292                                                                34
27293                                                          , srcInfoPoints = []
27294                                                          }
27295                                                        (Ident
27296                                                           SrcSpanInfo
27297                                                             { srcInfoSpan =
27298                                                                 SrcSpan
27299                                                                   "tests/examples/DerivingVia.hs"
27300                                                                   391
27301                                                                   32
27302                                                                   391
27303                                                                   34
27304                                                             , srcInfoPoints = []
27305                                                             }
27306                                                           "go")))
27307                                                  (Var
27308                                                     SrcSpanInfo
27309                                                       { srcInfoSpan =
27310                                                           SrcSpan
27311                                                             "tests/examples/DerivingVia.hs"
27312                                                             391
27313                                                             35
27314                                                             391
27315                                                             37
27316                                                       , srcInfoPoints = []
27317                                                       }
27318                                                     (UnQual
27319                                                        SrcSpanInfo
27320                                                          { srcInfoSpan =
27321                                                              SrcSpan
27322                                                                "tests/examples/DerivingVia.hs"
27323                                                                391
27324                                                                35
27325                                                                391
27326                                                                37
27327                                                          , srcInfoPoints = []
27328                                                          }
27329                                                        (Ident
27330                                                           SrcSpanInfo
27331                                                             { srcInfoSpan =
27332                                                                 SrcSpan
27333                                                                   "tests/examples/DerivingVia.hs"
27334                                                                   391
27335                                                                   35
27336                                                                   391
27337                                                                   37
27338                                                             , srcInfoPoints = []
27339                                                             }
27340                                                           "xs"))))
27341                                               (Var
27342                                                  SrcSpanInfo
27343                                                    { srcInfoSpan =
27344                                                        SrcSpan
27345                                                          "tests/examples/DerivingVia.hs"
27346                                                          391
27347                                                          38
27348                                                          391
27349                                                          40
27350                                                    , srcInfoPoints = []
27351                                                    }
27352                                                  (UnQual
27353                                                     SrcSpanInfo
27354                                                       { srcInfoSpan =
27355                                                           SrcSpan
27356                                                             "tests/examples/DerivingVia.hs"
27357                                                             391
27358                                                             38
27359                                                             391
27360                                                             40
27361                                                       , srcInfoPoints = []
27362                                                       }
27363                                                     (Ident
27364                                                        SrcSpanInfo
27365                                                          { srcInfoSpan =
27366                                                              SrcSpan
27367                                                                "tests/examples/DerivingVia.hs"
27368                                                                391
27369                                                                38
27370                                                                391
27371                                                                40
27372                                                          , srcInfoPoints = []
27373                                                          }
27374                                                        "ys"))))))
27375                                      Nothing
27376                                  , Match
27377                                      SrcSpanInfo
27378                                        { srcInfoSpan =
27379                                            SrcSpan "tests/examples/DerivingVia.hs" 392 5 392 18
27380                                        , srcInfoPoints = []
27381                                        }
27382                                      (Ident
27383                                         SrcSpanInfo
27384                                           { srcInfoSpan =
27385                                               SrcSpan "tests/examples/DerivingVia.hs" 392 5 392 7
27386                                           , srcInfoPoints = []
27387                                           }
27388                                         "go")
27389                                      [ PList
27390                                          SrcSpanInfo
27391                                            { srcInfoSpan =
27392                                                SrcSpan "tests/examples/DerivingVia.hs" 392 8 392 10
27393                                            , srcInfoPoints =
27394                                                [ SrcSpan
27395                                                    "tests/examples/DerivingVia.hs" 392 8 392 9
27396                                                , SrcSpan
27397                                                    "tests/examples/DerivingVia.hs" 392 9 392 10
27398                                                ]
27399                                            }
27400                                          []
27401                                      , PVar
27402                                          SrcSpanInfo
27403                                            { srcInfoSpan =
27404                                                SrcSpan
27405                                                  "tests/examples/DerivingVia.hs" 392 11 392 13
27406                                            , srcInfoPoints = []
27407                                            }
27408                                          (Ident
27409                                             SrcSpanInfo
27410                                               { srcInfoSpan =
27411                                                   SrcSpan
27412                                                     "tests/examples/DerivingVia.hs" 392 11 392 13
27413                                               , srcInfoPoints = []
27414                                               }
27415                                             "ys")
27416                                      ]
27417                                      (UnGuardedRhs
27418                                         SrcSpanInfo
27419                                           { srcInfoSpan =
27420                                               SrcSpan "tests/examples/DerivingVia.hs" 392 14 392 18
27421                                           , srcInfoPoints =
27422                                               [ SrcSpan
27423                                                   "tests/examples/DerivingVia.hs" 392 14 392 15
27424                                               ]
27425                                           }
27426                                         (Var
27427                                            SrcSpanInfo
27428                                              { srcInfoSpan =
27429                                                  SrcSpan
27430                                                    "tests/examples/DerivingVia.hs" 392 16 392 18
27431                                              , srcInfoPoints = []
27432                                              }
27433                                            (UnQual
27434                                               SrcSpanInfo
27435                                                 { srcInfoSpan =
27436                                                     SrcSpan
27437                                                       "tests/examples/DerivingVia.hs" 392 16 392 18
27438                                                 , srcInfoPoints = []
27439                                                 }
27440                                               (Ident
27441                                                  SrcSpanInfo
27442                                                    { srcInfoSpan =
27443                                                        SrcSpan
27444                                                          "tests/examples/DerivingVia.hs"
27445                                                          392
27446                                                          16
27447                                                          392
27448                                                          18
27449                                                    , srcInfoPoints = []
27450                                                    }
27451                                                  "ys"))))
27452                                      Nothing
27453                                  , Match
27454                                      SrcSpanInfo
27455                                        { srcInfoSpan =
27456                                            SrcSpan "tests/examples/DerivingVia.hs" 393 5 393 18
27457                                        , srcInfoPoints = []
27458                                        }
27459                                      (Ident
27460                                         SrcSpanInfo
27461                                           { srcInfoSpan =
27462                                               SrcSpan "tests/examples/DerivingVia.hs" 393 5 393 7
27463                                           , srcInfoPoints = []
27464                                           }
27465                                         "go")
27466                                      [ PVar
27467                                          SrcSpanInfo
27468                                            { srcInfoSpan =
27469                                                SrcSpan "tests/examples/DerivingVia.hs" 393 8 393 10
27470                                            , srcInfoPoints = []
27471                                            }
27472                                          (Ident
27473                                             SrcSpanInfo
27474                                               { srcInfoSpan =
27475                                                   SrcSpan
27476                                                     "tests/examples/DerivingVia.hs" 393 8 393 10
27477                                               , srcInfoPoints = []
27478                                               }
27479                                             "xs")
27480                                      , PList
27481                                          SrcSpanInfo
27482                                            { srcInfoSpan =
27483                                                SrcSpan
27484                                                  "tests/examples/DerivingVia.hs" 393 11 393 13
27485                                            , srcInfoPoints =
27486                                                [ SrcSpan
27487                                                    "tests/examples/DerivingVia.hs" 393 11 393 12
27488                                                , SrcSpan
27489                                                    "tests/examples/DerivingVia.hs" 393 12 393 13
27490                                                ]
27491                                            }
27492                                          []
27493                                      ]
27494                                      (UnGuardedRhs
27495                                         SrcSpanInfo
27496                                           { srcInfoSpan =
27497                                               SrcSpan "tests/examples/DerivingVia.hs" 393 14 393 18
27498                                           , srcInfoPoints =
27499                                               [ SrcSpan
27500                                                   "tests/examples/DerivingVia.hs" 393 14 393 15
27501                                               ]
27502                                           }
27503                                         (Var
27504                                            SrcSpanInfo
27505                                              { srcInfoSpan =
27506                                                  SrcSpan
27507                                                    "tests/examples/DerivingVia.hs" 393 16 393 18
27508                                              , srcInfoPoints = []
27509                                              }
27510                                            (UnQual
27511                                               SrcSpanInfo
27512                                                 { srcInfoSpan =
27513                                                     SrcSpan
27514                                                       "tests/examples/DerivingVia.hs" 393 16 393 18
27515                                                 , srcInfoPoints = []
27516                                                 }
27517                                               (Ident
27518                                                  SrcSpanInfo
27519                                                    { srcInfoSpan =
27520                                                        SrcSpan
27521                                                          "tests/examples/DerivingVia.hs"
27522                                                          393
27523                                                          16
27524                                                          393
27525                                                          18
27526                                                    , srcInfoPoints = []
27527                                                    }
27528                                                  "xs"))))
27529                                      Nothing
27530                                  ]
27531                              ]))
27532                    ])
27533             ])
27534      , InstDecl
27535          SrcSpanInfo
27536            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 395 1 401 0
27537            , srcInfoPoints =
27538                [ SrcSpan "tests/examples/DerivingVia.hs" 395 1 395 9
27539                , SrcSpan "tests/examples/DerivingVia.hs" 395 25 395 30
27540                , SrcSpan "tests/examples/DerivingVia.hs" 396 3 396 3
27541                , SrcSpan "tests/examples/DerivingVia.hs" 397 3 397 3
27542                , SrcSpan "tests/examples/DerivingVia.hs" 398 3 398 3
27543                , SrcSpan "tests/examples/DerivingVia.hs" 399 3 399 3
27544                , SrcSpan "tests/examples/DerivingVia.hs" 401 1 401 0
27545                ]
27546            }
27547          Nothing
27548          (IRule
27549             SrcSpanInfo
27550               { srcInfoSpan =
27551                   SrcSpan "tests/examples/DerivingVia.hs" 395 10 395 24
27552               , srcInfoPoints = []
27553               }
27554             Nothing
27555             Nothing
27556             (IHApp
27557                SrcSpanInfo
27558                  { srcInfoSpan =
27559                      SrcSpan "tests/examples/DerivingVia.hs" 395 10 395 24
27560                  , srcInfoPoints = []
27561                  }
27562                (IHCon
27563                   SrcSpanInfo
27564                     { srcInfoSpan =
27565                         SrcSpan "tests/examples/DerivingVia.hs" 395 10 395 18
27566                     , srcInfoPoints = []
27567                     }
27568                   (UnQual
27569                      SrcSpanInfo
27570                        { srcInfoSpan =
27571                            SrcSpan "tests/examples/DerivingVia.hs" 395 10 395 18
27572                        , srcInfoPoints = []
27573                        }
27574                      (Ident
27575                         SrcSpanInfo
27576                           { srcInfoSpan =
27577                               SrcSpan "tests/examples/DerivingVia.hs" 395 10 395 18
27578                           , srcInfoPoints = []
27579                           }
27580                         "Additive")))
27581                (TyCon
27582                   SrcSpanInfo
27583                     { srcInfoSpan =
27584                         SrcSpan "tests/examples/DerivingVia.hs" 395 19 395 24
27585                     , srcInfoPoints = []
27586                     }
27587                   (UnQual
27588                      SrcSpanInfo
27589                        { srcInfoSpan =
27590                            SrcSpan "tests/examples/DerivingVia.hs" 395 19 395 24
27591                        , srcInfoPoints = []
27592                        }
27593                      (Ident
27594                         SrcSpanInfo
27595                           { srcInfoSpan =
27596                               SrcSpan "tests/examples/DerivingVia.hs" 395 19 395 24
27597                           , srcInfoPoints = []
27598                           }
27599                         "Maybe")))))
27600          (Just
27601             [ InsDecl
27602                 SrcSpanInfo
27603                   { srcInfoSpan =
27604                       SrcSpan "tests/examples/DerivingVia.hs" 396 3 396 17
27605                   , srcInfoPoints = []
27606                   }
27607                 (PatBind
27608                    SrcSpanInfo
27609                      { srcInfoSpan =
27610                          SrcSpan "tests/examples/DerivingVia.hs" 396 3 396 17
27611                      , srcInfoPoints = []
27612                      }
27613                    (PVar
27614                       SrcSpanInfo
27615                         { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 396 3 396 7
27616                         , srcInfoPoints = []
27617                         }
27618                       (Ident
27619                          SrcSpanInfo
27620                            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 396 3 396 7
27621                            , srcInfoPoints = []
27622                            }
27623                          "zero"))
27624                    (UnGuardedRhs
27625                       SrcSpanInfo
27626                         { srcInfoSpan =
27627                             SrcSpan "tests/examples/DerivingVia.hs" 396 8 396 17
27628                         , srcInfoPoints =
27629                             [ SrcSpan "tests/examples/DerivingVia.hs" 396 8 396 9 ]
27630                         }
27631                       (Con
27632                          SrcSpanInfo
27633                            { srcInfoSpan =
27634                                SrcSpan "tests/examples/DerivingVia.hs" 396 10 396 17
27635                            , srcInfoPoints = []
27636                            }
27637                          (UnQual
27638                             SrcSpanInfo
27639                               { srcInfoSpan =
27640                                   SrcSpan "tests/examples/DerivingVia.hs" 396 10 396 17
27641                               , srcInfoPoints = []
27642                               }
27643                             (Ident
27644                                SrcSpanInfo
27645                                  { srcInfoSpan =
27646                                      SrcSpan "tests/examples/DerivingVia.hs" 396 10 396 17
27647                                  , srcInfoPoints = []
27648                                  }
27649                                "Nothing"))))
27650                    Nothing)
27651             , InsDecl
27652                 SrcSpanInfo
27653                   { srcInfoSpan =
27654                       SrcSpan "tests/examples/DerivingVia.hs" 397 3 399 27
27655                   , srcInfoPoints = []
27656                   }
27657                 (FunBind
27658                    SrcSpanInfo
27659                      { srcInfoSpan =
27660                          SrcSpan "tests/examples/DerivingVia.hs" 397 3 399 27
27661                      , srcInfoPoints = []
27662                      }
27663                    [ Match
27664                        SrcSpanInfo
27665                          { srcInfoSpan =
27666                              SrcSpan "tests/examples/DerivingVia.hs" 397 3 397 44
27667                          , srcInfoPoints = []
27668                          }
27669                        (Ident
27670                           SrcSpanInfo
27671                             { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 397 3 397 9
27672                             , srcInfoPoints = []
27673                             }
27674                           "liftU2")
27675                        [ PVar
27676                            SrcSpanInfo
27677                              { srcInfoSpan =
27678                                  SrcSpan "tests/examples/DerivingVia.hs" 397 10 397 11
27679                              , srcInfoPoints = []
27680                              }
27681                            (Ident
27682                               SrcSpanInfo
27683                                 { srcInfoSpan =
27684                                     SrcSpan "tests/examples/DerivingVia.hs" 397 10 397 11
27685                                 , srcInfoPoints = []
27686                                 }
27687                               "f")
27688                        , PParen
27689                            SrcSpanInfo
27690                              { srcInfoSpan =
27691                                  SrcSpan "tests/examples/DerivingVia.hs" 397 12 397 20
27692                              , srcInfoPoints =
27693                                  [ SrcSpan "tests/examples/DerivingVia.hs" 397 12 397 13
27694                                  , SrcSpan "tests/examples/DerivingVia.hs" 397 19 397 20
27695                                  ]
27696                              }
27697                            (PApp
27698                               SrcSpanInfo
27699                                 { srcInfoSpan =
27700                                     SrcSpan "tests/examples/DerivingVia.hs" 397 13 397 19
27701                                 , srcInfoPoints = []
27702                                 }
27703                               (UnQual
27704                                  SrcSpanInfo
27705                                    { srcInfoSpan =
27706                                        SrcSpan "tests/examples/DerivingVia.hs" 397 13 397 17
27707                                    , srcInfoPoints = []
27708                                    }
27709                                  (Ident
27710                                     SrcSpanInfo
27711                                       { srcInfoSpan =
27712                                           SrcSpan "tests/examples/DerivingVia.hs" 397 13 397 17
27713                                       , srcInfoPoints = []
27714                                       }
27715                                     "Just"))
27716                               [ PVar
27717                                   SrcSpanInfo
27718                                     { srcInfoSpan =
27719                                         SrcSpan "tests/examples/DerivingVia.hs" 397 18 397 19
27720                                     , srcInfoPoints = []
27721                                     }
27722                                   (Ident
27723                                      SrcSpanInfo
27724                                        { srcInfoSpan =
27725                                            SrcSpan "tests/examples/DerivingVia.hs" 397 18 397 19
27726                                        , srcInfoPoints = []
27727                                        }
27728                                      "a")
27729                               ])
27730                        , PParen
27731                            SrcSpanInfo
27732                              { srcInfoSpan =
27733                                  SrcSpan "tests/examples/DerivingVia.hs" 397 21 397 29
27734                              , srcInfoPoints =
27735                                  [ SrcSpan "tests/examples/DerivingVia.hs" 397 21 397 22
27736                                  , SrcSpan "tests/examples/DerivingVia.hs" 397 28 397 29
27737                                  ]
27738                              }
27739                            (PApp
27740                               SrcSpanInfo
27741                                 { srcInfoSpan =
27742                                     SrcSpan "tests/examples/DerivingVia.hs" 397 22 397 28
27743                                 , srcInfoPoints = []
27744                                 }
27745                               (UnQual
27746                                  SrcSpanInfo
27747                                    { srcInfoSpan =
27748                                        SrcSpan "tests/examples/DerivingVia.hs" 397 22 397 26
27749                                    , srcInfoPoints = []
27750                                    }
27751                                  (Ident
27752                                     SrcSpanInfo
27753                                       { srcInfoSpan =
27754                                           SrcSpan "tests/examples/DerivingVia.hs" 397 22 397 26
27755                                       , srcInfoPoints = []
27756                                       }
27757                                     "Just"))
27758                               [ PVar
27759                                   SrcSpanInfo
27760                                     { srcInfoSpan =
27761                                         SrcSpan "tests/examples/DerivingVia.hs" 397 27 397 28
27762                                     , srcInfoPoints = []
27763                                     }
27764                                   (Ident
27765                                      SrcSpanInfo
27766                                        { srcInfoSpan =
27767                                            SrcSpan "tests/examples/DerivingVia.hs" 397 27 397 28
27768                                        , srcInfoPoints = []
27769                                        }
27770                                      "b")
27771                               ])
27772                        ]
27773                        (UnGuardedRhs
27774                           SrcSpanInfo
27775                             { srcInfoSpan =
27776                                 SrcSpan "tests/examples/DerivingVia.hs" 397 30 397 44
27777                             , srcInfoPoints =
27778                                 [ SrcSpan "tests/examples/DerivingVia.hs" 397 30 397 31 ]
27779                             }
27780                           (App
27781                              SrcSpanInfo
27782                                { srcInfoSpan =
27783                                    SrcSpan "tests/examples/DerivingVia.hs" 397 32 397 44
27784                                , srcInfoPoints = []
27785                                }
27786                              (Con
27787                                 SrcSpanInfo
27788                                   { srcInfoSpan =
27789                                       SrcSpan "tests/examples/DerivingVia.hs" 397 32 397 36
27790                                   , srcInfoPoints = []
27791                                   }
27792                                 (UnQual
27793                                    SrcSpanInfo
27794                                      { srcInfoSpan =
27795                                          SrcSpan "tests/examples/DerivingVia.hs" 397 32 397 36
27796                                      , srcInfoPoints = []
27797                                      }
27798                                    (Ident
27799                                       SrcSpanInfo
27800                                         { srcInfoSpan =
27801                                             SrcSpan "tests/examples/DerivingVia.hs" 397 32 397 36
27802                                         , srcInfoPoints = []
27803                                         }
27804                                       "Just")))
27805                              (Paren
27806                                 SrcSpanInfo
27807                                   { srcInfoSpan =
27808                                       SrcSpan "tests/examples/DerivingVia.hs" 397 37 397 44
27809                                   , srcInfoPoints =
27810                                       [ SrcSpan "tests/examples/DerivingVia.hs" 397 37 397 38
27811                                       , SrcSpan "tests/examples/DerivingVia.hs" 397 43 397 44
27812                                       ]
27813                                   }
27814                                 (App
27815                                    SrcSpanInfo
27816                                      { srcInfoSpan =
27817                                          SrcSpan "tests/examples/DerivingVia.hs" 397 38 397 43
27818                                      , srcInfoPoints = []
27819                                      }
27820                                    (App
27821                                       SrcSpanInfo
27822                                         { srcInfoSpan =
27823                                             SrcSpan "tests/examples/DerivingVia.hs" 397 38 397 41
27824                                         , srcInfoPoints = []
27825                                         }
27826                                       (Var
27827                                          SrcSpanInfo
27828                                            { srcInfoSpan =
27829                                                SrcSpan
27830                                                  "tests/examples/DerivingVia.hs" 397 38 397 39
27831                                            , srcInfoPoints = []
27832                                            }
27833                                          (UnQual
27834                                             SrcSpanInfo
27835                                               { srcInfoSpan =
27836                                                   SrcSpan
27837                                                     "tests/examples/DerivingVia.hs" 397 38 397 39
27838                                               , srcInfoPoints = []
27839                                               }
27840                                             (Ident
27841                                                SrcSpanInfo
27842                                                  { srcInfoSpan =
27843                                                      SrcSpan
27844                                                        "tests/examples/DerivingVia.hs"
27845                                                        397
27846                                                        38
27847                                                        397
27848                                                        39
27849                                                  , srcInfoPoints = []
27850                                                  }
27851                                                "f")))
27852                                       (Var
27853                                          SrcSpanInfo
27854                                            { srcInfoSpan =
27855                                                SrcSpan
27856                                                  "tests/examples/DerivingVia.hs" 397 40 397 41
27857                                            , srcInfoPoints = []
27858                                            }
27859                                          (UnQual
27860                                             SrcSpanInfo
27861                                               { srcInfoSpan =
27862                                                   SrcSpan
27863                                                     "tests/examples/DerivingVia.hs" 397 40 397 41
27864                                               , srcInfoPoints = []
27865                                               }
27866                                             (Ident
27867                                                SrcSpanInfo
27868                                                  { srcInfoSpan =
27869                                                      SrcSpan
27870                                                        "tests/examples/DerivingVia.hs"
27871                                                        397
27872                                                        40
27873                                                        397
27874                                                        41
27875                                                  , srcInfoPoints = []
27876                                                  }
27877                                                "a"))))
27878                                    (Var
27879                                       SrcSpanInfo
27880                                         { srcInfoSpan =
27881                                             SrcSpan "tests/examples/DerivingVia.hs" 397 42 397 43
27882                                         , srcInfoPoints = []
27883                                         }
27884                                       (UnQual
27885                                          SrcSpanInfo
27886                                            { srcInfoSpan =
27887                                                SrcSpan
27888                                                  "tests/examples/DerivingVia.hs" 397 42 397 43
27889                                            , srcInfoPoints = []
27890                                            }
27891                                          (Ident
27892                                             SrcSpanInfo
27893                                               { srcInfoSpan =
27894                                                   SrcSpan
27895                                                     "tests/examples/DerivingVia.hs" 397 42 397 43
27896                                               , srcInfoPoints = []
27897                                               }
27898                                             "b")))))))
27899                        Nothing
27900                    , Match
27901                        SrcSpanInfo
27902                          { srcInfoSpan =
27903                              SrcSpan "tests/examples/DerivingVia.hs" 398 3 398 27
27904                          , srcInfoPoints = []
27905                          }
27906                        (Ident
27907                           SrcSpanInfo
27908                             { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 398 3 398 9
27909                             , srcInfoPoints = []
27910                             }
27911                           "liftU2")
27912                        [ PWildCard
27913                            SrcSpanInfo
27914                              { srcInfoSpan =
27915                                  SrcSpan "tests/examples/DerivingVia.hs" 398 10 398 11
27916                              , srcInfoPoints = []
27917                              }
27918                        , PApp
27919                            SrcSpanInfo
27920                              { srcInfoSpan =
27921                                  SrcSpan "tests/examples/DerivingVia.hs" 398 12 398 19
27922                              , srcInfoPoints = []
27923                              }
27924                            (UnQual
27925                               SrcSpanInfo
27926                                 { srcInfoSpan =
27927                                     SrcSpan "tests/examples/DerivingVia.hs" 398 12 398 19
27928                                 , srcInfoPoints = []
27929                                 }
27930                               (Ident
27931                                  SrcSpanInfo
27932                                    { srcInfoSpan =
27933                                        SrcSpan "tests/examples/DerivingVia.hs" 398 12 398 19
27934                                    , srcInfoPoints = []
27935                                    }
27936                                  "Nothing"))
27937                            []
27938                        , PVar
27939                            SrcSpanInfo
27940                              { srcInfoSpan =
27941                                  SrcSpan "tests/examples/DerivingVia.hs" 398 20 398 22
27942                              , srcInfoPoints = []
27943                              }
27944                            (Ident
27945                               SrcSpanInfo
27946                                 { srcInfoSpan =
27947                                     SrcSpan "tests/examples/DerivingVia.hs" 398 20 398 22
27948                                 , srcInfoPoints = []
27949                                 }
27950                               "ys")
27951                        ]
27952                        (UnGuardedRhs
27953                           SrcSpanInfo
27954                             { srcInfoSpan =
27955                                 SrcSpan "tests/examples/DerivingVia.hs" 398 23 398 27
27956                             , srcInfoPoints =
27957                                 [ SrcSpan "tests/examples/DerivingVia.hs" 398 23 398 24 ]
27958                             }
27959                           (Var
27960                              SrcSpanInfo
27961                                { srcInfoSpan =
27962                                    SrcSpan "tests/examples/DerivingVia.hs" 398 25 398 27
27963                                , srcInfoPoints = []
27964                                }
27965                              (UnQual
27966                                 SrcSpanInfo
27967                                   { srcInfoSpan =
27968                                       SrcSpan "tests/examples/DerivingVia.hs" 398 25 398 27
27969                                   , srcInfoPoints = []
27970                                   }
27971                                 (Ident
27972                                    SrcSpanInfo
27973                                      { srcInfoSpan =
27974                                          SrcSpan "tests/examples/DerivingVia.hs" 398 25 398 27
27975                                      , srcInfoPoints = []
27976                                      }
27977                                    "ys"))))
27978                        Nothing
27979                    , Match
27980                        SrcSpanInfo
27981                          { srcInfoSpan =
27982                              SrcSpan "tests/examples/DerivingVia.hs" 399 3 399 27
27983                          , srcInfoPoints = []
27984                          }
27985                        (Ident
27986                           SrcSpanInfo
27987                             { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 399 3 399 9
27988                             , srcInfoPoints = []
27989                             }
27990                           "liftU2")
27991                        [ PWildCard
27992                            SrcSpanInfo
27993                              { srcInfoSpan =
27994                                  SrcSpan "tests/examples/DerivingVia.hs" 399 10 399 11
27995                              , srcInfoPoints = []
27996                              }
27997                        , PVar
27998                            SrcSpanInfo
27999                              { srcInfoSpan =
28000                                  SrcSpan "tests/examples/DerivingVia.hs" 399 12 399 14
28001                              , srcInfoPoints = []
28002                              }
28003                            (Ident
28004                               SrcSpanInfo
28005                                 { srcInfoSpan =
28006                                     SrcSpan "tests/examples/DerivingVia.hs" 399 12 399 14
28007                                 , srcInfoPoints = []
28008                                 }
28009                               "xs")
28010                        , PApp
28011                            SrcSpanInfo
28012                              { srcInfoSpan =
28013                                  SrcSpan "tests/examples/DerivingVia.hs" 399 15 399 22
28014                              , srcInfoPoints = []
28015                              }
28016                            (UnQual
28017                               SrcSpanInfo
28018                                 { srcInfoSpan =
28019                                     SrcSpan "tests/examples/DerivingVia.hs" 399 15 399 22
28020                                 , srcInfoPoints = []
28021                                 }
28022                               (Ident
28023                                  SrcSpanInfo
28024                                    { srcInfoSpan =
28025                                        SrcSpan "tests/examples/DerivingVia.hs" 399 15 399 22
28026                                    , srcInfoPoints = []
28027                                    }
28028                                  "Nothing"))
28029                            []
28030                        ]
28031                        (UnGuardedRhs
28032                           SrcSpanInfo
28033                             { srcInfoSpan =
28034                                 SrcSpan "tests/examples/DerivingVia.hs" 399 23 399 27
28035                             , srcInfoPoints =
28036                                 [ SrcSpan "tests/examples/DerivingVia.hs" 399 23 399 24 ]
28037                             }
28038                           (Var
28039                              SrcSpanInfo
28040                                { srcInfoSpan =
28041                                    SrcSpan "tests/examples/DerivingVia.hs" 399 25 399 27
28042                                , srcInfoPoints = []
28043                                }
28044                              (UnQual
28045                                 SrcSpanInfo
28046                                   { srcInfoSpan =
28047                                       SrcSpan "tests/examples/DerivingVia.hs" 399 25 399 27
28048                                   , srcInfoPoints = []
28049                                   }
28050                                 (Ident
28051                                    SrcSpanInfo
28052                                      { srcInfoSpan =
28053                                          SrcSpan "tests/examples/DerivingVia.hs" 399 25 399 27
28054                                      , srcInfoPoints = []
28055                                      }
28056                                    "xs"))))
28057                        Nothing
28058                    ])
28059             ])
28060      , InstDecl
28061          SrcSpanInfo
28062            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 401 1 405 0
28063            , srcInfoPoints =
28064                [ SrcSpan "tests/examples/DerivingVia.hs" 401 1 401 9
28065                , SrcSpan "tests/examples/DerivingVia.hs" 401 56 401 61
28066                , SrcSpan "tests/examples/DerivingVia.hs" 402 3 402 3
28067                , SrcSpan "tests/examples/DerivingVia.hs" 403 3 403 3
28068                , SrcSpan "tests/examples/DerivingVia.hs" 405 1 405 0
28069                ]
28070            }
28071          Nothing
28072          (IRule
28073             SrcSpanInfo
28074               { srcInfoSpan =
28075                   SrcSpan "tests/examples/DerivingVia.hs" 401 10 401 55
28076               , srcInfoPoints = []
28077               }
28078             Nothing
28079             (Just
28080                (CxSingle
28081                   SrcSpanInfo
28082                     { srcInfoSpan =
28083                         SrcSpan "tests/examples/DerivingVia.hs" 401 10 401 26
28084                     , srcInfoPoints =
28085                         [ SrcSpan "tests/examples/DerivingVia.hs" 401 24 401 26 ]
28086                     }
28087                   (TypeA
28088                      SrcSpanInfo
28089                        { srcInfoSpan =
28090                            SrcSpan "tests/examples/DerivingVia.hs" 401 10 401 26
28091                        , srcInfoPoints =
28092                            [ SrcSpan "tests/examples/DerivingVia.hs" 401 24 401 26 ]
28093                        }
28094                      (TyApp
28095                         SrcSpanInfo
28096                           { srcInfoSpan =
28097                               SrcSpan "tests/examples/DerivingVia.hs" 401 10 401 26
28098                           , srcInfoPoints =
28099                               [ SrcSpan "tests/examples/DerivingVia.hs" 401 24 401 26 ]
28100                           }
28101                         (TyCon
28102                            SrcSpanInfo
28103                              { srcInfoSpan =
28104                                  SrcSpan "tests/examples/DerivingVia.hs" 401 10 401 26
28105                              , srcInfoPoints =
28106                                  [ SrcSpan "tests/examples/DerivingVia.hs" 401 24 401 26 ]
28107                              }
28108                            (UnQual
28109                               SrcSpanInfo
28110                                 { srcInfoSpan =
28111                                     SrcSpan "tests/examples/DerivingVia.hs" 401 10 401 21
28112                                 , srcInfoPoints = []
28113                                 }
28114                               (Ident
28115                                  SrcSpanInfo
28116                                    { srcInfoSpan =
28117                                        SrcSpan "tests/examples/DerivingVia.hs" 401 10 401 21
28118                                    , srcInfoPoints = []
28119                                    }
28120                                  "Applicative")))
28121                         (TyVar
28122                            SrcSpanInfo
28123                              { srcInfoSpan =
28124                                  SrcSpan "tests/examples/DerivingVia.hs" 401 22 401 23
28125                              , srcInfoPoints = []
28126                              }
28127                            (Ident
28128                               SrcSpanInfo
28129                                 { srcInfoSpan =
28130                                     SrcSpan "tests/examples/DerivingVia.hs" 401 22 401 23
28131                                 , srcInfoPoints = []
28132                                 }
28133                               "f"))))))
28134             (IHApp
28135                SrcSpanInfo
28136                  { srcInfoSpan =
28137                      SrcSpan "tests/examples/DerivingVia.hs" 401 27 401 55
28138                  , srcInfoPoints = []
28139                  }
28140                (IHCon
28141                   SrcSpanInfo
28142                     { srcInfoSpan =
28143                         SrcSpan "tests/examples/DerivingVia.hs" 401 27 401 35
28144                     , srcInfoPoints = []
28145                     }
28146                   (UnQual
28147                      SrcSpanInfo
28148                        { srcInfoSpan =
28149                            SrcSpan "tests/examples/DerivingVia.hs" 401 27 401 35
28150                        , srcInfoPoints = []
28151                        }
28152                      (Ident
28153                         SrcSpanInfo
28154                           { srcInfoSpan =
28155                               SrcSpan "tests/examples/DerivingVia.hs" 401 27 401 35
28156                           , srcInfoPoints = []
28157                           }
28158                         "Additive")))
28159                (TyParen
28160                   SrcSpanInfo
28161                     { srcInfoSpan =
28162                         SrcSpan "tests/examples/DerivingVia.hs" 401 36 401 55
28163                     , srcInfoPoints =
28164                         [ SrcSpan "tests/examples/DerivingVia.hs" 401 36 401 37
28165                         , SrcSpan "tests/examples/DerivingVia.hs" 401 54 401 55
28166                         ]
28167                     }
28168                   (TyApp
28169                      SrcSpanInfo
28170                        { srcInfoSpan =
28171                            SrcSpan "tests/examples/DerivingVia.hs" 401 37 401 54
28172                        , srcInfoPoints = []
28173                        }
28174                      (TyCon
28175                         SrcSpanInfo
28176                           { srcInfoSpan =
28177                               SrcSpan "tests/examples/DerivingVia.hs" 401 37 401 52
28178                           , srcInfoPoints = []
28179                           }
28180                         (UnQual
28181                            SrcSpanInfo
28182                              { srcInfoSpan =
28183                                  SrcSpan "tests/examples/DerivingVia.hs" 401 37 401 52
28184                              , srcInfoPoints = []
28185                              }
28186                            (Ident
28187                               SrcSpanInfo
28188                                 { srcInfoSpan =
28189                                     SrcSpan "tests/examples/DerivingVia.hs" 401 37 401 52
28190                                 , srcInfoPoints = []
28191                                 }
28192                               "WrapApplicative")))
28193                      (TyVar
28194                         SrcSpanInfo
28195                           { srcInfoSpan =
28196                               SrcSpan "tests/examples/DerivingVia.hs" 401 53 401 54
28197                           , srcInfoPoints = []
28198                           }
28199                         (Ident
28200                            SrcSpanInfo
28201                              { srcInfoSpan =
28202                                  SrcSpan "tests/examples/DerivingVia.hs" 401 53 401 54
28203                              , srcInfoPoints = []
28204                              }
28205                            "f"))))))
28206          (Just
28207             [ InsDecl
28208                 SrcSpanInfo
28209                   { srcInfoSpan =
28210                       SrcSpan "tests/examples/DerivingVia.hs" 402 3 402 18
28211                   , srcInfoPoints = []
28212                   }
28213                 (PatBind
28214                    SrcSpanInfo
28215                      { srcInfoSpan =
28216                          SrcSpan "tests/examples/DerivingVia.hs" 402 3 402 18
28217                      , srcInfoPoints = []
28218                      }
28219                    (PVar
28220                       SrcSpanInfo
28221                         { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 402 3 402 7
28222                         , srcInfoPoints = []
28223                         }
28224                       (Ident
28225                          SrcSpanInfo
28226                            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 402 3 402 7
28227                            , srcInfoPoints = []
28228                            }
28229                          "zero"))
28230                    (UnGuardedRhs
28231                       SrcSpanInfo
28232                         { srcInfoSpan =
28233                             SrcSpan "tests/examples/DerivingVia.hs" 402 10 402 18
28234                         , srcInfoPoints =
28235                             [ SrcSpan "tests/examples/DerivingVia.hs" 402 10 402 11 ]
28236                         }
28237                       (App
28238                          SrcSpanInfo
28239                            { srcInfoSpan =
28240                                SrcSpan "tests/examples/DerivingVia.hs" 402 12 402 18
28241                            , srcInfoPoints = []
28242                            }
28243                          (Var
28244                             SrcSpanInfo
28245                               { srcInfoSpan =
28246                                   SrcSpan "tests/examples/DerivingVia.hs" 402 12 402 16
28247                               , srcInfoPoints = []
28248                               }
28249                             (UnQual
28250                                SrcSpanInfo
28251                                  { srcInfoSpan =
28252                                      SrcSpan "tests/examples/DerivingVia.hs" 402 12 402 16
28253                                  , srcInfoPoints = []
28254                                  }
28255                                (Ident
28256                                   SrcSpanInfo
28257                                     { srcInfoSpan =
28258                                         SrcSpan "tests/examples/DerivingVia.hs" 402 12 402 16
28259                                     , srcInfoPoints = []
28260                                     }
28261                                   "pure")))
28262                          (Lit
28263                             SrcSpanInfo
28264                               { srcInfoSpan =
28265                                   SrcSpan "tests/examples/DerivingVia.hs" 402 17 402 18
28266                               , srcInfoPoints = []
28267                               }
28268                             (Int
28269                                SrcSpanInfo
28270                                  { srcInfoSpan =
28271                                      SrcSpan "tests/examples/DerivingVia.hs" 402 17 402 18
28272                                  , srcInfoPoints = []
28273                                  }
28274                                0
28275                                "0"))))
28276                    Nothing)
28277             , InsDecl
28278                 SrcSpanInfo
28279                   { srcInfoSpan =
28280                       SrcSpan "tests/examples/DerivingVia.hs" 403 3 403 18
28281                   , srcInfoPoints = []
28282                   }
28283                 (PatBind
28284                    SrcSpanInfo
28285                      { srcInfoSpan =
28286                          SrcSpan "tests/examples/DerivingVia.hs" 403 3 403 18
28287                      , srcInfoPoints = []
28288                      }
28289                    (PVar
28290                       SrcSpanInfo
28291                         { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 403 3 403 9
28292                         , srcInfoPoints = []
28293                         }
28294                       (Ident
28295                          SrcSpanInfo
28296                            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 403 3 403 9
28297                            , srcInfoPoints = []
28298                            }
28299                          "liftU2"))
28300                    (UnGuardedRhs
28301                       SrcSpanInfo
28302                         { srcInfoSpan =
28303                             SrcSpan "tests/examples/DerivingVia.hs" 403 10 403 18
28304                         , srcInfoPoints =
28305                             [ SrcSpan "tests/examples/DerivingVia.hs" 403 10 403 11 ]
28306                         }
28307                       (Var
28308                          SrcSpanInfo
28309                            { srcInfoSpan =
28310                                SrcSpan "tests/examples/DerivingVia.hs" 403 12 403 18
28311                            , srcInfoPoints = []
28312                            }
28313                          (UnQual
28314                             SrcSpanInfo
28315                               { srcInfoSpan =
28316                                   SrcSpan "tests/examples/DerivingVia.hs" 403 12 403 18
28317                               , srcInfoPoints = []
28318                               }
28319                             (Ident
28320                                SrcSpanInfo
28321                                  { srcInfoSpan =
28322                                      SrcSpan "tests/examples/DerivingVia.hs" 403 12 403 18
28323                                  , srcInfoPoints = []
28324                                  }
28325                                "liftA2"))))
28326                    Nothing)
28327             ])
28328      , DerivDecl
28329          SrcSpanInfo
28330            { srcInfoSpan =
28331                SrcSpan "tests/examples/DerivingVia.hs" 405 1 405 67
28332            , srcInfoPoints =
28333                [ SrcSpan "tests/examples/DerivingVia.hs" 405 1 405 9
28334                , SrcSpan "tests/examples/DerivingVia.hs" 405 41 405 49
28335                ]
28336            }
28337          (Just
28338             (DerivVia
28339                SrcSpanInfo
28340                  { srcInfoSpan =
28341                      SrcSpan "tests/examples/DerivingVia.hs" 405 10 405 13
28342                  , srcInfoPoints = []
28343                  }
28344                (TyParen
28345                   SrcSpanInfo
28346                     { srcInfoSpan =
28347                         SrcSpan "tests/examples/DerivingVia.hs" 405 14 405 40
28348                     , srcInfoPoints =
28349                         [ SrcSpan "tests/examples/DerivingVia.hs" 405 14 405 15
28350                         , SrcSpan "tests/examples/DerivingVia.hs" 405 39 405 40
28351                         ]
28352                     }
28353                   (TyApp
28354                      SrcSpanInfo
28355                        { srcInfoSpan =
28356                            SrcSpan "tests/examples/DerivingVia.hs" 405 15 405 39
28357                        , srcInfoPoints = []
28358                        }
28359                      (TyCon
28360                         SrcSpanInfo
28361                           { srcInfoSpan =
28362                               SrcSpan "tests/examples/DerivingVia.hs" 405 15 405 30
28363                           , srcInfoPoints = []
28364                           }
28365                         (UnQual
28366                            SrcSpanInfo
28367                              { srcInfoSpan =
28368                                  SrcSpan "tests/examples/DerivingVia.hs" 405 15 405 30
28369                              , srcInfoPoints = []
28370                              }
28371                            (Ident
28372                               SrcSpanInfo
28373                                 { srcInfoSpan =
28374                                     SrcSpan "tests/examples/DerivingVia.hs" 405 15 405 30
28375                                 , srcInfoPoints = []
28376                                 }
28377                               "WrapApplicative")))
28378                      (TyParen
28379                         SrcSpanInfo
28380                           { srcInfoSpan =
28381                               SrcSpan "tests/examples/DerivingVia.hs" 405 31 405 39
28382                           , srcInfoPoints =
28383                               [ SrcSpan "tests/examples/DerivingVia.hs" 405 31 405 32
28384                               , SrcSpan "tests/examples/DerivingVia.hs" 405 38 405 39
28385                               ]
28386                           }
28387                         (TyApp
28388                            SrcSpanInfo
28389                              { srcInfoSpan =
28390                                  SrcSpan "tests/examples/DerivingVia.hs" 405 32 405 38
28391                              , srcInfoPoints = []
28392                              }
28393                            (TyCon
28394                               SrcSpanInfo
28395                                 { srcInfoSpan =
28396                                     SrcSpan "tests/examples/DerivingVia.hs" 405 32 405 36
28397                                 , srcInfoPoints =
28398                                     [ SrcSpan "tests/examples/DerivingVia.hs" 405 32 405 33
28399                                     , SrcSpan "tests/examples/DerivingVia.hs" 405 33 405 35
28400                                     , SrcSpan "tests/examples/DerivingVia.hs" 405 35 405 36
28401                                     ]
28402                                 }
28403                               (Special
28404                                  SrcSpanInfo
28405                                    { srcInfoSpan =
28406                                        SrcSpan "tests/examples/DerivingVia.hs" 405 32 405 36
28407                                    , srcInfoPoints =
28408                                        [ SrcSpan "tests/examples/DerivingVia.hs" 405 32 405 33
28409                                        , SrcSpan "tests/examples/DerivingVia.hs" 405 33 405 35
28410                                        , SrcSpan "tests/examples/DerivingVia.hs" 405 35 405 36
28411                                        ]
28412                                    }
28413                                  (FunCon
28414                                     SrcSpanInfo
28415                                       { srcInfoSpan =
28416                                           SrcSpan "tests/examples/DerivingVia.hs" 405 32 405 36
28417                                       , srcInfoPoints =
28418                                           [ SrcSpan "tests/examples/DerivingVia.hs" 405 32 405 33
28419                                           , SrcSpan "tests/examples/DerivingVia.hs" 405 33 405 35
28420                                           , SrcSpan "tests/examples/DerivingVia.hs" 405 35 405 36
28421                                           ]
28422                                       })))
28423                            (TyVar
28424                               SrcSpanInfo
28425                                 { srcInfoSpan =
28426                                     SrcSpan "tests/examples/DerivingVia.hs" 405 37 405 38
28427                                 , srcInfoPoints = []
28428                                 }
28429                               (Ident
28430                                  SrcSpanInfo
28431                                    { srcInfoSpan =
28432                                        SrcSpan "tests/examples/DerivingVia.hs" 405 37 405 38
28433                                    , srcInfoPoints = []
28434                                    }
28435                                  "a"))))))))
28436          Nothing
28437          (IRule
28438             SrcSpanInfo
28439               { srcInfoSpan =
28440                   SrcSpan "tests/examples/DerivingVia.hs" 405 50 405 67
28441               , srcInfoPoints = []
28442               }
28443             Nothing
28444             Nothing
28445             (IHApp
28446                SrcSpanInfo
28447                  { srcInfoSpan =
28448                      SrcSpan "tests/examples/DerivingVia.hs" 405 50 405 67
28449                  , srcInfoPoints = []
28450                  }
28451                (IHCon
28452                   SrcSpanInfo
28453                     { srcInfoSpan =
28454                         SrcSpan "tests/examples/DerivingVia.hs" 405 50 405 58
28455                     , srcInfoPoints = []
28456                     }
28457                   (UnQual
28458                      SrcSpanInfo
28459                        { srcInfoSpan =
28460                            SrcSpan "tests/examples/DerivingVia.hs" 405 50 405 58
28461                        , srcInfoPoints = []
28462                        }
28463                      (Ident
28464                         SrcSpanInfo
28465                           { srcInfoSpan =
28466                               SrcSpan "tests/examples/DerivingVia.hs" 405 50 405 58
28467                           , srcInfoPoints = []
28468                           }
28469                         "Additive")))
28470                (TyParen
28471                   SrcSpanInfo
28472                     { srcInfoSpan =
28473                         SrcSpan "tests/examples/DerivingVia.hs" 405 59 405 67
28474                     , srcInfoPoints =
28475                         [ SrcSpan "tests/examples/DerivingVia.hs" 405 59 405 60
28476                         , SrcSpan "tests/examples/DerivingVia.hs" 405 66 405 67
28477                         ]
28478                     }
28479                   (TyApp
28480                      SrcSpanInfo
28481                        { srcInfoSpan =
28482                            SrcSpan "tests/examples/DerivingVia.hs" 405 60 405 66
28483                        , srcInfoPoints = []
28484                        }
28485                      (TyCon
28486                         SrcSpanInfo
28487                           { srcInfoSpan =
28488                               SrcSpan "tests/examples/DerivingVia.hs" 405 60 405 64
28489                           , srcInfoPoints =
28490                               [ SrcSpan "tests/examples/DerivingVia.hs" 405 60 405 61
28491                               , SrcSpan "tests/examples/DerivingVia.hs" 405 61 405 63
28492                               , SrcSpan "tests/examples/DerivingVia.hs" 405 63 405 64
28493                               ]
28494                           }
28495                         (Special
28496                            SrcSpanInfo
28497                              { srcInfoSpan =
28498                                  SrcSpan "tests/examples/DerivingVia.hs" 405 60 405 64
28499                              , srcInfoPoints =
28500                                  [ SrcSpan "tests/examples/DerivingVia.hs" 405 60 405 61
28501                                  , SrcSpan "tests/examples/DerivingVia.hs" 405 61 405 63
28502                                  , SrcSpan "tests/examples/DerivingVia.hs" 405 63 405 64
28503                                  ]
28504                              }
28505                            (FunCon
28506                               SrcSpanInfo
28507                                 { srcInfoSpan =
28508                                     SrcSpan "tests/examples/DerivingVia.hs" 405 60 405 64
28509                                 , srcInfoPoints =
28510                                     [ SrcSpan "tests/examples/DerivingVia.hs" 405 60 405 61
28511                                     , SrcSpan "tests/examples/DerivingVia.hs" 405 61 405 63
28512                                     , SrcSpan "tests/examples/DerivingVia.hs" 405 63 405 64
28513                                     ]
28514                                 })))
28515                      (TyVar
28516                         SrcSpanInfo
28517                           { srcInfoSpan =
28518                               SrcSpan "tests/examples/DerivingVia.hs" 405 65 405 66
28519                           , srcInfoPoints = []
28520                           }
28521                         (Ident
28522                            SrcSpanInfo
28523                              { srcInfoSpan =
28524                                  SrcSpan "tests/examples/DerivingVia.hs" 405 65 405 66
28525                              , srcInfoPoints = []
28526                              }
28527                            "a"))))))
28528      , DerivDecl
28529          SrcSpanInfo
28530            { srcInfoSpan =
28531                SrcSpan "tests/examples/DerivingVia.hs" 406 1 406 66
28532            , srcInfoPoints =
28533                [ SrcSpan "tests/examples/DerivingVia.hs" 406 1 406 9
28534                , SrcSpan "tests/examples/DerivingVia.hs" 406 41 406 49
28535                ]
28536            }
28537          (Just
28538             (DerivVia
28539                SrcSpanInfo
28540                  { srcInfoSpan =
28541                      SrcSpan "tests/examples/DerivingVia.hs" 406 10 406 13
28542                  , srcInfoPoints = []
28543                  }
28544                (TyParen
28545                   SrcSpanInfo
28546                     { srcInfoSpan =
28547                         SrcSpan "tests/examples/DerivingVia.hs" 406 14 406 39
28548                     , srcInfoPoints =
28549                         [ SrcSpan "tests/examples/DerivingVia.hs" 406 14 406 15
28550                         , SrcSpan "tests/examples/DerivingVia.hs" 406 38 406 39
28551                         ]
28552                     }
28553                   (TyApp
28554                      SrcSpanInfo
28555                        { srcInfoSpan =
28556                            SrcSpan "tests/examples/DerivingVia.hs" 406 15 406 38
28557                        , srcInfoPoints = []
28558                        }
28559                      (TyCon
28560                         SrcSpanInfo
28561                           { srcInfoSpan =
28562                               SrcSpan "tests/examples/DerivingVia.hs" 406 15 406 30
28563                           , srcInfoPoints = []
28564                           }
28565                         (UnQual
28566                            SrcSpanInfo
28567                              { srcInfoSpan =
28568                                  SrcSpan "tests/examples/DerivingVia.hs" 406 15 406 30
28569                              , srcInfoPoints = []
28570                              }
28571                            (Ident
28572                               SrcSpanInfo
28573                                 { srcInfoSpan =
28574                                     SrcSpan "tests/examples/DerivingVia.hs" 406 15 406 30
28575                                 , srcInfoPoints = []
28576                                 }
28577                               "WrapApplicative")))
28578                      (TyCon
28579                         SrcSpanInfo
28580                           { srcInfoSpan =
28581                               SrcSpan "tests/examples/DerivingVia.hs" 406 31 406 38
28582                           , srcInfoPoints = []
28583                           }
28584                         (UnQual
28585                            SrcSpanInfo
28586                              { srcInfoSpan =
28587                                  SrcSpan "tests/examples/DerivingVia.hs" 406 31 406 38
28588                              , srcInfoPoints = []
28589                              }
28590                            (Ident
28591                               SrcSpanInfo
28592                                 { srcInfoSpan =
28593                                     SrcSpan "tests/examples/DerivingVia.hs" 406 31 406 38
28594                                 , srcInfoPoints = []
28595                                 }
28596                               "Complex")))))))
28597          Nothing
28598          (IRule
28599             SrcSpanInfo
28600               { srcInfoSpan =
28601                   SrcSpan "tests/examples/DerivingVia.hs" 406 50 406 66
28602               , srcInfoPoints = []
28603               }
28604             Nothing
28605             Nothing
28606             (IHApp
28607                SrcSpanInfo
28608                  { srcInfoSpan =
28609                      SrcSpan "tests/examples/DerivingVia.hs" 406 50 406 66
28610                  , srcInfoPoints = []
28611                  }
28612                (IHCon
28613                   SrcSpanInfo
28614                     { srcInfoSpan =
28615                         SrcSpan "tests/examples/DerivingVia.hs" 406 50 406 58
28616                     , srcInfoPoints = []
28617                     }
28618                   (UnQual
28619                      SrcSpanInfo
28620                        { srcInfoSpan =
28621                            SrcSpan "tests/examples/DerivingVia.hs" 406 50 406 58
28622                        , srcInfoPoints = []
28623                        }
28624                      (Ident
28625                         SrcSpanInfo
28626                           { srcInfoSpan =
28627                               SrcSpan "tests/examples/DerivingVia.hs" 406 50 406 58
28628                           , srcInfoPoints = []
28629                           }
28630                         "Additive")))
28631                (TyCon
28632                   SrcSpanInfo
28633                     { srcInfoSpan =
28634                         SrcSpan "tests/examples/DerivingVia.hs" 406 59 406 66
28635                     , srcInfoPoints = []
28636                     }
28637                   (UnQual
28638                      SrcSpanInfo
28639                        { srcInfoSpan =
28640                            SrcSpan "tests/examples/DerivingVia.hs" 406 59 406 66
28641                        , srcInfoPoints = []
28642                        }
28643                      (Ident
28644                         SrcSpanInfo
28645                           { srcInfoSpan =
28646                               SrcSpan "tests/examples/DerivingVia.hs" 406 59 406 66
28647                           , srcInfoPoints = []
28648                           }
28649                         "Complex")))))
28650      , DerivDecl
28651          SrcSpanInfo
28652            { srcInfoSpan =
28653                SrcSpan "tests/examples/DerivingVia.hs" 407 1 407 67
28654            , srcInfoPoints =
28655                [ SrcSpan "tests/examples/DerivingVia.hs" 407 1 407 9
28656                , SrcSpan "tests/examples/DerivingVia.hs" 407 41 407 49
28657                ]
28658            }
28659          (Just
28660             (DerivVia
28661                SrcSpanInfo
28662                  { srcInfoSpan =
28663                      SrcSpan "tests/examples/DerivingVia.hs" 407 10 407 13
28664                  , srcInfoPoints = []
28665                  }
28666                (TyParen
28667                   SrcSpanInfo
28668                     { srcInfoSpan =
28669                         SrcSpan "tests/examples/DerivingVia.hs" 407 14 407 40
28670                     , srcInfoPoints =
28671                         [ SrcSpan "tests/examples/DerivingVia.hs" 407 14 407 15
28672                         , SrcSpan "tests/examples/DerivingVia.hs" 407 39 407 40
28673                         ]
28674                     }
28675                   (TyApp
28676                      SrcSpanInfo
28677                        { srcInfoSpan =
28678                            SrcSpan "tests/examples/DerivingVia.hs" 407 15 407 39
28679                        , srcInfoPoints = []
28680                        }
28681                      (TyCon
28682                         SrcSpanInfo
28683                           { srcInfoSpan =
28684                               SrcSpan "tests/examples/DerivingVia.hs" 407 15 407 30
28685                           , srcInfoPoints = []
28686                           }
28687                         (UnQual
28688                            SrcSpanInfo
28689                              { srcInfoSpan =
28690                                  SrcSpan "tests/examples/DerivingVia.hs" 407 15 407 30
28691                              , srcInfoPoints = []
28692                              }
28693                            (Ident
28694                               SrcSpanInfo
28695                                 { srcInfoSpan =
28696                                     SrcSpan "tests/examples/DerivingVia.hs" 407 15 407 30
28697                                 , srcInfoPoints = []
28698                                 }
28699                               "WrapApplicative")))
28700                      (TyCon
28701                         SrcSpanInfo
28702                           { srcInfoSpan =
28703                               SrcSpan "tests/examples/DerivingVia.hs" 407 31 407 39
28704                           , srcInfoPoints = []
28705                           }
28706                         (UnQual
28707                            SrcSpanInfo
28708                              { srcInfoSpan =
28709                                  SrcSpan "tests/examples/DerivingVia.hs" 407 31 407 39
28710                              , srcInfoPoints = []
28711                              }
28712                            (Ident
28713                               SrcSpanInfo
28714                                 { srcInfoSpan =
28715                                     SrcSpan "tests/examples/DerivingVia.hs" 407 31 407 39
28716                                 , srcInfoPoints = []
28717                                 }
28718                               "Identity")))))))
28719          Nothing
28720          (IRule
28721             SrcSpanInfo
28722               { srcInfoSpan =
28723                   SrcSpan "tests/examples/DerivingVia.hs" 407 50 407 67
28724               , srcInfoPoints = []
28725               }
28726             Nothing
28727             Nothing
28728             (IHApp
28729                SrcSpanInfo
28730                  { srcInfoSpan =
28731                      SrcSpan "tests/examples/DerivingVia.hs" 407 50 407 67
28732                  , srcInfoPoints = []
28733                  }
28734                (IHCon
28735                   SrcSpanInfo
28736                     { srcInfoSpan =
28737                         SrcSpan "tests/examples/DerivingVia.hs" 407 50 407 58
28738                     , srcInfoPoints = []
28739                     }
28740                   (UnQual
28741                      SrcSpanInfo
28742                        { srcInfoSpan =
28743                            SrcSpan "tests/examples/DerivingVia.hs" 407 50 407 58
28744                        , srcInfoPoints = []
28745                        }
28746                      (Ident
28747                         SrcSpanInfo
28748                           { srcInfoSpan =
28749                               SrcSpan "tests/examples/DerivingVia.hs" 407 50 407 58
28750                           , srcInfoPoints = []
28751                           }
28752                         "Additive")))
28753                (TyCon
28754                   SrcSpanInfo
28755                     { srcInfoSpan =
28756                         SrcSpan "tests/examples/DerivingVia.hs" 407 59 407 67
28757                     , srcInfoPoints = []
28758                     }
28759                   (UnQual
28760                      SrcSpanInfo
28761                        { srcInfoSpan =
28762                            SrcSpan "tests/examples/DerivingVia.hs" 407 59 407 67
28763                        , srcInfoPoints = []
28764                        }
28765                      (Ident
28766                         SrcSpanInfo
28767                           { srcInfoSpan =
28768                               SrcSpan "tests/examples/DerivingVia.hs" 407 59 407 67
28769                           , srcInfoPoints = []
28770                           }
28771                         "Identity")))))
28772      , InstDecl
28773          SrcSpanInfo
28774            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 409 1 413 0
28775            , srcInfoPoints =
28776                [ SrcSpan "tests/examples/DerivingVia.hs" 409 1 409 9
28777                , SrcSpan "tests/examples/DerivingVia.hs" 409 27 409 32
28778                , SrcSpan "tests/examples/DerivingVia.hs" 410 3 410 3
28779                , SrcSpan "tests/examples/DerivingVia.hs" 411 3 411 3
28780                , SrcSpan "tests/examples/DerivingVia.hs" 413 1 413 0
28781                ]
28782            }
28783          Nothing
28784          (IRule
28785             SrcSpanInfo
28786               { srcInfoSpan =
28787                   SrcSpan "tests/examples/DerivingVia.hs" 409 10 409 26
28788               , srcInfoPoints = []
28789               }
28790             Nothing
28791             Nothing
28792             (IHApp
28793                SrcSpanInfo
28794                  { srcInfoSpan =
28795                      SrcSpan "tests/examples/DerivingVia.hs" 409 10 409 26
28796                  , srcInfoPoints = []
28797                  }
28798                (IHCon
28799                   SrcSpanInfo
28800                     { srcInfoSpan =
28801                         SrcSpan "tests/examples/DerivingVia.hs" 409 10 409 18
28802                     , srcInfoPoints = []
28803                     }
28804                   (UnQual
28805                      SrcSpanInfo
28806                        { srcInfoSpan =
28807                            SrcSpan "tests/examples/DerivingVia.hs" 409 10 409 18
28808                        , srcInfoPoints = []
28809                        }
28810                      (Ident
28811                         SrcSpanInfo
28812                           { srcInfoSpan =
28813                               SrcSpan "tests/examples/DerivingVia.hs" 409 10 409 18
28814                           , srcInfoPoints = []
28815                           }
28816                         "Additive")))
28817                (TyCon
28818                   SrcSpanInfo
28819                     { srcInfoSpan =
28820                         SrcSpan "tests/examples/DerivingVia.hs" 409 19 409 26
28821                     , srcInfoPoints = []
28822                     }
28823                   (UnQual
28824                      SrcSpanInfo
28825                        { srcInfoSpan =
28826                            SrcSpan "tests/examples/DerivingVia.hs" 409 19 409 26
28827                        , srcInfoPoints = []
28828                        }
28829                      (Ident
28830                         SrcSpanInfo
28831                           { srcInfoSpan =
28832                               SrcSpan "tests/examples/DerivingVia.hs" 409 19 409 26
28833                           , srcInfoPoints = []
28834                           }
28835                         "ZipList")))))
28836          (Just
28837             [ InsDecl
28838                 SrcSpanInfo
28839                   { srcInfoSpan =
28840                       SrcSpan "tests/examples/DerivingVia.hs" 410 3 410 20
28841                   , srcInfoPoints = []
28842                   }
28843                 (PatBind
28844                    SrcSpanInfo
28845                      { srcInfoSpan =
28846                          SrcSpan "tests/examples/DerivingVia.hs" 410 3 410 20
28847                      , srcInfoPoints = []
28848                      }
28849                    (PVar
28850                       SrcSpanInfo
28851                         { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 410 3 410 7
28852                         , srcInfoPoints = []
28853                         }
28854                       (Ident
28855                          SrcSpanInfo
28856                            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 410 3 410 7
28857                            , srcInfoPoints = []
28858                            }
28859                          "zero"))
28860                    (UnGuardedRhs
28861                       SrcSpanInfo
28862                         { srcInfoSpan =
28863                             SrcSpan "tests/examples/DerivingVia.hs" 410 8 410 20
28864                         , srcInfoPoints =
28865                             [ SrcSpan "tests/examples/DerivingVia.hs" 410 8 410 9 ]
28866                         }
28867                       (App
28868                          SrcSpanInfo
28869                            { srcInfoSpan =
28870                                SrcSpan "tests/examples/DerivingVia.hs" 410 10 410 20
28871                            , srcInfoPoints = []
28872                            }
28873                          (Con
28874                             SrcSpanInfo
28875                               { srcInfoSpan =
28876                                   SrcSpan "tests/examples/DerivingVia.hs" 410 10 410 17
28877                               , srcInfoPoints = []
28878                               }
28879                             (UnQual
28880                                SrcSpanInfo
28881                                  { srcInfoSpan =
28882                                      SrcSpan "tests/examples/DerivingVia.hs" 410 10 410 17
28883                                  , srcInfoPoints = []
28884                                  }
28885                                (Ident
28886                                   SrcSpanInfo
28887                                     { srcInfoSpan =
28888                                         SrcSpan "tests/examples/DerivingVia.hs" 410 10 410 17
28889                                     , srcInfoPoints = []
28890                                     }
28891                                   "ZipList")))
28892                          (List
28893                             SrcSpanInfo
28894                               { srcInfoSpan =
28895                                   SrcSpan "tests/examples/DerivingVia.hs" 410 18 410 20
28896                               , srcInfoPoints =
28897                                   [ SrcSpan "tests/examples/DerivingVia.hs" 410 18 410 19
28898                                   , SrcSpan "tests/examples/DerivingVia.hs" 410 19 410 20
28899                                   ]
28900                               }
28901                             [])))
28902                    Nothing)
28903             , InsDecl
28904                 SrcSpanInfo
28905                   { srcInfoSpan =
28906                       SrcSpan "tests/examples/DerivingVia.hs" 411 3 411 64
28907                   , srcInfoPoints = []
28908                   }
28909                 (FunBind
28910                    SrcSpanInfo
28911                      { srcInfoSpan =
28912                          SrcSpan "tests/examples/DerivingVia.hs" 411 3 411 64
28913                      , srcInfoPoints = []
28914                      }
28915                    [ Match
28916                        SrcSpanInfo
28917                          { srcInfoSpan =
28918                              SrcSpan "tests/examples/DerivingVia.hs" 411 3 411 64
28919                          , srcInfoPoints = []
28920                          }
28921                        (Ident
28922                           SrcSpanInfo
28923                             { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 411 3 411 9
28924                             , srcInfoPoints = []
28925                             }
28926                           "liftU2")
28927                        [ PVar
28928                            SrcSpanInfo
28929                              { srcInfoSpan =
28930                                  SrcSpan "tests/examples/DerivingVia.hs" 411 10 411 11
28931                              , srcInfoPoints = []
28932                              }
28933                            (Ident
28934                               SrcSpanInfo
28935                                 { srcInfoSpan =
28936                                     SrcSpan "tests/examples/DerivingVia.hs" 411 10 411 11
28937                                 , srcInfoPoints = []
28938                                 }
28939                               "f")
28940                        , PParen
28941                            SrcSpanInfo
28942                              { srcInfoSpan =
28943                                  SrcSpan "tests/examples/DerivingVia.hs" 411 12 411 24
28944                              , srcInfoPoints =
28945                                  [ SrcSpan "tests/examples/DerivingVia.hs" 411 12 411 13
28946                                  , SrcSpan "tests/examples/DerivingVia.hs" 411 23 411 24
28947                                  ]
28948                              }
28949                            (PApp
28950                               SrcSpanInfo
28951                                 { srcInfoSpan =
28952                                     SrcSpan "tests/examples/DerivingVia.hs" 411 13 411 23
28953                                 , srcInfoPoints = []
28954                                 }
28955                               (UnQual
28956                                  SrcSpanInfo
28957                                    { srcInfoSpan =
28958                                        SrcSpan "tests/examples/DerivingVia.hs" 411 13 411 20
28959                                    , srcInfoPoints = []
28960                                    }
28961                                  (Ident
28962                                     SrcSpanInfo
28963                                       { srcInfoSpan =
28964                                           SrcSpan "tests/examples/DerivingVia.hs" 411 13 411 20
28965                                       , srcInfoPoints = []
28966                                       }
28967                                     "ZipList"))
28968                               [ PVar
28969                                   SrcSpanInfo
28970                                     { srcInfoSpan =
28971                                         SrcSpan "tests/examples/DerivingVia.hs" 411 21 411 23
28972                                     , srcInfoPoints = []
28973                                     }
28974                                   (Ident
28975                                      SrcSpanInfo
28976                                        { srcInfoSpan =
28977                                            SrcSpan "tests/examples/DerivingVia.hs" 411 21 411 23
28978                                        , srcInfoPoints = []
28979                                        }
28980                                      "xs")
28981                               ])
28982                        , PParen
28983                            SrcSpanInfo
28984                              { srcInfoSpan =
28985                                  SrcSpan "tests/examples/DerivingVia.hs" 411 25 411 37
28986                              , srcInfoPoints =
28987                                  [ SrcSpan "tests/examples/DerivingVia.hs" 411 25 411 26
28988                                  , SrcSpan "tests/examples/DerivingVia.hs" 411 36 411 37
28989                                  ]
28990                              }
28991                            (PApp
28992                               SrcSpanInfo
28993                                 { srcInfoSpan =
28994                                     SrcSpan "tests/examples/DerivingVia.hs" 411 26 411 36
28995                                 , srcInfoPoints = []
28996                                 }
28997                               (UnQual
28998                                  SrcSpanInfo
28999                                    { srcInfoSpan =
29000                                        SrcSpan "tests/examples/DerivingVia.hs" 411 26 411 33
29001                                    , srcInfoPoints = []
29002                                    }
29003                                  (Ident
29004                                     SrcSpanInfo
29005                                       { srcInfoSpan =
29006                                           SrcSpan "tests/examples/DerivingVia.hs" 411 26 411 33
29007                                       , srcInfoPoints = []
29008                                       }
29009                                     "ZipList"))
29010                               [ PVar
29011                                   SrcSpanInfo
29012                                     { srcInfoSpan =
29013                                         SrcSpan "tests/examples/DerivingVia.hs" 411 34 411 36
29014                                     , srcInfoPoints = []
29015                                     }
29016                                   (Ident
29017                                      SrcSpanInfo
29018                                        { srcInfoSpan =
29019                                            SrcSpan "tests/examples/DerivingVia.hs" 411 34 411 36
29020                                        , srcInfoPoints = []
29021                                        }
29022                                      "ys")
29023                               ])
29024                        ]
29025                        (UnGuardedRhs
29026                           SrcSpanInfo
29027                             { srcInfoSpan =
29028                                 SrcSpan "tests/examples/DerivingVia.hs" 411 38 411 64
29029                             , srcInfoPoints =
29030                                 [ SrcSpan "tests/examples/DerivingVia.hs" 411 38 411 39 ]
29031                             }
29032                           (App
29033                              SrcSpanInfo
29034                                { srcInfoSpan =
29035                                    SrcSpan "tests/examples/DerivingVia.hs" 411 40 411 64
29036                                , srcInfoPoints = []
29037                                }
29038                              (Con
29039                                 SrcSpanInfo
29040                                   { srcInfoSpan =
29041                                       SrcSpan "tests/examples/DerivingVia.hs" 411 40 411 47
29042                                   , srcInfoPoints = []
29043                                   }
29044                                 (UnQual
29045                                    SrcSpanInfo
29046                                      { srcInfoSpan =
29047                                          SrcSpan "tests/examples/DerivingVia.hs" 411 40 411 47
29048                                      , srcInfoPoints = []
29049                                      }
29050                                    (Ident
29051                                       SrcSpanInfo
29052                                         { srcInfoSpan =
29053                                             SrcSpan "tests/examples/DerivingVia.hs" 411 40 411 47
29054                                         , srcInfoPoints = []
29055                                         }
29056                                       "ZipList")))
29057                              (Paren
29058                                 SrcSpanInfo
29059                                   { srcInfoSpan =
29060                                       SrcSpan "tests/examples/DerivingVia.hs" 411 48 411 64
29061                                   , srcInfoPoints =
29062                                       [ SrcSpan "tests/examples/DerivingVia.hs" 411 48 411 49
29063                                       , SrcSpan "tests/examples/DerivingVia.hs" 411 63 411 64
29064                                       ]
29065                                   }
29066                                 (App
29067                                    SrcSpanInfo
29068                                      { srcInfoSpan =
29069                                          SrcSpan "tests/examples/DerivingVia.hs" 411 49 411 63
29070                                      , srcInfoPoints = []
29071                                      }
29072                                    (App
29073                                       SrcSpanInfo
29074                                         { srcInfoSpan =
29075                                             SrcSpan "tests/examples/DerivingVia.hs" 411 49 411 60
29076                                         , srcInfoPoints = []
29077                                         }
29078                                       (App
29079                                          SrcSpanInfo
29080                                            { srcInfoSpan =
29081                                                SrcSpan
29082                                                  "tests/examples/DerivingVia.hs" 411 49 411 57
29083                                            , srcInfoPoints = []
29084                                            }
29085                                          (Var
29086                                             SrcSpanInfo
29087                                               { srcInfoSpan =
29088                                                   SrcSpan
29089                                                     "tests/examples/DerivingVia.hs" 411 49 411 55
29090                                               , srcInfoPoints = []
29091                                               }
29092                                             (UnQual
29093                                                SrcSpanInfo
29094                                                  { srcInfoSpan =
29095                                                      SrcSpan
29096                                                        "tests/examples/DerivingVia.hs"
29097                                                        411
29098                                                        49
29099                                                        411
29100                                                        55
29101                                                  , srcInfoPoints = []
29102                                                  }
29103                                                (Ident
29104                                                   SrcSpanInfo
29105                                                     { srcInfoSpan =
29106                                                         SrcSpan
29107                                                           "tests/examples/DerivingVia.hs"
29108                                                           411
29109                                                           49
29110                                                           411
29111                                                           55
29112                                                     , srcInfoPoints = []
29113                                                     }
29114                                                   "liftU2")))
29115                                          (Var
29116                                             SrcSpanInfo
29117                                               { srcInfoSpan =
29118                                                   SrcSpan
29119                                                     "tests/examples/DerivingVia.hs" 411 56 411 57
29120                                               , srcInfoPoints = []
29121                                               }
29122                                             (UnQual
29123                                                SrcSpanInfo
29124                                                  { srcInfoSpan =
29125                                                      SrcSpan
29126                                                        "tests/examples/DerivingVia.hs"
29127                                                        411
29128                                                        56
29129                                                        411
29130                                                        57
29131                                                  , srcInfoPoints = []
29132                                                  }
29133                                                (Ident
29134                                                   SrcSpanInfo
29135                                                     { srcInfoSpan =
29136                                                         SrcSpan
29137                                                           "tests/examples/DerivingVia.hs"
29138                                                           411
29139                                                           56
29140                                                           411
29141                                                           57
29142                                                     , srcInfoPoints = []
29143                                                     }
29144                                                   "f"))))
29145                                       (Var
29146                                          SrcSpanInfo
29147                                            { srcInfoSpan =
29148                                                SrcSpan
29149                                                  "tests/examples/DerivingVia.hs" 411 58 411 60
29150                                            , srcInfoPoints = []
29151                                            }
29152                                          (UnQual
29153                                             SrcSpanInfo
29154                                               { srcInfoSpan =
29155                                                   SrcSpan
29156                                                     "tests/examples/DerivingVia.hs" 411 58 411 60
29157                                               , srcInfoPoints = []
29158                                               }
29159                                             (Ident
29160                                                SrcSpanInfo
29161                                                  { srcInfoSpan =
29162                                                      SrcSpan
29163                                                        "tests/examples/DerivingVia.hs"
29164                                                        411
29165                                                        58
29166                                                        411
29167                                                        60
29168                                                  , srcInfoPoints = []
29169                                                  }
29170                                                "xs"))))
29171                                    (Var
29172                                       SrcSpanInfo
29173                                         { srcInfoSpan =
29174                                             SrcSpan "tests/examples/DerivingVia.hs" 411 61 411 63
29175                                         , srcInfoPoints = []
29176                                         }
29177                                       (UnQual
29178                                          SrcSpanInfo
29179                                            { srcInfoSpan =
29180                                                SrcSpan
29181                                                  "tests/examples/DerivingVia.hs" 411 61 411 63
29182                                            , srcInfoPoints = []
29183                                            }
29184                                          (Ident
29185                                             SrcSpanInfo
29186                                               { srcInfoSpan =
29187                                                   SrcSpan
29188                                                     "tests/examples/DerivingVia.hs" 411 61 411 63
29189                                               , srcInfoPoints = []
29190                                               }
29191                                             "ys")))))))
29192                        Nothing
29193                    ])
29194             ])
29195      , ClassDecl
29196          SrcSpanInfo
29197            { srcInfoSpan =
29198                SrcSpan "tests/examples/DerivingVia.hs" 413 1 419 32
29199            , srcInfoPoints =
29200                [ SrcSpan "tests/examples/DerivingVia.hs" 413 1 413 6
29201                , SrcSpan "tests/examples/DerivingVia.hs" 413 37 413 42
29202                , SrcSpan "tests/examples/DerivingVia.hs" 414 3 414 3
29203                , SrcSpan "tests/examples/DerivingVia.hs" 416 3 416 3
29204                , SrcSpan "tests/examples/DerivingVia.hs" 417 3 417 3
29205                , SrcSpan "tests/examples/DerivingVia.hs" 418 3 418 3
29206                , SrcSpan "tests/examples/DerivingVia.hs" 419 3 419 3
29207                , SrcSpan "tests/examples/DerivingVia.hs" 425 1 425 0
29208                ]
29209            }
29210          (Just
29211             (CxSingle
29212                SrcSpanInfo
29213                  { srcInfoSpan =
29214                      SrcSpan "tests/examples/DerivingVia.hs" 413 7 413 27
29215                  , srcInfoPoints =
29216                      [ SrcSpan "tests/examples/DerivingVia.hs" 413 25 413 27 ]
29217                  }
29218                (TypeA
29219                   SrcSpanInfo
29220                     { srcInfoSpan =
29221                         SrcSpan "tests/examples/DerivingVia.hs" 413 7 413 27
29222                     , srcInfoPoints =
29223                         [ SrcSpan "tests/examples/DerivingVia.hs" 413 25 413 27 ]
29224                     }
29225                   (TyApp
29226                      SrcSpanInfo
29227                        { srcInfoSpan =
29228                            SrcSpan "tests/examples/DerivingVia.hs" 413 7 413 27
29229                        , srcInfoPoints =
29230                            [ SrcSpan "tests/examples/DerivingVia.hs" 413 25 413 27 ]
29231                        }
29232                      (TyCon
29233                         SrcSpanInfo
29234                           { srcInfoSpan =
29235                               SrcSpan "tests/examples/DerivingVia.hs" 413 7 413 27
29236                           , srcInfoPoints =
29237                               [ SrcSpan "tests/examples/DerivingVia.hs" 413 25 413 27 ]
29238                           }
29239                         (UnQual
29240                            SrcSpanInfo
29241                              { srcInfoSpan =
29242                                  SrcSpan "tests/examples/DerivingVia.hs" 413 7 413 15
29243                              , srcInfoPoints = []
29244                              }
29245                            (Ident
29246                               SrcSpanInfo
29247                                 { srcInfoSpan =
29248                                     SrcSpan "tests/examples/DerivingVia.hs" 413 7 413 15
29249                                 , srcInfoPoints = []
29250                                 }
29251                               "Additive")))
29252                      (TyParen
29253                         SrcSpanInfo
29254                           { srcInfoSpan =
29255                               SrcSpan "tests/examples/DerivingVia.hs" 413 16 413 24
29256                           , srcInfoPoints =
29257                               [ SrcSpan "tests/examples/DerivingVia.hs" 413 16 413 17
29258                               , SrcSpan "tests/examples/DerivingVia.hs" 413 23 413 24
29259                               ]
29260                           }
29261                         (TyApp
29262                            SrcSpanInfo
29263                              { srcInfoSpan =
29264                                  SrcSpan "tests/examples/DerivingVia.hs" 413 17 413 23
29265                              , srcInfoPoints = []
29266                              }
29267                            (TyCon
29268                               SrcSpanInfo
29269                                 { srcInfoSpan =
29270                                     SrcSpan "tests/examples/DerivingVia.hs" 413 17 413 21
29271                                 , srcInfoPoints = []
29272                                 }
29273                               (UnQual
29274                                  SrcSpanInfo
29275                                    { srcInfoSpan =
29276                                        SrcSpan "tests/examples/DerivingVia.hs" 413 17 413 21
29277                                    , srcInfoPoints = []
29278                                    }
29279                                  (Ident
29280                                     SrcSpanInfo
29281                                       { srcInfoSpan =
29282                                           SrcSpan "tests/examples/DerivingVia.hs" 413 17 413 21
29283                                       , srcInfoPoints = []
29284                                       }
29285                                     "Diff")))
29286                            (TyVar
29287                               SrcSpanInfo
29288                                 { srcInfoSpan =
29289                                     SrcSpan "tests/examples/DerivingVia.hs" 413 22 413 23
29290                                 , srcInfoPoints = []
29291                                 }
29292                               (Ident
29293                                  SrcSpanInfo
29294                                    { srcInfoSpan =
29295                                        SrcSpan "tests/examples/DerivingVia.hs" 413 22 413 23
29296                                    , srcInfoPoints = []
29297                                    }
29298                                  "p"))))))))
29299          (DHApp
29300             SrcSpanInfo
29301               { srcInfoSpan =
29302                   SrcSpan "tests/examples/DerivingVia.hs" 413 28 413 36
29303               , srcInfoPoints = []
29304               }
29305             (DHead
29306                SrcSpanInfo
29307                  { srcInfoSpan =
29308                      SrcSpan "tests/examples/DerivingVia.hs" 413 28 413 34
29309                  , srcInfoPoints = []
29310                  }
29311                (Ident
29312                   SrcSpanInfo
29313                     { srcInfoSpan =
29314                         SrcSpan "tests/examples/DerivingVia.hs" 413 28 413 34
29315                     , srcInfoPoints = []
29316                     }
29317                   "Affine"))
29318             (UnkindedVar
29319                SrcSpanInfo
29320                  { srcInfoSpan =
29321                      SrcSpan "tests/examples/DerivingVia.hs" 413 35 413 36
29322                  , srcInfoPoints = []
29323                  }
29324                (Ident
29325                   SrcSpanInfo
29326                     { srcInfoSpan =
29327                         SrcSpan "tests/examples/DerivingVia.hs" 413 35 413 36
29328                     , srcInfoPoints = []
29329                     }
29330                   "p")))
29331          []
29332          (Just
29333             [ ClsTyFam
29334                 SrcSpanInfo
29335                   { srcInfoSpan =
29336                       SrcSpan "tests/examples/DerivingVia.hs" 414 3 414 30
29337                   , srcInfoPoints =
29338                       [ SrcSpan "tests/examples/DerivingVia.hs" 414 3 414 7 ]
29339                   }
29340                 (DHApp
29341                    SrcSpanInfo
29342                      { srcInfoSpan =
29343                          SrcSpan "tests/examples/DerivingVia.hs" 414 8 414 14
29344                      , srcInfoPoints = []
29345                      }
29346                    (DHead
29347                       SrcSpanInfo
29348                         { srcInfoSpan =
29349                             SrcSpan "tests/examples/DerivingVia.hs" 414 8 414 12
29350                         , srcInfoPoints = []
29351                         }
29352                       (Ident
29353                          SrcSpanInfo
29354                            { srcInfoSpan =
29355                                SrcSpan "tests/examples/DerivingVia.hs" 414 8 414 12
29356                            , srcInfoPoints = []
29357                            }
29358                          "Diff"))
29359                    (UnkindedVar
29360                       SrcSpanInfo
29361                         { srcInfoSpan =
29362                             SrcSpan "tests/examples/DerivingVia.hs" 414 13 414 14
29363                         , srcInfoPoints = []
29364                         }
29365                       (Ident
29366                          SrcSpanInfo
29367                            { srcInfoSpan =
29368                                SrcSpan "tests/examples/DerivingVia.hs" 414 13 414 14
29369                            , srcInfoPoints = []
29370                            }
29371                          "p")))
29372                 (Just
29373                    (KindSig
29374                       SrcSpanInfo
29375                         { srcInfoSpan =
29376                             SrcSpan "tests/examples/DerivingVia.hs" 414 15 414 30
29377                         , srcInfoPoints =
29378                             [ SrcSpan "tests/examples/DerivingVia.hs" 414 15 414 17 ]
29379                         }
29380                       (TyFun
29381                          SrcSpanInfo
29382                            { srcInfoSpan =
29383                                SrcSpan "tests/examples/DerivingVia.hs" 414 18 414 30
29384                            , srcInfoPoints =
29385                                [ SrcSpan "tests/examples/DerivingVia.hs" 414 23 414 25 ]
29386                            }
29387                          (TyCon
29388                             SrcSpanInfo
29389                               { srcInfoSpan =
29390                                   SrcSpan "tests/examples/DerivingVia.hs" 414 18 414 22
29391                               , srcInfoPoints = []
29392                               }
29393                             (UnQual
29394                                SrcSpanInfo
29395                                  { srcInfoSpan =
29396                                      SrcSpan "tests/examples/DerivingVia.hs" 414 18 414 22
29397                                  , srcInfoPoints = []
29398                                  }
29399                                (Ident
29400                                   SrcSpanInfo
29401                                     { srcInfoSpan =
29402                                         SrcSpan "tests/examples/DerivingVia.hs" 414 18 414 22
29403                                     , srcInfoPoints = []
29404                                     }
29405                                   "Type")))
29406                          (TyCon
29407                             SrcSpanInfo
29408                               { srcInfoSpan =
29409                                   SrcSpan "tests/examples/DerivingVia.hs" 414 26 414 30
29410                               , srcInfoPoints = []
29411                               }
29412                             (UnQual
29413                                SrcSpanInfo
29414                                  { srcInfoSpan =
29415                                      SrcSpan "tests/examples/DerivingVia.hs" 414 26 414 30
29416                                  , srcInfoPoints = []
29417                                  }
29418                                (Ident
29419                                   SrcSpanInfo
29420                                     { srcInfoSpan =
29421                                         SrcSpan "tests/examples/DerivingVia.hs" 414 26 414 30
29422                                     , srcInfoPoints = []
29423                                     }
29424                                   "Type"))))))
29425                 Nothing
29426             , ClsDecl
29427                 SrcSpanInfo
29428                   { srcInfoSpan =
29429                       SrcSpan "tests/examples/DerivingVia.hs" 416 3 416 43
29430                   , srcInfoPoints =
29431                       [ SrcSpan "tests/examples/DerivingVia.hs" 416 9 416 11 ]
29432                   }
29433                 (TypeSig
29434                    SrcSpanInfo
29435                      { srcInfoSpan =
29436                          SrcSpan "tests/examples/DerivingVia.hs" 416 3 416 43
29437                      , srcInfoPoints =
29438                          [ SrcSpan "tests/examples/DerivingVia.hs" 416 9 416 11 ]
29439                      }
29440                    [ Symbol
29441                        SrcSpanInfo
29442                          { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 416 3 416 8
29443                          , srcInfoPoints =
29444                              [ SrcSpan "tests/examples/DerivingVia.hs" 416 3 416 4
29445                              , SrcSpan "tests/examples/DerivingVia.hs" 416 4 416 7
29446                              , SrcSpan "tests/examples/DerivingVia.hs" 416 7 416 8
29447                              ]
29448                          }
29449                        ".-."
29450                    ]
29451                    (TyForall
29452                       SrcSpanInfo
29453                         { srcInfoSpan =
29454                             SrcSpan "tests/examples/DerivingVia.hs" 416 12 416 43
29455                         , srcInfoPoints = []
29456                         }
29457                       Nothing
29458                       (Just
29459                          (CxSingle
29460                             SrcSpanInfo
29461                               { srcInfoSpan =
29462                                   SrcSpan "tests/examples/DerivingVia.hs" 416 12 416 20
29463                               , srcInfoPoints =
29464                                   [ SrcSpan "tests/examples/DerivingVia.hs" 416 18 416 20 ]
29465                               }
29466                             (TypeA
29467                                SrcSpanInfo
29468                                  { srcInfoSpan =
29469                                      SrcSpan "tests/examples/DerivingVia.hs" 416 12 416 20
29470                                  , srcInfoPoints =
29471                                      [ SrcSpan "tests/examples/DerivingVia.hs" 416 18 416 20 ]
29472                                  }
29473                                (TyApp
29474                                   SrcSpanInfo
29475                                     { srcInfoSpan =
29476                                         SrcSpan "tests/examples/DerivingVia.hs" 416 12 416 20
29477                                     , srcInfoPoints =
29478                                         [ SrcSpan "tests/examples/DerivingVia.hs" 416 18 416 20 ]
29479                                     }
29480                                   (TyCon
29481                                      SrcSpanInfo
29482                                        { srcInfoSpan =
29483                                            SrcSpan "tests/examples/DerivingVia.hs" 416 12 416 20
29484                                        , srcInfoPoints =
29485                                            [ SrcSpan "tests/examples/DerivingVia.hs" 416 18 416 20
29486                                            ]
29487                                        }
29488                                      (UnQual
29489                                         SrcSpanInfo
29490                                           { srcInfoSpan =
29491                                               SrcSpan "tests/examples/DerivingVia.hs" 416 12 416 15
29492                                           , srcInfoPoints = []
29493                                           }
29494                                         (Ident
29495                                            SrcSpanInfo
29496                                              { srcInfoSpan =
29497                                                  SrcSpan
29498                                                    "tests/examples/DerivingVia.hs" 416 12 416 15
29499                                              , srcInfoPoints = []
29500                                              }
29501                                            "Num")))
29502                                   (TyVar
29503                                      SrcSpanInfo
29504                                        { srcInfoSpan =
29505                                            SrcSpan "tests/examples/DerivingVia.hs" 416 16 416 17
29506                                        , srcInfoPoints = []
29507                                        }
29508                                      (Ident
29509                                         SrcSpanInfo
29510                                           { srcInfoSpan =
29511                                               SrcSpan "tests/examples/DerivingVia.hs" 416 16 416 17
29512                                           , srcInfoPoints = []
29513                                           }
29514                                         "a"))))))
29515                       (TyFun
29516                          SrcSpanInfo
29517                            { srcInfoSpan =
29518                                SrcSpan "tests/examples/DerivingVia.hs" 416 21 416 43
29519                            , srcInfoPoints =
29520                                [ SrcSpan "tests/examples/DerivingVia.hs" 416 25 416 27 ]
29521                            }
29522                          (TyApp
29523                             SrcSpanInfo
29524                               { srcInfoSpan =
29525                                   SrcSpan "tests/examples/DerivingVia.hs" 416 21 416 24
29526                               , srcInfoPoints = []
29527                               }
29528                             (TyVar
29529                                SrcSpanInfo
29530                                  { srcInfoSpan =
29531                                      SrcSpan "tests/examples/DerivingVia.hs" 416 21 416 22
29532                                  , srcInfoPoints = []
29533                                  }
29534                                (Ident
29535                                   SrcSpanInfo
29536                                     { srcInfoSpan =
29537                                         SrcSpan "tests/examples/DerivingVia.hs" 416 21 416 22
29538                                     , srcInfoPoints = []
29539                                     }
29540                                   "p"))
29541                             (TyVar
29542                                SrcSpanInfo
29543                                  { srcInfoSpan =
29544                                      SrcSpan "tests/examples/DerivingVia.hs" 416 23 416 24
29545                                  , srcInfoPoints = []
29546                                  }
29547                                (Ident
29548                                   SrcSpanInfo
29549                                     { srcInfoSpan =
29550                                         SrcSpan "tests/examples/DerivingVia.hs" 416 23 416 24
29551                                     , srcInfoPoints = []
29552                                     }
29553                                   "a")))
29554                          (TyFun
29555                             SrcSpanInfo
29556                               { srcInfoSpan =
29557                                   SrcSpan "tests/examples/DerivingVia.hs" 416 28 416 43
29558                               , srcInfoPoints =
29559                                   [ SrcSpan "tests/examples/DerivingVia.hs" 416 32 416 34 ]
29560                               }
29561                             (TyApp
29562                                SrcSpanInfo
29563                                  { srcInfoSpan =
29564                                      SrcSpan "tests/examples/DerivingVia.hs" 416 28 416 31
29565                                  , srcInfoPoints = []
29566                                  }
29567                                (TyVar
29568                                   SrcSpanInfo
29569                                     { srcInfoSpan =
29570                                         SrcSpan "tests/examples/DerivingVia.hs" 416 28 416 29
29571                                     , srcInfoPoints = []
29572                                     }
29573                                   (Ident
29574                                      SrcSpanInfo
29575                                        { srcInfoSpan =
29576                                            SrcSpan "tests/examples/DerivingVia.hs" 416 28 416 29
29577                                        , srcInfoPoints = []
29578                                        }
29579                                      "p"))
29580                                (TyVar
29581                                   SrcSpanInfo
29582                                     { srcInfoSpan =
29583                                         SrcSpan "tests/examples/DerivingVia.hs" 416 30 416 31
29584                                     , srcInfoPoints = []
29585                                     }
29586                                   (Ident
29587                                      SrcSpanInfo
29588                                        { srcInfoSpan =
29589                                            SrcSpan "tests/examples/DerivingVia.hs" 416 30 416 31
29590                                        , srcInfoPoints = []
29591                                        }
29592                                      "a")))
29593                             (TyApp
29594                                SrcSpanInfo
29595                                  { srcInfoSpan =
29596                                      SrcSpan "tests/examples/DerivingVia.hs" 416 35 416 43
29597                                  , srcInfoPoints = []
29598                                  }
29599                                (TyApp
29600                                   SrcSpanInfo
29601                                     { srcInfoSpan =
29602                                         SrcSpan "tests/examples/DerivingVia.hs" 416 35 416 41
29603                                     , srcInfoPoints = []
29604                                     }
29605                                   (TyCon
29606                                      SrcSpanInfo
29607                                        { srcInfoSpan =
29608                                            SrcSpan "tests/examples/DerivingVia.hs" 416 35 416 39
29609                                        , srcInfoPoints = []
29610                                        }
29611                                      (UnQual
29612                                         SrcSpanInfo
29613                                           { srcInfoSpan =
29614                                               SrcSpan "tests/examples/DerivingVia.hs" 416 35 416 39
29615                                           , srcInfoPoints = []
29616                                           }
29617                                         (Ident
29618                                            SrcSpanInfo
29619                                              { srcInfoSpan =
29620                                                  SrcSpan
29621                                                    "tests/examples/DerivingVia.hs" 416 35 416 39
29622                                              , srcInfoPoints = []
29623                                              }
29624                                            "Diff")))
29625                                   (TyVar
29626                                      SrcSpanInfo
29627                                        { srcInfoSpan =
29628                                            SrcSpan "tests/examples/DerivingVia.hs" 416 40 416 41
29629                                        , srcInfoPoints = []
29630                                        }
29631                                      (Ident
29632                                         SrcSpanInfo
29633                                           { srcInfoSpan =
29634                                               SrcSpan "tests/examples/DerivingVia.hs" 416 40 416 41
29635                                           , srcInfoPoints = []
29636                                           }
29637                                         "p")))
29638                                (TyVar
29639                                   SrcSpanInfo
29640                                     { srcInfoSpan =
29641                                         SrcSpan "tests/examples/DerivingVia.hs" 416 42 416 43
29642                                     , srcInfoPoints = []
29643                                     }
29644                                   (Ident
29645                                      SrcSpanInfo
29646                                        { srcInfoSpan =
29647                                            SrcSpan "tests/examples/DerivingVia.hs" 416 42 416 43
29648                                        , srcInfoPoints = []
29649                                        }
29650                                      "a")))))))
29651             , ClsDecl
29652                 SrcSpanInfo
29653                   { srcInfoSpan =
29654                       SrcSpan "tests/examples/DerivingVia.hs" 417 3 417 43
29655                   , srcInfoPoints =
29656                       [ SrcSpan "tests/examples/DerivingVia.hs" 417 9 417 11 ]
29657                   }
29658                 (TypeSig
29659                    SrcSpanInfo
29660                      { srcInfoSpan =
29661                          SrcSpan "tests/examples/DerivingVia.hs" 417 3 417 43
29662                      , srcInfoPoints =
29663                          [ SrcSpan "tests/examples/DerivingVia.hs" 417 9 417 11 ]
29664                      }
29665                    [ Symbol
29666                        SrcSpanInfo
29667                          { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 417 3 417 8
29668                          , srcInfoPoints =
29669                              [ SrcSpan "tests/examples/DerivingVia.hs" 417 3 417 4
29670                              , SrcSpan "tests/examples/DerivingVia.hs" 417 4 417 7
29671                              , SrcSpan "tests/examples/DerivingVia.hs" 417 7 417 8
29672                              ]
29673                          }
29674                        ".+^"
29675                    ]
29676                    (TyForall
29677                       SrcSpanInfo
29678                         { srcInfoSpan =
29679                             SrcSpan "tests/examples/DerivingVia.hs" 417 12 417 43
29680                         , srcInfoPoints = []
29681                         }
29682                       Nothing
29683                       (Just
29684                          (CxSingle
29685                             SrcSpanInfo
29686                               { srcInfoSpan =
29687                                   SrcSpan "tests/examples/DerivingVia.hs" 417 12 417 20
29688                               , srcInfoPoints =
29689                                   [ SrcSpan "tests/examples/DerivingVia.hs" 417 18 417 20 ]
29690                               }
29691                             (TypeA
29692                                SrcSpanInfo
29693                                  { srcInfoSpan =
29694                                      SrcSpan "tests/examples/DerivingVia.hs" 417 12 417 20
29695                                  , srcInfoPoints =
29696                                      [ SrcSpan "tests/examples/DerivingVia.hs" 417 18 417 20 ]
29697                                  }
29698                                (TyApp
29699                                   SrcSpanInfo
29700                                     { srcInfoSpan =
29701                                         SrcSpan "tests/examples/DerivingVia.hs" 417 12 417 20
29702                                     , srcInfoPoints =
29703                                         [ SrcSpan "tests/examples/DerivingVia.hs" 417 18 417 20 ]
29704                                     }
29705                                   (TyCon
29706                                      SrcSpanInfo
29707                                        { srcInfoSpan =
29708                                            SrcSpan "tests/examples/DerivingVia.hs" 417 12 417 20
29709                                        , srcInfoPoints =
29710                                            [ SrcSpan "tests/examples/DerivingVia.hs" 417 18 417 20
29711                                            ]
29712                                        }
29713                                      (UnQual
29714                                         SrcSpanInfo
29715                                           { srcInfoSpan =
29716                                               SrcSpan "tests/examples/DerivingVia.hs" 417 12 417 15
29717                                           , srcInfoPoints = []
29718                                           }
29719                                         (Ident
29720                                            SrcSpanInfo
29721                                              { srcInfoSpan =
29722                                                  SrcSpan
29723                                                    "tests/examples/DerivingVia.hs" 417 12 417 15
29724                                              , srcInfoPoints = []
29725                                              }
29726                                            "Num")))
29727                                   (TyVar
29728                                      SrcSpanInfo
29729                                        { srcInfoSpan =
29730                                            SrcSpan "tests/examples/DerivingVia.hs" 417 16 417 17
29731                                        , srcInfoPoints = []
29732                                        }
29733                                      (Ident
29734                                         SrcSpanInfo
29735                                           { srcInfoSpan =
29736                                               SrcSpan "tests/examples/DerivingVia.hs" 417 16 417 17
29737                                           , srcInfoPoints = []
29738                                           }
29739                                         "a"))))))
29740                       (TyFun
29741                          SrcSpanInfo
29742                            { srcInfoSpan =
29743                                SrcSpan "tests/examples/DerivingVia.hs" 417 21 417 43
29744                            , srcInfoPoints =
29745                                [ SrcSpan "tests/examples/DerivingVia.hs" 417 25 417 27 ]
29746                            }
29747                          (TyApp
29748                             SrcSpanInfo
29749                               { srcInfoSpan =
29750                                   SrcSpan "tests/examples/DerivingVia.hs" 417 21 417 24
29751                               , srcInfoPoints = []
29752                               }
29753                             (TyVar
29754                                SrcSpanInfo
29755                                  { srcInfoSpan =
29756                                      SrcSpan "tests/examples/DerivingVia.hs" 417 21 417 22
29757                                  , srcInfoPoints = []
29758                                  }
29759                                (Ident
29760                                   SrcSpanInfo
29761                                     { srcInfoSpan =
29762                                         SrcSpan "tests/examples/DerivingVia.hs" 417 21 417 22
29763                                     , srcInfoPoints = []
29764                                     }
29765                                   "p"))
29766                             (TyVar
29767                                SrcSpanInfo
29768                                  { srcInfoSpan =
29769                                      SrcSpan "tests/examples/DerivingVia.hs" 417 23 417 24
29770                                  , srcInfoPoints = []
29771                                  }
29772                                (Ident
29773                                   SrcSpanInfo
29774                                     { srcInfoSpan =
29775                                         SrcSpan "tests/examples/DerivingVia.hs" 417 23 417 24
29776                                     , srcInfoPoints = []
29777                                     }
29778                                   "a")))
29779                          (TyFun
29780                             SrcSpanInfo
29781                               { srcInfoSpan =
29782                                   SrcSpan "tests/examples/DerivingVia.hs" 417 28 417 43
29783                               , srcInfoPoints =
29784                                   [ SrcSpan "tests/examples/DerivingVia.hs" 417 37 417 39 ]
29785                               }
29786                             (TyApp
29787                                SrcSpanInfo
29788                                  { srcInfoSpan =
29789                                      SrcSpan "tests/examples/DerivingVia.hs" 417 28 417 36
29790                                  , srcInfoPoints = []
29791                                  }
29792                                (TyApp
29793                                   SrcSpanInfo
29794                                     { srcInfoSpan =
29795                                         SrcSpan "tests/examples/DerivingVia.hs" 417 28 417 34
29796                                     , srcInfoPoints = []
29797                                     }
29798                                   (TyCon
29799                                      SrcSpanInfo
29800                                        { srcInfoSpan =
29801                                            SrcSpan "tests/examples/DerivingVia.hs" 417 28 417 32
29802                                        , srcInfoPoints = []
29803                                        }
29804                                      (UnQual
29805                                         SrcSpanInfo
29806                                           { srcInfoSpan =
29807                                               SrcSpan "tests/examples/DerivingVia.hs" 417 28 417 32
29808                                           , srcInfoPoints = []
29809                                           }
29810                                         (Ident
29811                                            SrcSpanInfo
29812                                              { srcInfoSpan =
29813                                                  SrcSpan
29814                                                    "tests/examples/DerivingVia.hs" 417 28 417 32
29815                                              , srcInfoPoints = []
29816                                              }
29817                                            "Diff")))
29818                                   (TyVar
29819                                      SrcSpanInfo
29820                                        { srcInfoSpan =
29821                                            SrcSpan "tests/examples/DerivingVia.hs" 417 33 417 34
29822                                        , srcInfoPoints = []
29823                                        }
29824                                      (Ident
29825                                         SrcSpanInfo
29826                                           { srcInfoSpan =
29827                                               SrcSpan "tests/examples/DerivingVia.hs" 417 33 417 34
29828                                           , srcInfoPoints = []
29829                                           }
29830                                         "p")))
29831                                (TyVar
29832                                   SrcSpanInfo
29833                                     { srcInfoSpan =
29834                                         SrcSpan "tests/examples/DerivingVia.hs" 417 35 417 36
29835                                     , srcInfoPoints = []
29836                                     }
29837                                   (Ident
29838                                      SrcSpanInfo
29839                                        { srcInfoSpan =
29840                                            SrcSpan "tests/examples/DerivingVia.hs" 417 35 417 36
29841                                        , srcInfoPoints = []
29842                                        }
29843                                      "a")))
29844                             (TyApp
29845                                SrcSpanInfo
29846                                  { srcInfoSpan =
29847                                      SrcSpan "tests/examples/DerivingVia.hs" 417 40 417 43
29848                                  , srcInfoPoints = []
29849                                  }
29850                                (TyVar
29851                                   SrcSpanInfo
29852                                     { srcInfoSpan =
29853                                         SrcSpan "tests/examples/DerivingVia.hs" 417 40 417 41
29854                                     , srcInfoPoints = []
29855                                     }
29856                                   (Ident
29857                                      SrcSpanInfo
29858                                        { srcInfoSpan =
29859                                            SrcSpan "tests/examples/DerivingVia.hs" 417 40 417 41
29860                                        , srcInfoPoints = []
29861                                        }
29862                                      "p"))
29863                                (TyVar
29864                                   SrcSpanInfo
29865                                     { srcInfoSpan =
29866                                         SrcSpan "tests/examples/DerivingVia.hs" 417 42 417 43
29867                                     , srcInfoPoints = []
29868                                     }
29869                                   (Ident
29870                                      SrcSpanInfo
29871                                        { srcInfoSpan =
29872                                            SrcSpan "tests/examples/DerivingVia.hs" 417 42 417 43
29873                                        , srcInfoPoints = []
29874                                        }
29875                                      "a")))))))
29876             , ClsDecl
29877                 SrcSpanInfo
29878                   { srcInfoSpan =
29879                       SrcSpan "tests/examples/DerivingVia.hs" 418 3 418 43
29880                   , srcInfoPoints =
29881                       [ SrcSpan "tests/examples/DerivingVia.hs" 418 9 418 11 ]
29882                   }
29883                 (TypeSig
29884                    SrcSpanInfo
29885                      { srcInfoSpan =
29886                          SrcSpan "tests/examples/DerivingVia.hs" 418 3 418 43
29887                      , srcInfoPoints =
29888                          [ SrcSpan "tests/examples/DerivingVia.hs" 418 9 418 11 ]
29889                      }
29890                    [ Symbol
29891                        SrcSpanInfo
29892                          { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 418 3 418 8
29893                          , srcInfoPoints =
29894                              [ SrcSpan "tests/examples/DerivingVia.hs" 418 3 418 4
29895                              , SrcSpan "tests/examples/DerivingVia.hs" 418 4 418 7
29896                              , SrcSpan "tests/examples/DerivingVia.hs" 418 7 418 8
29897                              ]
29898                          }
29899                        ".-^"
29900                    ]
29901                    (TyForall
29902                       SrcSpanInfo
29903                         { srcInfoSpan =
29904                             SrcSpan "tests/examples/DerivingVia.hs" 418 12 418 43
29905                         , srcInfoPoints = []
29906                         }
29907                       Nothing
29908                       (Just
29909                          (CxSingle
29910                             SrcSpanInfo
29911                               { srcInfoSpan =
29912                                   SrcSpan "tests/examples/DerivingVia.hs" 418 12 418 20
29913                               , srcInfoPoints =
29914                                   [ SrcSpan "tests/examples/DerivingVia.hs" 418 18 418 20 ]
29915                               }
29916                             (TypeA
29917                                SrcSpanInfo
29918                                  { srcInfoSpan =
29919                                      SrcSpan "tests/examples/DerivingVia.hs" 418 12 418 20
29920                                  , srcInfoPoints =
29921                                      [ SrcSpan "tests/examples/DerivingVia.hs" 418 18 418 20 ]
29922                                  }
29923                                (TyApp
29924                                   SrcSpanInfo
29925                                     { srcInfoSpan =
29926                                         SrcSpan "tests/examples/DerivingVia.hs" 418 12 418 20
29927                                     , srcInfoPoints =
29928                                         [ SrcSpan "tests/examples/DerivingVia.hs" 418 18 418 20 ]
29929                                     }
29930                                   (TyCon
29931                                      SrcSpanInfo
29932                                        { srcInfoSpan =
29933                                            SrcSpan "tests/examples/DerivingVia.hs" 418 12 418 20
29934                                        , srcInfoPoints =
29935                                            [ SrcSpan "tests/examples/DerivingVia.hs" 418 18 418 20
29936                                            ]
29937                                        }
29938                                      (UnQual
29939                                         SrcSpanInfo
29940                                           { srcInfoSpan =
29941                                               SrcSpan "tests/examples/DerivingVia.hs" 418 12 418 15
29942                                           , srcInfoPoints = []
29943                                           }
29944                                         (Ident
29945                                            SrcSpanInfo
29946                                              { srcInfoSpan =
29947                                                  SrcSpan
29948                                                    "tests/examples/DerivingVia.hs" 418 12 418 15
29949                                              , srcInfoPoints = []
29950                                              }
29951                                            "Num")))
29952                                   (TyVar
29953                                      SrcSpanInfo
29954                                        { srcInfoSpan =
29955                                            SrcSpan "tests/examples/DerivingVia.hs" 418 16 418 17
29956                                        , srcInfoPoints = []
29957                                        }
29958                                      (Ident
29959                                         SrcSpanInfo
29960                                           { srcInfoSpan =
29961                                               SrcSpan "tests/examples/DerivingVia.hs" 418 16 418 17
29962                                           , srcInfoPoints = []
29963                                           }
29964                                         "a"))))))
29965                       (TyFun
29966                          SrcSpanInfo
29967                            { srcInfoSpan =
29968                                SrcSpan "tests/examples/DerivingVia.hs" 418 21 418 43
29969                            , srcInfoPoints =
29970                                [ SrcSpan "tests/examples/DerivingVia.hs" 418 25 418 27 ]
29971                            }
29972                          (TyApp
29973                             SrcSpanInfo
29974                               { srcInfoSpan =
29975                                   SrcSpan "tests/examples/DerivingVia.hs" 418 21 418 24
29976                               , srcInfoPoints = []
29977                               }
29978                             (TyVar
29979                                SrcSpanInfo
29980                                  { srcInfoSpan =
29981                                      SrcSpan "tests/examples/DerivingVia.hs" 418 21 418 22
29982                                  , srcInfoPoints = []
29983                                  }
29984                                (Ident
29985                                   SrcSpanInfo
29986                                     { srcInfoSpan =
29987                                         SrcSpan "tests/examples/DerivingVia.hs" 418 21 418 22
29988                                     , srcInfoPoints = []
29989                                     }
29990                                   "p"))
29991                             (TyVar
29992                                SrcSpanInfo
29993                                  { srcInfoSpan =
29994                                      SrcSpan "tests/examples/DerivingVia.hs" 418 23 418 24
29995                                  , srcInfoPoints = []
29996                                  }
29997                                (Ident
29998                                   SrcSpanInfo
29999                                     { srcInfoSpan =
30000                                         SrcSpan "tests/examples/DerivingVia.hs" 418 23 418 24
30001                                     , srcInfoPoints = []
30002                                     }
30003                                   "a")))
30004                          (TyFun
30005                             SrcSpanInfo
30006                               { srcInfoSpan =
30007                                   SrcSpan "tests/examples/DerivingVia.hs" 418 28 418 43
30008                               , srcInfoPoints =
30009                                   [ SrcSpan "tests/examples/DerivingVia.hs" 418 37 418 39 ]
30010                               }
30011                             (TyApp
30012                                SrcSpanInfo
30013                                  { srcInfoSpan =
30014                                      SrcSpan "tests/examples/DerivingVia.hs" 418 28 418 36
30015                                  , srcInfoPoints = []
30016                                  }
30017                                (TyApp
30018                                   SrcSpanInfo
30019                                     { srcInfoSpan =
30020                                         SrcSpan "tests/examples/DerivingVia.hs" 418 28 418 34
30021                                     , srcInfoPoints = []
30022                                     }
30023                                   (TyCon
30024                                      SrcSpanInfo
30025                                        { srcInfoSpan =
30026                                            SrcSpan "tests/examples/DerivingVia.hs" 418 28 418 32
30027                                        , srcInfoPoints = []
30028                                        }
30029                                      (UnQual
30030                                         SrcSpanInfo
30031                                           { srcInfoSpan =
30032                                               SrcSpan "tests/examples/DerivingVia.hs" 418 28 418 32
30033                                           , srcInfoPoints = []
30034                                           }
30035                                         (Ident
30036                                            SrcSpanInfo
30037                                              { srcInfoSpan =
30038                                                  SrcSpan
30039                                                    "tests/examples/DerivingVia.hs" 418 28 418 32
30040                                              , srcInfoPoints = []
30041                                              }
30042                                            "Diff")))
30043                                   (TyVar
30044                                      SrcSpanInfo
30045                                        { srcInfoSpan =
30046                                            SrcSpan "tests/examples/DerivingVia.hs" 418 33 418 34
30047                                        , srcInfoPoints = []
30048                                        }
30049                                      (Ident
30050                                         SrcSpanInfo
30051                                           { srcInfoSpan =
30052                                               SrcSpan "tests/examples/DerivingVia.hs" 418 33 418 34
30053                                           , srcInfoPoints = []
30054                                           }
30055                                         "p")))
30056                                (TyVar
30057                                   SrcSpanInfo
30058                                     { srcInfoSpan =
30059                                         SrcSpan "tests/examples/DerivingVia.hs" 418 35 418 36
30060                                     , srcInfoPoints = []
30061                                     }
30062                                   (Ident
30063                                      SrcSpanInfo
30064                                        { srcInfoSpan =
30065                                            SrcSpan "tests/examples/DerivingVia.hs" 418 35 418 36
30066                                        , srcInfoPoints = []
30067                                        }
30068                                      "a")))
30069                             (TyApp
30070                                SrcSpanInfo
30071                                  { srcInfoSpan =
30072                                      SrcSpan "tests/examples/DerivingVia.hs" 418 40 418 43
30073                                  , srcInfoPoints = []
30074                                  }
30075                                (TyVar
30076                                   SrcSpanInfo
30077                                     { srcInfoSpan =
30078                                         SrcSpan "tests/examples/DerivingVia.hs" 418 40 418 41
30079                                     , srcInfoPoints = []
30080                                     }
30081                                   (Ident
30082                                      SrcSpanInfo
30083                                        { srcInfoSpan =
30084                                            SrcSpan "tests/examples/DerivingVia.hs" 418 40 418 41
30085                                        , srcInfoPoints = []
30086                                        }
30087                                      "p"))
30088                                (TyVar
30089                                   SrcSpanInfo
30090                                     { srcInfoSpan =
30091                                         SrcSpan "tests/examples/DerivingVia.hs" 418 42 418 43
30092                                     , srcInfoPoints = []
30093                                     }
30094                                   (Ident
30095                                      SrcSpanInfo
30096                                        { srcInfoSpan =
30097                                            SrcSpan "tests/examples/DerivingVia.hs" 418 42 418 43
30098                                        , srcInfoPoints = []
30099                                        }
30100                                      "a")))))))
30101             , ClsDecl
30102                 SrcSpanInfo
30103                   { srcInfoSpan =
30104                       SrcSpan "tests/examples/DerivingVia.hs" 419 3 419 32
30105                   , srcInfoPoints = []
30106                   }
30107                 (FunBind
30108                    SrcSpanInfo
30109                      { srcInfoSpan =
30110                          SrcSpan "tests/examples/DerivingVia.hs" 419 3 419 32
30111                      , srcInfoPoints = []
30112                      }
30113                    [ InfixMatch
30114                        SrcSpanInfo
30115                          { srcInfoSpan =
30116                              SrcSpan "tests/examples/DerivingVia.hs" 419 3 419 32
30117                          , srcInfoPoints = []
30118                          }
30119                        (PVar
30120                           SrcSpanInfo
30121                             { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 419 3 419 4
30122                             , srcInfoPoints = []
30123                             }
30124                           (Ident
30125                              SrcSpanInfo
30126                                { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 419 3 419 4
30127                                , srcInfoPoints = []
30128                                }
30129                              "p"))
30130                        (Symbol
30131                           SrcSpanInfo
30132                             { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 419 5 419 8
30133                             , srcInfoPoints = []
30134                             }
30135                           ".-^")
30136                        [ PVar
30137                            SrcSpanInfo
30138                              { srcInfoSpan =
30139                                  SrcSpan "tests/examples/DerivingVia.hs" 419 9 419 10
30140                              , srcInfoPoints = []
30141                              }
30142                            (Ident
30143                               SrcSpanInfo
30144                                 { srcInfoSpan =
30145                                     SrcSpan "tests/examples/DerivingVia.hs" 419 9 419 10
30146                                 , srcInfoPoints = []
30147                                 }
30148                               "v")
30149                        ]
30150                        (UnGuardedRhs
30151                           SrcSpanInfo
30152                             { srcInfoSpan =
30153                                 SrcSpan "tests/examples/DerivingVia.hs" 419 11 419 32
30154                             , srcInfoPoints =
30155                                 [ SrcSpan "tests/examples/DerivingVia.hs" 419 11 419 12 ]
30156                             }
30157                           (InfixApp
30158                              SrcSpanInfo
30159                                { srcInfoSpan =
30160                                    SrcSpan "tests/examples/DerivingVia.hs" 419 13 419 32
30161                                , srcInfoPoints = []
30162                                }
30163                              (Var
30164                                 SrcSpanInfo
30165                                   { srcInfoSpan =
30166                                       SrcSpan "tests/examples/DerivingVia.hs" 419 13 419 14
30167                                   , srcInfoPoints = []
30168                                   }
30169                                 (UnQual
30170                                    SrcSpanInfo
30171                                      { srcInfoSpan =
30172                                          SrcSpan "tests/examples/DerivingVia.hs" 419 13 419 14
30173                                      , srcInfoPoints = []
30174                                      }
30175                                    (Ident
30176                                       SrcSpanInfo
30177                                         { srcInfoSpan =
30178                                             SrcSpan "tests/examples/DerivingVia.hs" 419 13 419 14
30179                                         , srcInfoPoints = []
30180                                         }
30181                                       "p")))
30182                              (QVarOp
30183                                 SrcSpanInfo
30184                                   { srcInfoSpan =
30185                                       SrcSpan "tests/examples/DerivingVia.hs" 419 15 419 18
30186                                   , srcInfoPoints = []
30187                                   }
30188                                 (UnQual
30189                                    SrcSpanInfo
30190                                      { srcInfoSpan =
30191                                          SrcSpan "tests/examples/DerivingVia.hs" 419 15 419 18
30192                                      , srcInfoPoints = []
30193                                      }
30194                                    (Symbol
30195                                       SrcSpanInfo
30196                                         { srcInfoSpan =
30197                                             SrcSpan "tests/examples/DerivingVia.hs" 419 15 419 18
30198                                         , srcInfoPoints = []
30199                                         }
30200                                       ".+^")))
30201                              (App
30202                                 SrcSpanInfo
30203                                   { srcInfoSpan =
30204                                       SrcSpan "tests/examples/DerivingVia.hs" 419 19 419 32
30205                                   , srcInfoPoints = []
30206                                   }
30207                                 (App
30208                                    SrcSpanInfo
30209                                      { srcInfoSpan =
30210                                          SrcSpan "tests/examples/DerivingVia.hs" 419 19 419 30
30211                                      , srcInfoPoints = []
30212                                      }
30213                                    (Var
30214                                       SrcSpanInfo
30215                                         { srcInfoSpan =
30216                                             SrcSpan "tests/examples/DerivingVia.hs" 419 19 419 23
30217                                         , srcInfoPoints = []
30218                                         }
30219                                       (UnQual
30220                                          SrcSpanInfo
30221                                            { srcInfoSpan =
30222                                                SrcSpan
30223                                                  "tests/examples/DerivingVia.hs" 419 19 419 23
30224                                            , srcInfoPoints = []
30225                                            }
30226                                          (Ident
30227                                             SrcSpanInfo
30228                                               { srcInfoSpan =
30229                                                   SrcSpan
30230                                                     "tests/examples/DerivingVia.hs" 419 19 419 23
30231                                               , srcInfoPoints = []
30232                                               }
30233                                             "fmap")))
30234                                    (Var
30235                                       SrcSpanInfo
30236                                         { srcInfoSpan =
30237                                             SrcSpan "tests/examples/DerivingVia.hs" 419 24 419 30
30238                                         , srcInfoPoints = []
30239                                         }
30240                                       (UnQual
30241                                          SrcSpanInfo
30242                                            { srcInfoSpan =
30243                                                SrcSpan
30244                                                  "tests/examples/DerivingVia.hs" 419 24 419 30
30245                                            , srcInfoPoints = []
30246                                            }
30247                                          (Ident
30248                                             SrcSpanInfo
30249                                               { srcInfoSpan =
30250                                                   SrcSpan
30251                                                     "tests/examples/DerivingVia.hs" 419 24 419 30
30252                                               , srcInfoPoints = []
30253                                               }
30254                                             "negate"))))
30255                                 (Var
30256                                    SrcSpanInfo
30257                                      { srcInfoSpan =
30258                                          SrcSpan "tests/examples/DerivingVia.hs" 419 31 419 32
30259                                      , srcInfoPoints = []
30260                                      }
30261                                    (UnQual
30262                                       SrcSpanInfo
30263                                         { srcInfoSpan =
30264                                             SrcSpan "tests/examples/DerivingVia.hs" 419 31 419 32
30265                                         , srcInfoPoints = []
30266                                         }
30267                                       (Ident
30268                                          SrcSpanInfo
30269                                            { srcInfoSpan =
30270                                                SrcSpan
30271                                                  "tests/examples/DerivingVia.hs" 419 31 419 32
30272                                            , srcInfoPoints = []
30273                                            }
30274                                          "v"))))))
30275                        Nothing
30276                    ])
30277             ])
30278      , DataDecl
30279          SrcSpanInfo
30280            { srcInfoSpan =
30281                SrcSpan "tests/examples/DerivingVia.hs" 425 1 425 49
30282            , srcInfoPoints =
30283                [ SrcSpan "tests/examples/DerivingVia.hs" 425 26 425 27 ]
30284            }
30285          (NewType
30286             SrcSpanInfo
30287               { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 425 1 425 8
30288               , srcInfoPoints = []
30289               })
30290          Nothing
30291          (DHApp
30292             SrcSpanInfo
30293               { srcInfoSpan =
30294                   SrcSpan "tests/examples/DerivingVia.hs" 425 9 425 25
30295               , srcInfoPoints = []
30296               }
30297             (DHApp
30298                SrcSpanInfo
30299                  { srcInfoSpan =
30300                      SrcSpan "tests/examples/DerivingVia.hs" 425 9 425 23
30301                  , srcInfoPoints = []
30302                  }
30303                (DHead
30304                   SrcSpanInfo
30305                     { srcInfoSpan =
30306                         SrcSpan "tests/examples/DerivingVia.hs" 425 9 425 21
30307                     , srcInfoPoints = []
30308                     }
30309                   (Ident
30310                      SrcSpanInfo
30311                        { srcInfoSpan =
30312                            SrcSpan "tests/examples/DerivingVia.hs" 425 9 425 21
30313                        , srcInfoPoints = []
30314                        }
30315                      "WrapAdditive"))
30316                (UnkindedVar
30317                   SrcSpanInfo
30318                     { srcInfoSpan =
30319                         SrcSpan "tests/examples/DerivingVia.hs" 425 22 425 23
30320                     , srcInfoPoints = []
30321                     }
30322                   (Ident
30323                      SrcSpanInfo
30324                        { srcInfoSpan =
30325                            SrcSpan "tests/examples/DerivingVia.hs" 425 22 425 23
30326                        , srcInfoPoints = []
30327                        }
30328                      "f")))
30329             (UnkindedVar
30330                SrcSpanInfo
30331                  { srcInfoSpan =
30332                      SrcSpan "tests/examples/DerivingVia.hs" 425 24 425 25
30333                  , srcInfoPoints = []
30334                  }
30335                (Ident
30336                   SrcSpanInfo
30337                     { srcInfoSpan =
30338                         SrcSpan "tests/examples/DerivingVia.hs" 425 24 425 25
30339                     , srcInfoPoints = []
30340                     }
30341                   "a")))
30342          [ QualConDecl
30343              SrcSpanInfo
30344                { srcInfoSpan =
30345                    SrcSpan "tests/examples/DerivingVia.hs" 425 28 425 49
30346                , srcInfoPoints = []
30347                }
30348              Nothing
30349              Nothing
30350              (ConDecl
30351                 SrcSpanInfo
30352                   { srcInfoSpan =
30353                       SrcSpan "tests/examples/DerivingVia.hs" 425 28 425 49
30354                   , srcInfoPoints = []
30355                   }
30356                 (Ident
30357                    SrcSpanInfo
30358                      { srcInfoSpan =
30359                          SrcSpan "tests/examples/DerivingVia.hs" 425 28 425 43
30360                      , srcInfoPoints = []
30361                      }
30362                    "WrappedAdditive")
30363                 [ TyParen
30364                     SrcSpanInfo
30365                       { srcInfoSpan =
30366                           SrcSpan "tests/examples/DerivingVia.hs" 425 44 425 49
30367                       , srcInfoPoints =
30368                           [ SrcSpan "tests/examples/DerivingVia.hs" 425 44 425 45
30369                           , SrcSpan "tests/examples/DerivingVia.hs" 425 48 425 49
30370                           ]
30371                       }
30372                     (TyApp
30373                        SrcSpanInfo
30374                          { srcInfoSpan =
30375                              SrcSpan "tests/examples/DerivingVia.hs" 425 45 425 48
30376                          , srcInfoPoints = []
30377                          }
30378                        (TyVar
30379                           SrcSpanInfo
30380                             { srcInfoSpan =
30381                                 SrcSpan "tests/examples/DerivingVia.hs" 425 45 425 46
30382                             , srcInfoPoints = []
30383                             }
30384                           (Ident
30385                              SrcSpanInfo
30386                                { srcInfoSpan =
30387                                    SrcSpan "tests/examples/DerivingVia.hs" 425 45 425 46
30388                                , srcInfoPoints = []
30389                                }
30390                              "f"))
30391                        (TyVar
30392                           SrcSpanInfo
30393                             { srcInfoSpan =
30394                                 SrcSpan "tests/examples/DerivingVia.hs" 425 47 425 48
30395                             , srcInfoPoints = []
30396                             }
30397                           (Ident
30398                              SrcSpanInfo
30399                                { srcInfoSpan =
30400                                    SrcSpan "tests/examples/DerivingVia.hs" 425 47 425 48
30401                                , srcInfoPoints = []
30402                                }
30403                              "a")))
30404                 ])
30405          ]
30406          []
30407      , InstDecl
30408          SrcSpanInfo
30409            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 427 1 435 0
30410            , srcInfoPoints =
30411                [ SrcSpan "tests/examples/DerivingVia.hs" 427 1 427 9
30412                , SrcSpan "tests/examples/DerivingVia.hs" 427 48 427 53
30413                , SrcSpan "tests/examples/DerivingVia.hs" 428 3 428 3
30414                , SrcSpan "tests/examples/DerivingVia.hs" 430 3 430 3
30415                , SrcSpan "tests/examples/DerivingVia.hs" 431 3 431 3
30416                , SrcSpan "tests/examples/DerivingVia.hs" 432 3 432 3
30417                , SrcSpan "tests/examples/DerivingVia.hs" 435 1 435 0
30418                ]
30419            }
30420          Nothing
30421          (IRule
30422             SrcSpanInfo
30423               { srcInfoSpan =
30424                   SrcSpan "tests/examples/DerivingVia.hs" 427 10 427 47
30425               , srcInfoPoints = []
30426               }
30427             Nothing
30428             (Just
30429                (CxSingle
30430                   SrcSpanInfo
30431                     { srcInfoSpan =
30432                         SrcSpan "tests/examples/DerivingVia.hs" 427 10 427 23
30433                     , srcInfoPoints =
30434                         [ SrcSpan "tests/examples/DerivingVia.hs" 427 21 427 23 ]
30435                     }
30436                   (TypeA
30437                      SrcSpanInfo
30438                        { srcInfoSpan =
30439                            SrcSpan "tests/examples/DerivingVia.hs" 427 10 427 23
30440                        , srcInfoPoints =
30441                            [ SrcSpan "tests/examples/DerivingVia.hs" 427 21 427 23 ]
30442                        }
30443                      (TyApp
30444                         SrcSpanInfo
30445                           { srcInfoSpan =
30446                               SrcSpan "tests/examples/DerivingVia.hs" 427 10 427 23
30447                           , srcInfoPoints =
30448                               [ SrcSpan "tests/examples/DerivingVia.hs" 427 21 427 23 ]
30449                           }
30450                         (TyCon
30451                            SrcSpanInfo
30452                              { srcInfoSpan =
30453                                  SrcSpan "tests/examples/DerivingVia.hs" 427 10 427 23
30454                              , srcInfoPoints =
30455                                  [ SrcSpan "tests/examples/DerivingVia.hs" 427 21 427 23 ]
30456                              }
30457                            (UnQual
30458                               SrcSpanInfo
30459                                 { srcInfoSpan =
30460                                     SrcSpan "tests/examples/DerivingVia.hs" 427 10 427 18
30461                                 , srcInfoPoints = []
30462                                 }
30463                               (Ident
30464                                  SrcSpanInfo
30465                                    { srcInfoSpan =
30466                                        SrcSpan "tests/examples/DerivingVia.hs" 427 10 427 18
30467                                    , srcInfoPoints = []
30468                                    }
30469                                  "Additive")))
30470                         (TyVar
30471                            SrcSpanInfo
30472                              { srcInfoSpan =
30473                                  SrcSpan "tests/examples/DerivingVia.hs" 427 19 427 20
30474                              , srcInfoPoints = []
30475                              }
30476                            (Ident
30477                               SrcSpanInfo
30478                                 { srcInfoSpan =
30479                                     SrcSpan "tests/examples/DerivingVia.hs" 427 19 427 20
30480                                 , srcInfoPoints = []
30481                                 }
30482                               "f"))))))
30483             (IHApp
30484                SrcSpanInfo
30485                  { srcInfoSpan =
30486                      SrcSpan "tests/examples/DerivingVia.hs" 427 24 427 47
30487                  , srcInfoPoints = []
30488                  }
30489                (IHCon
30490                   SrcSpanInfo
30491                     { srcInfoSpan =
30492                         SrcSpan "tests/examples/DerivingVia.hs" 427 24 427 30
30493                     , srcInfoPoints = []
30494                     }
30495                   (UnQual
30496                      SrcSpanInfo
30497                        { srcInfoSpan =
30498                            SrcSpan "tests/examples/DerivingVia.hs" 427 24 427 30
30499                        , srcInfoPoints = []
30500                        }
30501                      (Ident
30502                         SrcSpanInfo
30503                           { srcInfoSpan =
30504                               SrcSpan "tests/examples/DerivingVia.hs" 427 24 427 30
30505                           , srcInfoPoints = []
30506                           }
30507                         "Affine")))
30508                (TyParen
30509                   SrcSpanInfo
30510                     { srcInfoSpan =
30511                         SrcSpan "tests/examples/DerivingVia.hs" 427 31 427 47
30512                     , srcInfoPoints =
30513                         [ SrcSpan "tests/examples/DerivingVia.hs" 427 31 427 32
30514                         , SrcSpan "tests/examples/DerivingVia.hs" 427 46 427 47
30515                         ]
30516                     }
30517                   (TyApp
30518                      SrcSpanInfo
30519                        { srcInfoSpan =
30520                            SrcSpan "tests/examples/DerivingVia.hs" 427 32 427 46
30521                        , srcInfoPoints = []
30522                        }
30523                      (TyCon
30524                         SrcSpanInfo
30525                           { srcInfoSpan =
30526                               SrcSpan "tests/examples/DerivingVia.hs" 427 32 427 44
30527                           , srcInfoPoints = []
30528                           }
30529                         (UnQual
30530                            SrcSpanInfo
30531                              { srcInfoSpan =
30532                                  SrcSpan "tests/examples/DerivingVia.hs" 427 32 427 44
30533                              , srcInfoPoints = []
30534                              }
30535                            (Ident
30536                               SrcSpanInfo
30537                                 { srcInfoSpan =
30538                                     SrcSpan "tests/examples/DerivingVia.hs" 427 32 427 44
30539                                 , srcInfoPoints = []
30540                                 }
30541                               "WrapAdditive")))
30542                      (TyVar
30543                         SrcSpanInfo
30544                           { srcInfoSpan =
30545                               SrcSpan "tests/examples/DerivingVia.hs" 427 45 427 46
30546                           , srcInfoPoints = []
30547                           }
30548                         (Ident
30549                            SrcSpanInfo
30550                              { srcInfoSpan =
30551                                  SrcSpan "tests/examples/DerivingVia.hs" 427 45 427 46
30552                              , srcInfoPoints = []
30553                              }
30554                            "f"))))))
30555          (Just
30556             [ InsType
30557                 SrcSpanInfo
30558                   { srcInfoSpan =
30559                       SrcSpan "tests/examples/DerivingVia.hs" 428 3 428 33
30560                   , srcInfoPoints =
30561                       [ SrcSpan "tests/examples/DerivingVia.hs" 428 3 428 7
30562                       , SrcSpan "tests/examples/DerivingVia.hs" 428 30 428 31
30563                       ]
30564                   }
30565                 (TyApp
30566                    SrcSpanInfo
30567                      { srcInfoSpan =
30568                          SrcSpan "tests/examples/DerivingVia.hs" 428 8 428 29
30569                      , srcInfoPoints = []
30570                      }
30571                    (TyCon
30572                       SrcSpanInfo
30573                         { srcInfoSpan =
30574                             SrcSpan "tests/examples/DerivingVia.hs" 428 8 428 12
30575                         , srcInfoPoints = []
30576                         }
30577                       (UnQual
30578                          SrcSpanInfo
30579                            { srcInfoSpan =
30580                                SrcSpan "tests/examples/DerivingVia.hs" 428 8 428 12
30581                            , srcInfoPoints = []
30582                            }
30583                          (Ident
30584                             SrcSpanInfo
30585                               { srcInfoSpan =
30586                                   SrcSpan "tests/examples/DerivingVia.hs" 428 8 428 12
30587                               , srcInfoPoints = []
30588                               }
30589                             "Diff")))
30590                    (TyParen
30591                       SrcSpanInfo
30592                         { srcInfoSpan =
30593                             SrcSpan "tests/examples/DerivingVia.hs" 428 13 428 29
30594                         , srcInfoPoints =
30595                             [ SrcSpan "tests/examples/DerivingVia.hs" 428 13 428 14
30596                             , SrcSpan "tests/examples/DerivingVia.hs" 428 28 428 29
30597                             ]
30598                         }
30599                       (TyApp
30600                          SrcSpanInfo
30601                            { srcInfoSpan =
30602                                SrcSpan "tests/examples/DerivingVia.hs" 428 14 428 28
30603                            , srcInfoPoints = []
30604                            }
30605                          (TyCon
30606                             SrcSpanInfo
30607                               { srcInfoSpan =
30608                                   SrcSpan "tests/examples/DerivingVia.hs" 428 14 428 26
30609                               , srcInfoPoints = []
30610                               }
30611                             (UnQual
30612                                SrcSpanInfo
30613                                  { srcInfoSpan =
30614                                      SrcSpan "tests/examples/DerivingVia.hs" 428 14 428 26
30615                                  , srcInfoPoints = []
30616                                  }
30617                                (Ident
30618                                   SrcSpanInfo
30619                                     { srcInfoSpan =
30620                                         SrcSpan "tests/examples/DerivingVia.hs" 428 14 428 26
30621                                     , srcInfoPoints = []
30622                                     }
30623                                   "WrapAdditive")))
30624                          (TyVar
30625                             SrcSpanInfo
30626                               { srcInfoSpan =
30627                                   SrcSpan "tests/examples/DerivingVia.hs" 428 27 428 28
30628                               , srcInfoPoints = []
30629                               }
30630                             (Ident
30631                                SrcSpanInfo
30632                                  { srcInfoSpan =
30633                                      SrcSpan "tests/examples/DerivingVia.hs" 428 27 428 28
30634                                  , srcInfoPoints = []
30635                                  }
30636                                "f")))))
30637                 (TyVar
30638                    SrcSpanInfo
30639                      { srcInfoSpan =
30640                          SrcSpan "tests/examples/DerivingVia.hs" 428 32 428 33
30641                      , srcInfoPoints = []
30642                      }
30643                    (Ident
30644                       SrcSpanInfo
30645                         { srcInfoSpan =
30646                             SrcSpan "tests/examples/DerivingVia.hs" 428 32 428 33
30647                         , srcInfoPoints = []
30648                         }
30649                       "f"))
30650             , InsDecl
30651                 SrcSpanInfo
30652                   { srcInfoSpan =
30653                       SrcSpan "tests/examples/DerivingVia.hs" 430 3 430 52
30654                   , srcInfoPoints = []
30655                   }
30656                 (FunBind
30657                    SrcSpanInfo
30658                      { srcInfoSpan =
30659                          SrcSpan "tests/examples/DerivingVia.hs" 430 3 430 52
30660                      , srcInfoPoints = []
30661                      }
30662                    [ InfixMatch
30663                        SrcSpanInfo
30664                          { srcInfoSpan =
30665                              SrcSpan "tests/examples/DerivingVia.hs" 430 3 430 52
30666                          , srcInfoPoints = []
30667                          }
30668                        (PApp
30669                           SrcSpanInfo
30670                             { srcInfoSpan =
30671                                 SrcSpan "tests/examples/DerivingVia.hs" 430 3 430 20
30672                             , srcInfoPoints = []
30673                             }
30674                           (UnQual
30675                              SrcSpanInfo
30676                                { srcInfoSpan =
30677                                    SrcSpan "tests/examples/DerivingVia.hs" 430 3 430 18
30678                                , srcInfoPoints = []
30679                                }
30680                              (Ident
30681                                 SrcSpanInfo
30682                                   { srcInfoSpan =
30683                                       SrcSpan "tests/examples/DerivingVia.hs" 430 3 430 18
30684                                   , srcInfoPoints = []
30685                                   }
30686                                 "WrappedAdditive"))
30687                           [ PVar
30688                               SrcSpanInfo
30689                                 { srcInfoSpan =
30690                                     SrcSpan "tests/examples/DerivingVia.hs" 430 19 430 20
30691                                 , srcInfoPoints = []
30692                                 }
30693                               (Ident
30694                                  SrcSpanInfo
30695                                    { srcInfoSpan =
30696                                        SrcSpan "tests/examples/DerivingVia.hs" 430 19 430 20
30697                                    , srcInfoPoints = []
30698                                    }
30699                                  "a")
30700                           ])
30701                        (Symbol
30702                           SrcSpanInfo
30703                             { srcInfoSpan =
30704                                 SrcSpan "tests/examples/DerivingVia.hs" 430 21 430 24
30705                             , srcInfoPoints = []
30706                             }
30707                           ".-.")
30708                        [ PApp
30709                            SrcSpanInfo
30710                              { srcInfoSpan =
30711                                  SrcSpan "tests/examples/DerivingVia.hs" 430 25 430 42
30712                              , srcInfoPoints = []
30713                              }
30714                            (UnQual
30715                               SrcSpanInfo
30716                                 { srcInfoSpan =
30717                                     SrcSpan "tests/examples/DerivingVia.hs" 430 25 430 40
30718                                 , srcInfoPoints = []
30719                                 }
30720                               (Ident
30721                                  SrcSpanInfo
30722                                    { srcInfoSpan =
30723                                        SrcSpan "tests/examples/DerivingVia.hs" 430 25 430 40
30724                                    , srcInfoPoints = []
30725                                    }
30726                                  "WrappedAdditive"))
30727                            [ PVar
30728                                SrcSpanInfo
30729                                  { srcInfoSpan =
30730                                      SrcSpan "tests/examples/DerivingVia.hs" 430 41 430 42
30731                                  , srcInfoPoints = []
30732                                  }
30733                                (Ident
30734                                   SrcSpanInfo
30735                                     { srcInfoSpan =
30736                                         SrcSpan "tests/examples/DerivingVia.hs" 430 41 430 42
30737                                     , srcInfoPoints = []
30738                                     }
30739                                   "b")
30740                            ]
30741                        ]
30742                        (UnGuardedRhs
30743                           SrcSpanInfo
30744                             { srcInfoSpan =
30745                                 SrcSpan "tests/examples/DerivingVia.hs" 430 43 430 52
30746                             , srcInfoPoints =
30747                                 [ SrcSpan "tests/examples/DerivingVia.hs" 430 43 430 44 ]
30748                             }
30749                           (InfixApp
30750                              SrcSpanInfo
30751                                { srcInfoSpan =
30752                                    SrcSpan "tests/examples/DerivingVia.hs" 430 45 430 52
30753                                , srcInfoPoints = []
30754                                }
30755                              (Var
30756                                 SrcSpanInfo
30757                                   { srcInfoSpan =
30758                                       SrcSpan "tests/examples/DerivingVia.hs" 430 45 430 46
30759                                   , srcInfoPoints = []
30760                                   }
30761                                 (UnQual
30762                                    SrcSpanInfo
30763                                      { srcInfoSpan =
30764                                          SrcSpan "tests/examples/DerivingVia.hs" 430 45 430 46
30765                                      , srcInfoPoints = []
30766                                      }
30767                                    (Ident
30768                                       SrcSpanInfo
30769                                         { srcInfoSpan =
30770                                             SrcSpan "tests/examples/DerivingVia.hs" 430 45 430 46
30771                                         , srcInfoPoints = []
30772                                         }
30773                                       "a")))
30774                              (QVarOp
30775                                 SrcSpanInfo
30776                                   { srcInfoSpan =
30777                                       SrcSpan "tests/examples/DerivingVia.hs" 430 47 430 50
30778                                   , srcInfoPoints = []
30779                                   }
30780                                 (UnQual
30781                                    SrcSpanInfo
30782                                      { srcInfoSpan =
30783                                          SrcSpan "tests/examples/DerivingVia.hs" 430 47 430 50
30784                                      , srcInfoPoints = []
30785                                      }
30786                                    (Symbol
30787                                       SrcSpanInfo
30788                                         { srcInfoSpan =
30789                                             SrcSpan "tests/examples/DerivingVia.hs" 430 47 430 50
30790                                         , srcInfoPoints = []
30791                                         }
30792                                       "^-^")))
30793                              (Var
30794                                 SrcSpanInfo
30795                                   { srcInfoSpan =
30796                                       SrcSpan "tests/examples/DerivingVia.hs" 430 51 430 52
30797                                   , srcInfoPoints = []
30798                                   }
30799                                 (UnQual
30800                                    SrcSpanInfo
30801                                      { srcInfoSpan =
30802                                          SrcSpan "tests/examples/DerivingVia.hs" 430 51 430 52
30803                                      , srcInfoPoints = []
30804                                      }
30805                                    (Ident
30806                                       SrcSpanInfo
30807                                         { srcInfoSpan =
30808                                             SrcSpan "tests/examples/DerivingVia.hs" 430 51 430 52
30809                                         , srcInfoPoints = []
30810                                         }
30811                                       "b")))))
30812                        Nothing
30813                    ])
30814             , InsDecl
30815                 SrcSpanInfo
30816                   { srcInfoSpan =
30817                       SrcSpan "tests/examples/DerivingVia.hs" 431 3 431 54
30818                   , srcInfoPoints = []
30819                   }
30820                 (FunBind
30821                    SrcSpanInfo
30822                      { srcInfoSpan =
30823                          SrcSpan "tests/examples/DerivingVia.hs" 431 3 431 54
30824                      , srcInfoPoints = []
30825                      }
30826                    [ InfixMatch
30827                        SrcSpanInfo
30828                          { srcInfoSpan =
30829                              SrcSpan "tests/examples/DerivingVia.hs" 431 3 431 54
30830                          , srcInfoPoints = []
30831                          }
30832                        (PApp
30833                           SrcSpanInfo
30834                             { srcInfoSpan =
30835                                 SrcSpan "tests/examples/DerivingVia.hs" 431 3 431 20
30836                             , srcInfoPoints = []
30837                             }
30838                           (UnQual
30839                              SrcSpanInfo
30840                                { srcInfoSpan =
30841                                    SrcSpan "tests/examples/DerivingVia.hs" 431 3 431 18
30842                                , srcInfoPoints = []
30843                                }
30844                              (Ident
30845                                 SrcSpanInfo
30846                                   { srcInfoSpan =
30847                                       SrcSpan "tests/examples/DerivingVia.hs" 431 3 431 18
30848                                   , srcInfoPoints = []
30849                                   }
30850                                 "WrappedAdditive"))
30851                           [ PVar
30852                               SrcSpanInfo
30853                                 { srcInfoSpan =
30854                                     SrcSpan "tests/examples/DerivingVia.hs" 431 19 431 20
30855                                 , srcInfoPoints = []
30856                                 }
30857                               (Ident
30858                                  SrcSpanInfo
30859                                    { srcInfoSpan =
30860                                        SrcSpan "tests/examples/DerivingVia.hs" 431 19 431 20
30861                                    , srcInfoPoints = []
30862                                    }
30863                                  "a")
30864                           ])
30865                        (Symbol
30866                           SrcSpanInfo
30867                             { srcInfoSpan =
30868                                 SrcSpan "tests/examples/DerivingVia.hs" 431 21 431 24
30869                             , srcInfoPoints = []
30870                             }
30871                           ".+^")
30872                        [ PVar
30873                            SrcSpanInfo
30874                              { srcInfoSpan =
30875                                  SrcSpan "tests/examples/DerivingVia.hs" 431 25 431 26
30876                              , srcInfoPoints = []
30877                              }
30878                            (Ident
30879                               SrcSpanInfo
30880                                 { srcInfoSpan =
30881                                     SrcSpan "tests/examples/DerivingVia.hs" 431 25 431 26
30882                                 , srcInfoPoints = []
30883                                 }
30884                               "b")
30885                        ]
30886                        (UnGuardedRhs
30887                           SrcSpanInfo
30888                             { srcInfoSpan =
30889                                 SrcSpan "tests/examples/DerivingVia.hs" 431 27 431 54
30890                             , srcInfoPoints =
30891                                 [ SrcSpan "tests/examples/DerivingVia.hs" 431 27 431 28 ]
30892                             }
30893                           (App
30894                              SrcSpanInfo
30895                                { srcInfoSpan =
30896                                    SrcSpan "tests/examples/DerivingVia.hs" 431 29 431 54
30897                                , srcInfoPoints = []
30898                                }
30899                              (Con
30900                                 SrcSpanInfo
30901                                   { srcInfoSpan =
30902                                       SrcSpan "tests/examples/DerivingVia.hs" 431 29 431 44
30903                                   , srcInfoPoints = []
30904                                   }
30905                                 (UnQual
30906                                    SrcSpanInfo
30907                                      { srcInfoSpan =
30908                                          SrcSpan "tests/examples/DerivingVia.hs" 431 29 431 44
30909                                      , srcInfoPoints = []
30910                                      }
30911                                    (Ident
30912                                       SrcSpanInfo
30913                                         { srcInfoSpan =
30914                                             SrcSpan "tests/examples/DerivingVia.hs" 431 29 431 44
30915                                         , srcInfoPoints = []
30916                                         }
30917                                       "WrappedAdditive")))
30918                              (Paren
30919                                 SrcSpanInfo
30920                                   { srcInfoSpan =
30921                                       SrcSpan "tests/examples/DerivingVia.hs" 431 45 431 54
30922                                   , srcInfoPoints =
30923                                       [ SrcSpan "tests/examples/DerivingVia.hs" 431 45 431 46
30924                                       , SrcSpan "tests/examples/DerivingVia.hs" 431 53 431 54
30925                                       ]
30926                                   }
30927                                 (InfixApp
30928                                    SrcSpanInfo
30929                                      { srcInfoSpan =
30930                                          SrcSpan "tests/examples/DerivingVia.hs" 431 46 431 53
30931                                      , srcInfoPoints = []
30932                                      }
30933                                    (Var
30934                                       SrcSpanInfo
30935                                         { srcInfoSpan =
30936                                             SrcSpan "tests/examples/DerivingVia.hs" 431 46 431 47
30937                                         , srcInfoPoints = []
30938                                         }
30939                                       (UnQual
30940                                          SrcSpanInfo
30941                                            { srcInfoSpan =
30942                                                SrcSpan
30943                                                  "tests/examples/DerivingVia.hs" 431 46 431 47
30944                                            , srcInfoPoints = []
30945                                            }
30946                                          (Ident
30947                                             SrcSpanInfo
30948                                               { srcInfoSpan =
30949                                                   SrcSpan
30950                                                     "tests/examples/DerivingVia.hs" 431 46 431 47
30951                                               , srcInfoPoints = []
30952                                               }
30953                                             "a")))
30954                                    (QVarOp
30955                                       SrcSpanInfo
30956                                         { srcInfoSpan =
30957                                             SrcSpan "tests/examples/DerivingVia.hs" 431 48 431 51
30958                                         , srcInfoPoints = []
30959                                         }
30960                                       (UnQual
30961                                          SrcSpanInfo
30962                                            { srcInfoSpan =
30963                                                SrcSpan
30964                                                  "tests/examples/DerivingVia.hs" 431 48 431 51
30965                                            , srcInfoPoints = []
30966                                            }
30967                                          (Symbol
30968                                             SrcSpanInfo
30969                                               { srcInfoSpan =
30970                                                   SrcSpan
30971                                                     "tests/examples/DerivingVia.hs" 431 48 431 51
30972                                               , srcInfoPoints = []
30973                                               }
30974                                             "^+^")))
30975                                    (Var
30976                                       SrcSpanInfo
30977                                         { srcInfoSpan =
30978                                             SrcSpan "tests/examples/DerivingVia.hs" 431 52 431 53
30979                                         , srcInfoPoints = []
30980                                         }
30981                                       (UnQual
30982                                          SrcSpanInfo
30983                                            { srcInfoSpan =
30984                                                SrcSpan
30985                                                  "tests/examples/DerivingVia.hs" 431 52 431 53
30986                                            , srcInfoPoints = []
30987                                            }
30988                                          (Ident
30989                                             SrcSpanInfo
30990                                               { srcInfoSpan =
30991                                                   SrcSpan
30992                                                     "tests/examples/DerivingVia.hs" 431 52 431 53
30993                                               , srcInfoPoints = []
30994                                               }
30995                                             "b")))))))
30996                        Nothing
30997                    ])
30998             , InsDecl
30999                 SrcSpanInfo
31000                   { srcInfoSpan =
31001                       SrcSpan "tests/examples/DerivingVia.hs" 432 3 432 54
31002                   , srcInfoPoints = []
31003                   }
31004                 (FunBind
31005                    SrcSpanInfo
31006                      { srcInfoSpan =
31007                          SrcSpan "tests/examples/DerivingVia.hs" 432 3 432 54
31008                      , srcInfoPoints = []
31009                      }
31010                    [ InfixMatch
31011                        SrcSpanInfo
31012                          { srcInfoSpan =
31013                              SrcSpan "tests/examples/DerivingVia.hs" 432 3 432 54
31014                          , srcInfoPoints = []
31015                          }
31016                        (PApp
31017                           SrcSpanInfo
31018                             { srcInfoSpan =
31019                                 SrcSpan "tests/examples/DerivingVia.hs" 432 3 432 20
31020                             , srcInfoPoints = []
31021                             }
31022                           (UnQual
31023                              SrcSpanInfo
31024                                { srcInfoSpan =
31025                                    SrcSpan "tests/examples/DerivingVia.hs" 432 3 432 18
31026                                , srcInfoPoints = []
31027                                }
31028                              (Ident
31029                                 SrcSpanInfo
31030                                   { srcInfoSpan =
31031                                       SrcSpan "tests/examples/DerivingVia.hs" 432 3 432 18
31032                                   , srcInfoPoints = []
31033                                   }
31034                                 "WrappedAdditive"))
31035                           [ PVar
31036                               SrcSpanInfo
31037                                 { srcInfoSpan =
31038                                     SrcSpan "tests/examples/DerivingVia.hs" 432 19 432 20
31039                                 , srcInfoPoints = []
31040                                 }
31041                               (Ident
31042                                  SrcSpanInfo
31043                                    { srcInfoSpan =
31044                                        SrcSpan "tests/examples/DerivingVia.hs" 432 19 432 20
31045                                    , srcInfoPoints = []
31046                                    }
31047                                  "a")
31048                           ])
31049                        (Symbol
31050                           SrcSpanInfo
31051                             { srcInfoSpan =
31052                                 SrcSpan "tests/examples/DerivingVia.hs" 432 21 432 24
31053                             , srcInfoPoints = []
31054                             }
31055                           ".-^")
31056                        [ PVar
31057                            SrcSpanInfo
31058                              { srcInfoSpan =
31059                                  SrcSpan "tests/examples/DerivingVia.hs" 432 25 432 26
31060                              , srcInfoPoints = []
31061                              }
31062                            (Ident
31063                               SrcSpanInfo
31064                                 { srcInfoSpan =
31065                                     SrcSpan "tests/examples/DerivingVia.hs" 432 25 432 26
31066                                 , srcInfoPoints = []
31067                                 }
31068                               "b")
31069                        ]
31070                        (UnGuardedRhs
31071                           SrcSpanInfo
31072                             { srcInfoSpan =
31073                                 SrcSpan "tests/examples/DerivingVia.hs" 432 27 432 54
31074                             , srcInfoPoints =
31075                                 [ SrcSpan "tests/examples/DerivingVia.hs" 432 27 432 28 ]
31076                             }
31077                           (App
31078                              SrcSpanInfo
31079                                { srcInfoSpan =
31080                                    SrcSpan "tests/examples/DerivingVia.hs" 432 29 432 54
31081                                , srcInfoPoints = []
31082                                }
31083                              (Con
31084                                 SrcSpanInfo
31085                                   { srcInfoSpan =
31086                                       SrcSpan "tests/examples/DerivingVia.hs" 432 29 432 44
31087                                   , srcInfoPoints = []
31088                                   }
31089                                 (UnQual
31090                                    SrcSpanInfo
31091                                      { srcInfoSpan =
31092                                          SrcSpan "tests/examples/DerivingVia.hs" 432 29 432 44
31093                                      , srcInfoPoints = []
31094                                      }
31095                                    (Ident
31096                                       SrcSpanInfo
31097                                         { srcInfoSpan =
31098                                             SrcSpan "tests/examples/DerivingVia.hs" 432 29 432 44
31099                                         , srcInfoPoints = []
31100                                         }
31101                                       "WrappedAdditive")))
31102                              (Paren
31103                                 SrcSpanInfo
31104                                   { srcInfoSpan =
31105                                       SrcSpan "tests/examples/DerivingVia.hs" 432 45 432 54
31106                                   , srcInfoPoints =
31107                                       [ SrcSpan "tests/examples/DerivingVia.hs" 432 45 432 46
31108                                       , SrcSpan "tests/examples/DerivingVia.hs" 432 53 432 54
31109                                       ]
31110                                   }
31111                                 (InfixApp
31112                                    SrcSpanInfo
31113                                      { srcInfoSpan =
31114                                          SrcSpan "tests/examples/DerivingVia.hs" 432 46 432 53
31115                                      , srcInfoPoints = []
31116                                      }
31117                                    (Var
31118                                       SrcSpanInfo
31119                                         { srcInfoSpan =
31120                                             SrcSpan "tests/examples/DerivingVia.hs" 432 46 432 47
31121                                         , srcInfoPoints = []
31122                                         }
31123                                       (UnQual
31124                                          SrcSpanInfo
31125                                            { srcInfoSpan =
31126                                                SrcSpan
31127                                                  "tests/examples/DerivingVia.hs" 432 46 432 47
31128                                            , srcInfoPoints = []
31129                                            }
31130                                          (Ident
31131                                             SrcSpanInfo
31132                                               { srcInfoSpan =
31133                                                   SrcSpan
31134                                                     "tests/examples/DerivingVia.hs" 432 46 432 47
31135                                               , srcInfoPoints = []
31136                                               }
31137                                             "a")))
31138                                    (QVarOp
31139                                       SrcSpanInfo
31140                                         { srcInfoSpan =
31141                                             SrcSpan "tests/examples/DerivingVia.hs" 432 48 432 51
31142                                         , srcInfoPoints = []
31143                                         }
31144                                       (UnQual
31145                                          SrcSpanInfo
31146                                            { srcInfoSpan =
31147                                                SrcSpan
31148                                                  "tests/examples/DerivingVia.hs" 432 48 432 51
31149                                            , srcInfoPoints = []
31150                                            }
31151                                          (Symbol
31152                                             SrcSpanInfo
31153                                               { srcInfoSpan =
31154                                                   SrcSpan
31155                                                     "tests/examples/DerivingVia.hs" 432 48 432 51
31156                                               , srcInfoPoints = []
31157                                               }
31158                                             "^-^")))
31159                                    (Var
31160                                       SrcSpanInfo
31161                                         { srcInfoSpan =
31162                                             SrcSpan "tests/examples/DerivingVia.hs" 432 52 432 53
31163                                         , srcInfoPoints = []
31164                                         }
31165                                       (UnQual
31166                                          SrcSpanInfo
31167                                            { srcInfoSpan =
31168                                                SrcSpan
31169                                                  "tests/examples/DerivingVia.hs" 432 52 432 53
31170                                            , srcInfoPoints = []
31171                                            }
31172                                          (Ident
31173                                             SrcSpanInfo
31174                                               { srcInfoSpan =
31175                                                   SrcSpan
31176                                                     "tests/examples/DerivingVia.hs" 432 52 432 53
31177                                               , srcInfoPoints = []
31178                                               }
31179                                             "b")))))))
31180                        Nothing
31181                    ])
31182             ])
31183      , DerivDecl
31184          SrcSpanInfo
31185            { srcInfoSpan =
31186                SrcSpan "tests/examples/DerivingVia.hs" 435 1 435 62
31187            , srcInfoPoints =
31188                [ SrcSpan "tests/examples/DerivingVia.hs" 435 1 435 9
31189                , SrcSpan "tests/examples/DerivingVia.hs" 435 38 435 46
31190                ]
31191            }
31192          (Just
31193             (DerivVia
31194                SrcSpanInfo
31195                  { srcInfoSpan =
31196                      SrcSpan "tests/examples/DerivingVia.hs" 435 10 435 13
31197                  , srcInfoPoints = []
31198                  }
31199                (TyParen
31200                   SrcSpanInfo
31201                     { srcInfoSpan =
31202                         SrcSpan "tests/examples/DerivingVia.hs" 435 14 435 37
31203                     , srcInfoPoints =
31204                         [ SrcSpan "tests/examples/DerivingVia.hs" 435 14 435 15
31205                         , SrcSpan "tests/examples/DerivingVia.hs" 435 36 435 37
31206                         ]
31207                     }
31208                   (TyApp
31209                      SrcSpanInfo
31210                        { srcInfoSpan =
31211                            SrcSpan "tests/examples/DerivingVia.hs" 435 15 435 36
31212                        , srcInfoPoints = []
31213                        }
31214                      (TyCon
31215                         SrcSpanInfo
31216                           { srcInfoSpan =
31217                               SrcSpan "tests/examples/DerivingVia.hs" 435 15 435 27
31218                           , srcInfoPoints = []
31219                           }
31220                         (UnQual
31221                            SrcSpanInfo
31222                              { srcInfoSpan =
31223                                  SrcSpan "tests/examples/DerivingVia.hs" 435 15 435 27
31224                              , srcInfoPoints = []
31225                              }
31226                            (Ident
31227                               SrcSpanInfo
31228                                 { srcInfoSpan =
31229                                     SrcSpan "tests/examples/DerivingVia.hs" 435 15 435 27
31230                                 , srcInfoPoints = []
31231                                 }
31232                               "WrapAdditive")))
31233                      (TyParen
31234                         SrcSpanInfo
31235                           { srcInfoSpan =
31236                               SrcSpan "tests/examples/DerivingVia.hs" 435 28 435 36
31237                           , srcInfoPoints =
31238                               [ SrcSpan "tests/examples/DerivingVia.hs" 435 28 435 29
31239                               , SrcSpan "tests/examples/DerivingVia.hs" 435 35 435 36
31240                               ]
31241                           }
31242                         (TyApp
31243                            SrcSpanInfo
31244                              { srcInfoSpan =
31245                                  SrcSpan "tests/examples/DerivingVia.hs" 435 29 435 35
31246                              , srcInfoPoints = []
31247                              }
31248                            (TyCon
31249                               SrcSpanInfo
31250                                 { srcInfoSpan =
31251                                     SrcSpan "tests/examples/DerivingVia.hs" 435 29 435 33
31252                                 , srcInfoPoints =
31253                                     [ SrcSpan "tests/examples/DerivingVia.hs" 435 29 435 30
31254                                     , SrcSpan "tests/examples/DerivingVia.hs" 435 30 435 32
31255                                     , SrcSpan "tests/examples/DerivingVia.hs" 435 32 435 33
31256                                     ]
31257                                 }
31258                               (Special
31259                                  SrcSpanInfo
31260                                    { srcInfoSpan =
31261                                        SrcSpan "tests/examples/DerivingVia.hs" 435 29 435 33
31262                                    , srcInfoPoints =
31263                                        [ SrcSpan "tests/examples/DerivingVia.hs" 435 29 435 30
31264                                        , SrcSpan "tests/examples/DerivingVia.hs" 435 30 435 32
31265                                        , SrcSpan "tests/examples/DerivingVia.hs" 435 32 435 33
31266                                        ]
31267                                    }
31268                                  (FunCon
31269                                     SrcSpanInfo
31270                                       { srcInfoSpan =
31271                                           SrcSpan "tests/examples/DerivingVia.hs" 435 29 435 33
31272                                       , srcInfoPoints =
31273                                           [ SrcSpan "tests/examples/DerivingVia.hs" 435 29 435 30
31274                                           , SrcSpan "tests/examples/DerivingVia.hs" 435 30 435 32
31275                                           , SrcSpan "tests/examples/DerivingVia.hs" 435 32 435 33
31276                                           ]
31277                                       })))
31278                            (TyVar
31279                               SrcSpanInfo
31280                                 { srcInfoSpan =
31281                                     SrcSpan "tests/examples/DerivingVia.hs" 435 34 435 35
31282                                 , srcInfoPoints = []
31283                                 }
31284                               (Ident
31285                                  SrcSpanInfo
31286                                    { srcInfoSpan =
31287                                        SrcSpan "tests/examples/DerivingVia.hs" 435 34 435 35
31288                                    , srcInfoPoints = []
31289                                    }
31290                                  "a"))))))))
31291          Nothing
31292          (IRule
31293             SrcSpanInfo
31294               { srcInfoSpan =
31295                   SrcSpan "tests/examples/DerivingVia.hs" 435 47 435 62
31296               , srcInfoPoints = []
31297               }
31298             Nothing
31299             Nothing
31300             (IHApp
31301                SrcSpanInfo
31302                  { srcInfoSpan =
31303                      SrcSpan "tests/examples/DerivingVia.hs" 435 47 435 62
31304                  , srcInfoPoints = []
31305                  }
31306                (IHCon
31307                   SrcSpanInfo
31308                     { srcInfoSpan =
31309                         SrcSpan "tests/examples/DerivingVia.hs" 435 47 435 53
31310                     , srcInfoPoints = []
31311                     }
31312                   (UnQual
31313                      SrcSpanInfo
31314                        { srcInfoSpan =
31315                            SrcSpan "tests/examples/DerivingVia.hs" 435 47 435 53
31316                        , srcInfoPoints = []
31317                        }
31318                      (Ident
31319                         SrcSpanInfo
31320                           { srcInfoSpan =
31321                               SrcSpan "tests/examples/DerivingVia.hs" 435 47 435 53
31322                           , srcInfoPoints = []
31323                           }
31324                         "Affine")))
31325                (TyParen
31326                   SrcSpanInfo
31327                     { srcInfoSpan =
31328                         SrcSpan "tests/examples/DerivingVia.hs" 435 54 435 62
31329                     , srcInfoPoints =
31330                         [ SrcSpan "tests/examples/DerivingVia.hs" 435 54 435 55
31331                         , SrcSpan "tests/examples/DerivingVia.hs" 435 61 435 62
31332                         ]
31333                     }
31334                   (TyApp
31335                      SrcSpanInfo
31336                        { srcInfoSpan =
31337                            SrcSpan "tests/examples/DerivingVia.hs" 435 55 435 61
31338                        , srcInfoPoints = []
31339                        }
31340                      (TyCon
31341                         SrcSpanInfo
31342                           { srcInfoSpan =
31343                               SrcSpan "tests/examples/DerivingVia.hs" 435 55 435 59
31344                           , srcInfoPoints =
31345                               [ SrcSpan "tests/examples/DerivingVia.hs" 435 55 435 56
31346                               , SrcSpan "tests/examples/DerivingVia.hs" 435 56 435 58
31347                               , SrcSpan "tests/examples/DerivingVia.hs" 435 58 435 59
31348                               ]
31349                           }
31350                         (Special
31351                            SrcSpanInfo
31352                              { srcInfoSpan =
31353                                  SrcSpan "tests/examples/DerivingVia.hs" 435 55 435 59
31354                              , srcInfoPoints =
31355                                  [ SrcSpan "tests/examples/DerivingVia.hs" 435 55 435 56
31356                                  , SrcSpan "tests/examples/DerivingVia.hs" 435 56 435 58
31357                                  , SrcSpan "tests/examples/DerivingVia.hs" 435 58 435 59
31358                                  ]
31359                              }
31360                            (FunCon
31361                               SrcSpanInfo
31362                                 { srcInfoSpan =
31363                                     SrcSpan "tests/examples/DerivingVia.hs" 435 55 435 59
31364                                 , srcInfoPoints =
31365                                     [ SrcSpan "tests/examples/DerivingVia.hs" 435 55 435 56
31366                                     , SrcSpan "tests/examples/DerivingVia.hs" 435 56 435 58
31367                                     , SrcSpan "tests/examples/DerivingVia.hs" 435 58 435 59
31368                                     ]
31369                                 })))
31370                      (TyVar
31371                         SrcSpanInfo
31372                           { srcInfoSpan =
31373                               SrcSpan "tests/examples/DerivingVia.hs" 435 60 435 61
31374                           , srcInfoPoints = []
31375                           }
31376                         (Ident
31377                            SrcSpanInfo
31378                              { srcInfoSpan =
31379                                  SrcSpan "tests/examples/DerivingVia.hs" 435 60 435 61
31380                              , srcInfoPoints = []
31381                              }
31382                            "a"))))))
31383      , DerivDecl
31384          SrcSpanInfo
31385            { srcInfoSpan =
31386                SrcSpan "tests/examples/DerivingVia.hs" 437 1 437 56
31387            , srcInfoPoints =
31388                [ SrcSpan "tests/examples/DerivingVia.hs" 437 1 437 9
31389                , SrcSpan "tests/examples/DerivingVia.hs" 437 38 437 46
31390                ]
31391            }
31392          (Just
31393             (DerivVia
31394                SrcSpanInfo
31395                  { srcInfoSpan =
31396                      SrcSpan "tests/examples/DerivingVia.hs" 437 10 437 13
31397                  , srcInfoPoints = []
31398                  }
31399                (TyParen
31400                   SrcSpanInfo
31401                     { srcInfoSpan =
31402                         SrcSpan "tests/examples/DerivingVia.hs" 437 14 437 31
31403                     , srcInfoPoints =
31404                         [ SrcSpan "tests/examples/DerivingVia.hs" 437 14 437 15
31405                         , SrcSpan "tests/examples/DerivingVia.hs" 437 30 437 31
31406                         ]
31407                     }
31408                   (TyApp
31409                      SrcSpanInfo
31410                        { srcInfoSpan =
31411                            SrcSpan "tests/examples/DerivingVia.hs" 437 15 437 30
31412                        , srcInfoPoints = []
31413                        }
31414                      (TyCon
31415                         SrcSpanInfo
31416                           { srcInfoSpan =
31417                               SrcSpan "tests/examples/DerivingVia.hs" 437 15 437 27
31418                           , srcInfoPoints = []
31419                           }
31420                         (UnQual
31421                            SrcSpanInfo
31422                              { srcInfoSpan =
31423                                  SrcSpan "tests/examples/DerivingVia.hs" 437 15 437 27
31424                              , srcInfoPoints = []
31425                              }
31426                            (Ident
31427                               SrcSpanInfo
31428                                 { srcInfoSpan =
31429                                     SrcSpan "tests/examples/DerivingVia.hs" 437 15 437 27
31430                                 , srcInfoPoints = []
31431                                 }
31432                               "WrapAdditive")))
31433                      (TyCon
31434                         SrcSpanInfo
31435                           { srcInfoSpan =
31436                               SrcSpan "tests/examples/DerivingVia.hs" 437 28 437 30
31437                           , srcInfoPoints =
31438                               [ SrcSpan "tests/examples/DerivingVia.hs" 437 28 437 29
31439                               , SrcSpan "tests/examples/DerivingVia.hs" 437 29 437 30
31440                               ]
31441                           }
31442                         (Special
31443                            SrcSpanInfo
31444                              { srcInfoSpan =
31445                                  SrcSpan "tests/examples/DerivingVia.hs" 437 28 437 30
31446                              , srcInfoPoints =
31447                                  [ SrcSpan "tests/examples/DerivingVia.hs" 437 28 437 29
31448                                  , SrcSpan "tests/examples/DerivingVia.hs" 437 29 437 30
31449                                  ]
31450                              }
31451                            (ListCon
31452                               SrcSpanInfo
31453                                 { srcInfoSpan =
31454                                     SrcSpan "tests/examples/DerivingVia.hs" 437 28 437 30
31455                                 , srcInfoPoints =
31456                                     [ SrcSpan "tests/examples/DerivingVia.hs" 437 28 437 29
31457                                     , SrcSpan "tests/examples/DerivingVia.hs" 437 29 437 30
31458                                     ]
31459                                 })))))))
31460          Nothing
31461          (IRule
31462             SrcSpanInfo
31463               { srcInfoSpan =
31464                   SrcSpan "tests/examples/DerivingVia.hs" 437 47 437 56
31465               , srcInfoPoints = []
31466               }
31467             Nothing
31468             Nothing
31469             (IHApp
31470                SrcSpanInfo
31471                  { srcInfoSpan =
31472                      SrcSpan "tests/examples/DerivingVia.hs" 437 47 437 56
31473                  , srcInfoPoints = []
31474                  }
31475                (IHCon
31476                   SrcSpanInfo
31477                     { srcInfoSpan =
31478                         SrcSpan "tests/examples/DerivingVia.hs" 437 47 437 53
31479                     , srcInfoPoints = []
31480                     }
31481                   (UnQual
31482                      SrcSpanInfo
31483                        { srcInfoSpan =
31484                            SrcSpan "tests/examples/DerivingVia.hs" 437 47 437 53
31485                        , srcInfoPoints = []
31486                        }
31487                      (Ident
31488                         SrcSpanInfo
31489                           { srcInfoSpan =
31490                               SrcSpan "tests/examples/DerivingVia.hs" 437 47 437 53
31491                           , srcInfoPoints = []
31492                           }
31493                         "Affine")))
31494                (TyCon
31495                   SrcSpanInfo
31496                     { srcInfoSpan =
31497                         SrcSpan "tests/examples/DerivingVia.hs" 437 54 437 56
31498                     , srcInfoPoints =
31499                         [ SrcSpan "tests/examples/DerivingVia.hs" 437 54 437 55
31500                         , SrcSpan "tests/examples/DerivingVia.hs" 437 55 437 56
31501                         ]
31502                     }
31503                   (Special
31504                      SrcSpanInfo
31505                        { srcInfoSpan =
31506                            SrcSpan "tests/examples/DerivingVia.hs" 437 54 437 56
31507                        , srcInfoPoints =
31508                            [ SrcSpan "tests/examples/DerivingVia.hs" 437 54 437 55
31509                            , SrcSpan "tests/examples/DerivingVia.hs" 437 55 437 56
31510                            ]
31511                        }
31512                      (ListCon
31513                         SrcSpanInfo
31514                           { srcInfoSpan =
31515                               SrcSpan "tests/examples/DerivingVia.hs" 437 54 437 56
31516                           , srcInfoPoints =
31517                               [ SrcSpan "tests/examples/DerivingVia.hs" 437 54 437 55
31518                               , SrcSpan "tests/examples/DerivingVia.hs" 437 55 437 56
31519                               ]
31520                           })))))
31521      , DerivDecl
31522          SrcSpanInfo
31523            { srcInfoSpan =
31524                SrcSpan "tests/examples/DerivingVia.hs" 439 1 439 61
31525            , srcInfoPoints =
31526                [ SrcSpan "tests/examples/DerivingVia.hs" 439 1 439 9
31527                , SrcSpan "tests/examples/DerivingVia.hs" 439 38 439 46
31528                ]
31529            }
31530          (Just
31531             (DerivVia
31532                SrcSpanInfo
31533                  { srcInfoSpan =
31534                      SrcSpan "tests/examples/DerivingVia.hs" 439 10 439 13
31535                  , srcInfoPoints = []
31536                  }
31537                (TyParen
31538                   SrcSpanInfo
31539                     { srcInfoSpan =
31540                         SrcSpan "tests/examples/DerivingVia.hs" 439 14 439 36
31541                     , srcInfoPoints =
31542                         [ SrcSpan "tests/examples/DerivingVia.hs" 439 14 439 15
31543                         , SrcSpan "tests/examples/DerivingVia.hs" 439 35 439 36
31544                         ]
31545                     }
31546                   (TyApp
31547                      SrcSpanInfo
31548                        { srcInfoSpan =
31549                            SrcSpan "tests/examples/DerivingVia.hs" 439 15 439 35
31550                        , srcInfoPoints = []
31551                        }
31552                      (TyCon
31553                         SrcSpanInfo
31554                           { srcInfoSpan =
31555                               SrcSpan "tests/examples/DerivingVia.hs" 439 15 439 27
31556                           , srcInfoPoints = []
31557                           }
31558                         (UnQual
31559                            SrcSpanInfo
31560                              { srcInfoSpan =
31561                                  SrcSpan "tests/examples/DerivingVia.hs" 439 15 439 27
31562                              , srcInfoPoints = []
31563                              }
31564                            (Ident
31565                               SrcSpanInfo
31566                                 { srcInfoSpan =
31567                                     SrcSpan "tests/examples/DerivingVia.hs" 439 15 439 27
31568                                 , srcInfoPoints = []
31569                                 }
31570                               "WrapAdditive")))
31571                      (TyCon
31572                         SrcSpanInfo
31573                           { srcInfoSpan =
31574                               SrcSpan "tests/examples/DerivingVia.hs" 439 28 439 35
31575                           , srcInfoPoints = []
31576                           }
31577                         (UnQual
31578                            SrcSpanInfo
31579                              { srcInfoSpan =
31580                                  SrcSpan "tests/examples/DerivingVia.hs" 439 28 439 35
31581                              , srcInfoPoints = []
31582                              }
31583                            (Ident
31584                               SrcSpanInfo
31585                                 { srcInfoSpan =
31586                                     SrcSpan "tests/examples/DerivingVia.hs" 439 28 439 35
31587                                 , srcInfoPoints = []
31588                                 }
31589                               "Complex")))))))
31590          Nothing
31591          (IRule
31592             SrcSpanInfo
31593               { srcInfoSpan =
31594                   SrcSpan "tests/examples/DerivingVia.hs" 439 47 439 61
31595               , srcInfoPoints = []
31596               }
31597             Nothing
31598             Nothing
31599             (IHApp
31600                SrcSpanInfo
31601                  { srcInfoSpan =
31602                      SrcSpan "tests/examples/DerivingVia.hs" 439 47 439 61
31603                  , srcInfoPoints = []
31604                  }
31605                (IHCon
31606                   SrcSpanInfo
31607                     { srcInfoSpan =
31608                         SrcSpan "tests/examples/DerivingVia.hs" 439 47 439 53
31609                     , srcInfoPoints = []
31610                     }
31611                   (UnQual
31612                      SrcSpanInfo
31613                        { srcInfoSpan =
31614                            SrcSpan "tests/examples/DerivingVia.hs" 439 47 439 53
31615                        , srcInfoPoints = []
31616                        }
31617                      (Ident
31618                         SrcSpanInfo
31619                           { srcInfoSpan =
31620                               SrcSpan "tests/examples/DerivingVia.hs" 439 47 439 53
31621                           , srcInfoPoints = []
31622                           }
31623                         "Affine")))
31624                (TyCon
31625                   SrcSpanInfo
31626                     { srcInfoSpan =
31627                         SrcSpan "tests/examples/DerivingVia.hs" 439 54 439 61
31628                     , srcInfoPoints = []
31629                     }
31630                   (UnQual
31631                      SrcSpanInfo
31632                        { srcInfoSpan =
31633                            SrcSpan "tests/examples/DerivingVia.hs" 439 54 439 61
31634                        , srcInfoPoints = []
31635                        }
31636                      (Ident
31637                         SrcSpanInfo
31638                           { srcInfoSpan =
31639                               SrcSpan "tests/examples/DerivingVia.hs" 439 54 439 61
31640                           , srcInfoPoints = []
31641                           }
31642                         "Complex")))))
31643      , DerivDecl
31644          SrcSpanInfo
31645            { srcInfoSpan =
31646                SrcSpan "tests/examples/DerivingVia.hs" 441 1 441 59
31647            , srcInfoPoints =
31648                [ SrcSpan "tests/examples/DerivingVia.hs" 441 1 441 9
31649                , SrcSpan "tests/examples/DerivingVia.hs" 441 38 441 46
31650                ]
31651            }
31652          (Just
31653             (DerivVia
31654                SrcSpanInfo
31655                  { srcInfoSpan =
31656                      SrcSpan "tests/examples/DerivingVia.hs" 441 10 441 13
31657                  , srcInfoPoints = []
31658                  }
31659                (TyParen
31660                   SrcSpanInfo
31661                     { srcInfoSpan =
31662                         SrcSpan "tests/examples/DerivingVia.hs" 441 14 441 34
31663                     , srcInfoPoints =
31664                         [ SrcSpan "tests/examples/DerivingVia.hs" 441 14 441 15
31665                         , SrcSpan "tests/examples/DerivingVia.hs" 441 33 441 34
31666                         ]
31667                     }
31668                   (TyApp
31669                      SrcSpanInfo
31670                        { srcInfoSpan =
31671                            SrcSpan "tests/examples/DerivingVia.hs" 441 15 441 33
31672                        , srcInfoPoints = []
31673                        }
31674                      (TyCon
31675                         SrcSpanInfo
31676                           { srcInfoSpan =
31677                               SrcSpan "tests/examples/DerivingVia.hs" 441 15 441 27
31678                           , srcInfoPoints = []
31679                           }
31680                         (UnQual
31681                            SrcSpanInfo
31682                              { srcInfoSpan =
31683                                  SrcSpan "tests/examples/DerivingVia.hs" 441 15 441 27
31684                              , srcInfoPoints = []
31685                              }
31686                            (Ident
31687                               SrcSpanInfo
31688                                 { srcInfoSpan =
31689                                     SrcSpan "tests/examples/DerivingVia.hs" 441 15 441 27
31690                                 , srcInfoPoints = []
31691                                 }
31692                               "WrapAdditive")))
31693                      (TyCon
31694                         SrcSpanInfo
31695                           { srcInfoSpan =
31696                               SrcSpan "tests/examples/DerivingVia.hs" 441 28 441 33
31697                           , srcInfoPoints = []
31698                           }
31699                         (UnQual
31700                            SrcSpanInfo
31701                              { srcInfoSpan =
31702                                  SrcSpan "tests/examples/DerivingVia.hs" 441 28 441 33
31703                              , srcInfoPoints = []
31704                              }
31705                            (Ident
31706                               SrcSpanInfo
31707                                 { srcInfoSpan =
31708                                     SrcSpan "tests/examples/DerivingVia.hs" 441 28 441 33
31709                                 , srcInfoPoints = []
31710                                 }
31711                               "Maybe")))))))
31712          Nothing
31713          (IRule
31714             SrcSpanInfo
31715               { srcInfoSpan =
31716                   SrcSpan "tests/examples/DerivingVia.hs" 441 47 441 59
31717               , srcInfoPoints = []
31718               }
31719             Nothing
31720             Nothing
31721             (IHApp
31722                SrcSpanInfo
31723                  { srcInfoSpan =
31724                      SrcSpan "tests/examples/DerivingVia.hs" 441 47 441 59
31725                  , srcInfoPoints = []
31726                  }
31727                (IHCon
31728                   SrcSpanInfo
31729                     { srcInfoSpan =
31730                         SrcSpan "tests/examples/DerivingVia.hs" 441 47 441 53
31731                     , srcInfoPoints = []
31732                     }
31733                   (UnQual
31734                      SrcSpanInfo
31735                        { srcInfoSpan =
31736                            SrcSpan "tests/examples/DerivingVia.hs" 441 47 441 53
31737                        , srcInfoPoints = []
31738                        }
31739                      (Ident
31740                         SrcSpanInfo
31741                           { srcInfoSpan =
31742                               SrcSpan "tests/examples/DerivingVia.hs" 441 47 441 53
31743                           , srcInfoPoints = []
31744                           }
31745                         "Affine")))
31746                (TyCon
31747                   SrcSpanInfo
31748                     { srcInfoSpan =
31749                         SrcSpan "tests/examples/DerivingVia.hs" 441 54 441 59
31750                     , srcInfoPoints = []
31751                     }
31752                   (UnQual
31753                      SrcSpanInfo
31754                        { srcInfoSpan =
31755                            SrcSpan "tests/examples/DerivingVia.hs" 441 54 441 59
31756                        , srcInfoPoints = []
31757                        }
31758                      (Ident
31759                         SrcSpanInfo
31760                           { srcInfoSpan =
31761                               SrcSpan "tests/examples/DerivingVia.hs" 441 54 441 59
31762                           , srcInfoPoints = []
31763                           }
31764                         "Maybe")))))
31765      , DerivDecl
31766          SrcSpanInfo
31767            { srcInfoSpan =
31768                SrcSpan "tests/examples/DerivingVia.hs" 443 1 443 61
31769            , srcInfoPoints =
31770                [ SrcSpan "tests/examples/DerivingVia.hs" 443 1 443 9
31771                , SrcSpan "tests/examples/DerivingVia.hs" 443 38 443 46
31772                ]
31773            }
31774          (Just
31775             (DerivVia
31776                SrcSpanInfo
31777                  { srcInfoSpan =
31778                      SrcSpan "tests/examples/DerivingVia.hs" 443 10 443 13
31779                  , srcInfoPoints = []
31780                  }
31781                (TyParen
31782                   SrcSpanInfo
31783                     { srcInfoSpan =
31784                         SrcSpan "tests/examples/DerivingVia.hs" 443 14 443 36
31785                     , srcInfoPoints =
31786                         [ SrcSpan "tests/examples/DerivingVia.hs" 443 14 443 15
31787                         , SrcSpan "tests/examples/DerivingVia.hs" 443 35 443 36
31788                         ]
31789                     }
31790                   (TyApp
31791                      SrcSpanInfo
31792                        { srcInfoSpan =
31793                            SrcSpan "tests/examples/DerivingVia.hs" 443 15 443 35
31794                        , srcInfoPoints = []
31795                        }
31796                      (TyCon
31797                         SrcSpanInfo
31798                           { srcInfoSpan =
31799                               SrcSpan "tests/examples/DerivingVia.hs" 443 15 443 27
31800                           , srcInfoPoints = []
31801                           }
31802                         (UnQual
31803                            SrcSpanInfo
31804                              { srcInfoSpan =
31805                                  SrcSpan "tests/examples/DerivingVia.hs" 443 15 443 27
31806                              , srcInfoPoints = []
31807                              }
31808                            (Ident
31809                               SrcSpanInfo
31810                                 { srcInfoSpan =
31811                                     SrcSpan "tests/examples/DerivingVia.hs" 443 15 443 27
31812                                 , srcInfoPoints = []
31813                                 }
31814                               "WrapAdditive")))
31815                      (TyCon
31816                         SrcSpanInfo
31817                           { srcInfoSpan =
31818                               SrcSpan "tests/examples/DerivingVia.hs" 443 28 443 35
31819                           , srcInfoPoints = []
31820                           }
31821                         (UnQual
31822                            SrcSpanInfo
31823                              { srcInfoSpan =
31824                                  SrcSpan "tests/examples/DerivingVia.hs" 443 28 443 35
31825                              , srcInfoPoints = []
31826                              }
31827                            (Ident
31828                               SrcSpanInfo
31829                                 { srcInfoSpan =
31830                                     SrcSpan "tests/examples/DerivingVia.hs" 443 28 443 35
31831                                 , srcInfoPoints = []
31832                                 }
31833                               "ZipList")))))))
31834          Nothing
31835          (IRule
31836             SrcSpanInfo
31837               { srcInfoSpan =
31838                   SrcSpan "tests/examples/DerivingVia.hs" 443 47 443 61
31839               , srcInfoPoints = []
31840               }
31841             Nothing
31842             Nothing
31843             (IHApp
31844                SrcSpanInfo
31845                  { srcInfoSpan =
31846                      SrcSpan "tests/examples/DerivingVia.hs" 443 47 443 61
31847                  , srcInfoPoints = []
31848                  }
31849                (IHCon
31850                   SrcSpanInfo
31851                     { srcInfoSpan =
31852                         SrcSpan "tests/examples/DerivingVia.hs" 443 47 443 53
31853                     , srcInfoPoints = []
31854                     }
31855                   (UnQual
31856                      SrcSpanInfo
31857                        { srcInfoSpan =
31858                            SrcSpan "tests/examples/DerivingVia.hs" 443 47 443 53
31859                        , srcInfoPoints = []
31860                        }
31861                      (Ident
31862                         SrcSpanInfo
31863                           { srcInfoSpan =
31864                               SrcSpan "tests/examples/DerivingVia.hs" 443 47 443 53
31865                           , srcInfoPoints = []
31866                           }
31867                         "Affine")))
31868                (TyCon
31869                   SrcSpanInfo
31870                     { srcInfoSpan =
31871                         SrcSpan "tests/examples/DerivingVia.hs" 443 54 443 61
31872                     , srcInfoPoints = []
31873                     }
31874                   (UnQual
31875                      SrcSpanInfo
31876                        { srcInfoSpan =
31877                            SrcSpan "tests/examples/DerivingVia.hs" 443 54 443 61
31878                        , srcInfoPoints = []
31879                        }
31880                      (Ident
31881                         SrcSpanInfo
31882                           { srcInfoSpan =
31883                               SrcSpan "tests/examples/DerivingVia.hs" 443 54 443 61
31884                           , srcInfoPoints = []
31885                           }
31886                         "ZipList")))))
31887      , DerivDecl
31888          SrcSpanInfo
31889            { srcInfoSpan =
31890                SrcSpan "tests/examples/DerivingVia.hs" 445 1 445 62
31891            , srcInfoPoints =
31892                [ SrcSpan "tests/examples/DerivingVia.hs" 445 1 445 9
31893                , SrcSpan "tests/examples/DerivingVia.hs" 445 38 445 46
31894                ]
31895            }
31896          (Just
31897             (DerivVia
31898                SrcSpanInfo
31899                  { srcInfoSpan =
31900                      SrcSpan "tests/examples/DerivingVia.hs" 445 10 445 13
31901                  , srcInfoPoints = []
31902                  }
31903                (TyParen
31904                   SrcSpanInfo
31905                     { srcInfoSpan =
31906                         SrcSpan "tests/examples/DerivingVia.hs" 445 14 445 37
31907                     , srcInfoPoints =
31908                         [ SrcSpan "tests/examples/DerivingVia.hs" 445 14 445 15
31909                         , SrcSpan "tests/examples/DerivingVia.hs" 445 36 445 37
31910                         ]
31911                     }
31912                   (TyApp
31913                      SrcSpanInfo
31914                        { srcInfoSpan =
31915                            SrcSpan "tests/examples/DerivingVia.hs" 445 15 445 36
31916                        , srcInfoPoints = []
31917                        }
31918                      (TyCon
31919                         SrcSpanInfo
31920                           { srcInfoSpan =
31921                               SrcSpan "tests/examples/DerivingVia.hs" 445 15 445 27
31922                           , srcInfoPoints = []
31923                           }
31924                         (UnQual
31925                            SrcSpanInfo
31926                              { srcInfoSpan =
31927                                  SrcSpan "tests/examples/DerivingVia.hs" 445 15 445 27
31928                              , srcInfoPoints = []
31929                              }
31930                            (Ident
31931                               SrcSpanInfo
31932                                 { srcInfoSpan =
31933                                     SrcSpan "tests/examples/DerivingVia.hs" 445 15 445 27
31934                                 , srcInfoPoints = []
31935                                 }
31936                               "WrapAdditive")))
31937                      (TyCon
31938                         SrcSpanInfo
31939                           { srcInfoSpan =
31940                               SrcSpan "tests/examples/DerivingVia.hs" 445 28 445 36
31941                           , srcInfoPoints = []
31942                           }
31943                         (UnQual
31944                            SrcSpanInfo
31945                              { srcInfoSpan =
31946                                  SrcSpan "tests/examples/DerivingVia.hs" 445 28 445 36
31947                              , srcInfoPoints = []
31948                              }
31949                            (Ident
31950                               SrcSpanInfo
31951                                 { srcInfoSpan =
31952                                     SrcSpan "tests/examples/DerivingVia.hs" 445 28 445 36
31953                                 , srcInfoPoints = []
31954                                 }
31955                               "Identity")))))))
31956          Nothing
31957          (IRule
31958             SrcSpanInfo
31959               { srcInfoSpan =
31960                   SrcSpan "tests/examples/DerivingVia.hs" 445 47 445 62
31961               , srcInfoPoints = []
31962               }
31963             Nothing
31964             Nothing
31965             (IHApp
31966                SrcSpanInfo
31967                  { srcInfoSpan =
31968                      SrcSpan "tests/examples/DerivingVia.hs" 445 47 445 62
31969                  , srcInfoPoints = []
31970                  }
31971                (IHCon
31972                   SrcSpanInfo
31973                     { srcInfoSpan =
31974                         SrcSpan "tests/examples/DerivingVia.hs" 445 47 445 53
31975                     , srcInfoPoints = []
31976                     }
31977                   (UnQual
31978                      SrcSpanInfo
31979                        { srcInfoSpan =
31980                            SrcSpan "tests/examples/DerivingVia.hs" 445 47 445 53
31981                        , srcInfoPoints = []
31982                        }
31983                      (Ident
31984                         SrcSpanInfo
31985                           { srcInfoSpan =
31986                               SrcSpan "tests/examples/DerivingVia.hs" 445 47 445 53
31987                           , srcInfoPoints = []
31988                           }
31989                         "Affine")))
31990                (TyCon
31991                   SrcSpanInfo
31992                     { srcInfoSpan =
31993                         SrcSpan "tests/examples/DerivingVia.hs" 445 54 445 62
31994                     , srcInfoPoints = []
31995                     }
31996                   (UnQual
31997                      SrcSpanInfo
31998                        { srcInfoSpan =
31999                            SrcSpan "tests/examples/DerivingVia.hs" 445 54 445 62
32000                        , srcInfoPoints = []
32001                        }
32002                      (Ident
32003                         SrcSpanInfo
32004                           { srcInfoSpan =
32005                               SrcSpan "tests/examples/DerivingVia.hs" 445 54 445 62
32006                           , srcInfoPoints = []
32007                           }
32008                         "Identity")))))
32009      , ClassDecl
32010          SrcSpanInfo
32011            { srcInfoSpan =
32012                SrcSpan "tests/examples/DerivingVia.hs" 451 1 452 20
32013            , srcInfoPoints =
32014                [ SrcSpan "tests/examples/DerivingVia.hs" 451 1 451 6
32015                , SrcSpan "tests/examples/DerivingVia.hs" 451 16 451 21
32016                , SrcSpan "tests/examples/DerivingVia.hs" 452 3 452 3
32017                , SrcSpan "tests/examples/DerivingVia.hs" 454 1 454 0
32018                ]
32019            }
32020          Nothing
32021          (DHApp
32022             SrcSpanInfo
32023               { srcInfoSpan =
32024                   SrcSpan "tests/examples/DerivingVia.hs" 451 7 451 15
32025               , srcInfoPoints = []
32026               }
32027             (DHApp
32028                SrcSpanInfo
32029                  { srcInfoSpan =
32030                      SrcSpan "tests/examples/DerivingVia.hs" 451 7 451 13
32031                  , srcInfoPoints = []
32032                  }
32033                (DHApp
32034                   SrcSpanInfo
32035                     { srcInfoSpan =
32036                         SrcSpan "tests/examples/DerivingVia.hs" 451 7 451 11
32037                     , srcInfoPoints = []
32038                     }
32039                   (DHead
32040                      SrcSpanInfo
32041                        { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 451 7 451 9
32042                        , srcInfoPoints = []
32043                        }
32044                      (Ident
32045                         SrcSpanInfo
32046                           { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 451 7 451 9
32047                           , srcInfoPoints = []
32048                           }
32049                         "C2"))
32050                   (UnkindedVar
32051                      SrcSpanInfo
32052                        { srcInfoSpan =
32053                            SrcSpan "tests/examples/DerivingVia.hs" 451 10 451 11
32054                        , srcInfoPoints = []
32055                        }
32056                      (Ident
32057                         SrcSpanInfo
32058                           { srcInfoSpan =
32059                               SrcSpan "tests/examples/DerivingVia.hs" 451 10 451 11
32060                           , srcInfoPoints = []
32061                           }
32062                         "a")))
32063                (UnkindedVar
32064                   SrcSpanInfo
32065                     { srcInfoSpan =
32066                         SrcSpan "tests/examples/DerivingVia.hs" 451 12 451 13
32067                     , srcInfoPoints = []
32068                     }
32069                   (Ident
32070                      SrcSpanInfo
32071                        { srcInfoSpan =
32072                            SrcSpan "tests/examples/DerivingVia.hs" 451 12 451 13
32073                        , srcInfoPoints = []
32074                        }
32075                      "b")))
32076             (UnkindedVar
32077                SrcSpanInfo
32078                  { srcInfoSpan =
32079                      SrcSpan "tests/examples/DerivingVia.hs" 451 14 451 15
32080                  , srcInfoPoints = []
32081                  }
32082                (Ident
32083                   SrcSpanInfo
32084                     { srcInfoSpan =
32085                         SrcSpan "tests/examples/DerivingVia.hs" 451 14 451 15
32086                     , srcInfoPoints = []
32087                     }
32088                   "c")))
32089          []
32090          (Just
32091             [ ClsDecl
32092                 SrcSpanInfo
32093                   { srcInfoSpan =
32094                       SrcSpan "tests/examples/DerivingVia.hs" 452 3 452 20
32095                   , srcInfoPoints =
32096                       [ SrcSpan "tests/examples/DerivingVia.hs" 452 6 452 8 ]
32097                   }
32098                 (TypeSig
32099                    SrcSpanInfo
32100                      { srcInfoSpan =
32101                          SrcSpan "tests/examples/DerivingVia.hs" 452 3 452 20
32102                      , srcInfoPoints =
32103                          [ SrcSpan "tests/examples/DerivingVia.hs" 452 6 452 8 ]
32104                      }
32105                    [ Ident
32106                        SrcSpanInfo
32107                          { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 452 3 452 5
32108                          , srcInfoPoints = []
32109                          }
32110                        "c2"
32111                    ]
32112                    (TyFun
32113                       SrcSpanInfo
32114                         { srcInfoSpan =
32115                             SrcSpan "tests/examples/DerivingVia.hs" 452 9 452 20
32116                         , srcInfoPoints =
32117                             [ SrcSpan "tests/examples/DerivingVia.hs" 452 11 452 13 ]
32118                         }
32119                       (TyVar
32120                          SrcSpanInfo
32121                            { srcInfoSpan =
32122                                SrcSpan "tests/examples/DerivingVia.hs" 452 9 452 10
32123                            , srcInfoPoints = []
32124                            }
32125                          (Ident
32126                             SrcSpanInfo
32127                               { srcInfoSpan =
32128                                   SrcSpan "tests/examples/DerivingVia.hs" 452 9 452 10
32129                               , srcInfoPoints = []
32130                               }
32131                             "a"))
32132                       (TyFun
32133                          SrcSpanInfo
32134                            { srcInfoSpan =
32135                                SrcSpan "tests/examples/DerivingVia.hs" 452 14 452 20
32136                            , srcInfoPoints =
32137                                [ SrcSpan "tests/examples/DerivingVia.hs" 452 16 452 18 ]
32138                            }
32139                          (TyVar
32140                             SrcSpanInfo
32141                               { srcInfoSpan =
32142                                   SrcSpan "tests/examples/DerivingVia.hs" 452 14 452 15
32143                               , srcInfoPoints = []
32144                               }
32145                             (Ident
32146                                SrcSpanInfo
32147                                  { srcInfoSpan =
32148                                      SrcSpan "tests/examples/DerivingVia.hs" 452 14 452 15
32149                                  , srcInfoPoints = []
32150                                  }
32151                                "b"))
32152                          (TyVar
32153                             SrcSpanInfo
32154                               { srcInfoSpan =
32155                                   SrcSpan "tests/examples/DerivingVia.hs" 452 19 452 20
32156                               , srcInfoPoints = []
32157                               }
32158                             (Ident
32159                                SrcSpanInfo
32160                                  { srcInfoSpan =
32161                                      SrcSpan "tests/examples/DerivingVia.hs" 452 19 452 20
32162                                  , srcInfoPoints = []
32163                                  }
32164                                "c")))))
32165             ])
32166      , InstDecl
32167          SrcSpanInfo
32168            { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 454 1 457 0
32169            , srcInfoPoints =
32170                [ SrcSpan "tests/examples/DerivingVia.hs" 454 1 454 9
32171                , SrcSpan "tests/examples/DerivingVia.hs" 454 29 454 34
32172                , SrcSpan "tests/examples/DerivingVia.hs" 455 3 455 3
32173                , SrcSpan "tests/examples/DerivingVia.hs" 457 1 457 0
32174                ]
32175            }
32176          Nothing
32177          (IRule
32178             SrcSpanInfo
32179               { srcInfoSpan =
32180                   SrcSpan "tests/examples/DerivingVia.hs" 454 10 454 28
32181               , srcInfoPoints = []
32182               }
32183             Nothing
32184             Nothing
32185             (IHApp
32186                SrcSpanInfo
32187                  { srcInfoSpan =
32188                      SrcSpan "tests/examples/DerivingVia.hs" 454 10 454 28
32189                  , srcInfoPoints = []
32190                  }
32191                (IHApp
32192                   SrcSpanInfo
32193                     { srcInfoSpan =
32194                         SrcSpan "tests/examples/DerivingVia.hs" 454 10 454 16
32195                     , srcInfoPoints = []
32196                     }
32197                   (IHApp
32198                      SrcSpanInfo
32199                        { srcInfoSpan =
32200                            SrcSpan "tests/examples/DerivingVia.hs" 454 10 454 14
32201                        , srcInfoPoints = []
32202                        }
32203                      (IHCon
32204                         SrcSpanInfo
32205                           { srcInfoSpan =
32206                               SrcSpan "tests/examples/DerivingVia.hs" 454 10 454 12
32207                           , srcInfoPoints = []
32208                           }
32209                         (UnQual
32210                            SrcSpanInfo
32211                              { srcInfoSpan =
32212                                  SrcSpan "tests/examples/DerivingVia.hs" 454 10 454 12
32213                              , srcInfoPoints = []
32214                              }
32215                            (Ident
32216                               SrcSpanInfo
32217                                 { srcInfoSpan =
32218                                     SrcSpan "tests/examples/DerivingVia.hs" 454 10 454 12
32219                                 , srcInfoPoints = []
32220                                 }
32221                               "C2")))
32222                      (TyVar
32223                         SrcSpanInfo
32224                           { srcInfoSpan =
32225                               SrcSpan "tests/examples/DerivingVia.hs" 454 13 454 14
32226                           , srcInfoPoints = []
32227                           }
32228                         (Ident
32229                            SrcSpanInfo
32230                              { srcInfoSpan =
32231                                  SrcSpan "tests/examples/DerivingVia.hs" 454 13 454 14
32232                              , srcInfoPoints = []
32233                              }
32234                            "a")))
32235                   (TyVar
32236                      SrcSpanInfo
32237                        { srcInfoSpan =
32238                            SrcSpan "tests/examples/DerivingVia.hs" 454 15 454 16
32239                        , srcInfoPoints = []
32240                        }
32241                      (Ident
32242                         SrcSpanInfo
32243                           { srcInfoSpan =
32244                               SrcSpan "tests/examples/DerivingVia.hs" 454 15 454 16
32245                           , srcInfoPoints = []
32246                           }
32247                         "b")))
32248                (TyParen
32249                   SrcSpanInfo
32250                     { srcInfoSpan =
32251                         SrcSpan "tests/examples/DerivingVia.hs" 454 17 454 28
32252                     , srcInfoPoints =
32253                         [ SrcSpan "tests/examples/DerivingVia.hs" 454 17 454 18
32254                         , SrcSpan "tests/examples/DerivingVia.hs" 454 27 454 28
32255                         ]
32256                     }
32257                   (TyApp
32258                      SrcSpanInfo
32259                        { srcInfoSpan =
32260                            SrcSpan "tests/examples/DerivingVia.hs" 454 18 454 27
32261                        , srcInfoPoints = []
32262                        }
32263                      (TyApp
32264                         SrcSpanInfo
32265                           { srcInfoSpan =
32266                               SrcSpan "tests/examples/DerivingVia.hs" 454 18 454 25
32267                           , srcInfoPoints = []
32268                           }
32269                         (TyCon
32270                            SrcSpanInfo
32271                              { srcInfoSpan =
32272                                  SrcSpan "tests/examples/DerivingVia.hs" 454 18 454 23
32273                              , srcInfoPoints = []
32274                              }
32275                            (UnQual
32276                               SrcSpanInfo
32277                                 { srcInfoSpan =
32278                                     SrcSpan "tests/examples/DerivingVia.hs" 454 18 454 23
32279                                 , srcInfoPoints = []
32280                                 }
32281                               (Ident
32282                                  SrcSpanInfo
32283                                    { srcInfoSpan =
32284                                        SrcSpan "tests/examples/DerivingVia.hs" 454 18 454 23
32285                                    , srcInfoPoints = []
32286                                    }
32287                                  "Const")))
32288                         (TyVar
32289                            SrcSpanInfo
32290                              { srcInfoSpan =
32291                                  SrcSpan "tests/examples/DerivingVia.hs" 454 24 454 25
32292                              , srcInfoPoints = []
32293                              }
32294                            (Ident
32295                               SrcSpanInfo
32296                                 { srcInfoSpan =
32297                                     SrcSpan "tests/examples/DerivingVia.hs" 454 24 454 25
32298                                 , srcInfoPoints = []
32299                                 }
32300                               "a")))
32301                      (TyVar
32302                         SrcSpanInfo
32303                           { srcInfoSpan =
32304                               SrcSpan "tests/examples/DerivingVia.hs" 454 26 454 27
32305                           , srcInfoPoints = []
32306                           }
32307                         (Ident
32308                            SrcSpanInfo
32309                              { srcInfoSpan =
32310                                  SrcSpan "tests/examples/DerivingVia.hs" 454 26 454 27
32311                              , srcInfoPoints = []
32312                              }
32313                            "b"))))))
32314          (Just
32315             [ InsDecl
32316                 SrcSpanInfo
32317                   { srcInfoSpan =
32318                       SrcSpan "tests/examples/DerivingVia.hs" 455 3 455 19
32319                   , srcInfoPoints = []
32320                   }
32321                 (FunBind
32322                    SrcSpanInfo
32323                      { srcInfoSpan =
32324                          SrcSpan "tests/examples/DerivingVia.hs" 455 3 455 19
32325                      , srcInfoPoints = []
32326                      }
32327                    [ Match
32328                        SrcSpanInfo
32329                          { srcInfoSpan =
32330                              SrcSpan "tests/examples/DerivingVia.hs" 455 3 455 19
32331                          , srcInfoPoints = []
32332                          }
32333                        (Ident
32334                           SrcSpanInfo
32335                             { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 455 3 455 5
32336                             , srcInfoPoints = []
32337                             }
32338                           "c2")
32339                        [ PVar
32340                            SrcSpanInfo
32341                              { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 455 6 455 7
32342                              , srcInfoPoints = []
32343                              }
32344                            (Ident
32345                               SrcSpanInfo
32346                                 { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 455 6 455 7
32347                                 , srcInfoPoints = []
32348                                 }
32349                               "x")
32350                        , PWildCard
32351                            SrcSpanInfo
32352                              { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 455 8 455 9
32353                              , srcInfoPoints = []
32354                              }
32355                        ]
32356                        (UnGuardedRhs
32357                           SrcSpanInfo
32358                             { srcInfoSpan =
32359                                 SrcSpan "tests/examples/DerivingVia.hs" 455 10 455 19
32360                             , srcInfoPoints =
32361                                 [ SrcSpan "tests/examples/DerivingVia.hs" 455 10 455 11 ]
32362                             }
32363                           (App
32364                              SrcSpanInfo
32365                                { srcInfoSpan =
32366                                    SrcSpan "tests/examples/DerivingVia.hs" 455 12 455 19
32367                                , srcInfoPoints = []
32368                                }
32369                              (Con
32370                                 SrcSpanInfo
32371                                   { srcInfoSpan =
32372                                       SrcSpan "tests/examples/DerivingVia.hs" 455 12 455 17
32373                                   , srcInfoPoints = []
32374                                   }
32375                                 (UnQual
32376                                    SrcSpanInfo
32377                                      { srcInfoSpan =
32378                                          SrcSpan "tests/examples/DerivingVia.hs" 455 12 455 17
32379                                      , srcInfoPoints = []
32380                                      }
32381                                    (Ident
32382                                       SrcSpanInfo
32383                                         { srcInfoSpan =
32384                                             SrcSpan "tests/examples/DerivingVia.hs" 455 12 455 17
32385                                         , srcInfoPoints = []
32386                                         }
32387                                       "Const")))
32388                              (Var
32389                                 SrcSpanInfo
32390                                   { srcInfoSpan =
32391                                       SrcSpan "tests/examples/DerivingVia.hs" 455 18 455 19
32392                                   , srcInfoPoints = []
32393                                   }
32394                                 (UnQual
32395                                    SrcSpanInfo
32396                                      { srcInfoSpan =
32397                                          SrcSpan "tests/examples/DerivingVia.hs" 455 18 455 19
32398                                      , srcInfoPoints = []
32399                                      }
32400                                    (Ident
32401                                       SrcSpanInfo
32402                                         { srcInfoSpan =
32403                                             SrcSpan "tests/examples/DerivingVia.hs" 455 18 455 19
32404                                         , srcInfoPoints = []
32405                                         }
32406                                       "x")))))
32407                        Nothing
32408                    ])
32409             ])
32410      , DataDecl
32411          SrcSpanInfo
32412            { srcInfoSpan =
32413                SrcSpan "tests/examples/DerivingVia.hs" 457 1 458 20
32414            , srcInfoPoints =
32415                [ SrcSpan "tests/examples/DerivingVia.hs" 457 18 457 19 ]
32416            }
32417          (NewType
32418             SrcSpanInfo
32419               { srcInfoSpan = SrcSpan "tests/examples/DerivingVia.hs" 457 1 457 8
32420               , srcInfoPoints = []
32421               })
32422          Nothing
32423          (DHApp
32424             SrcSpanInfo
32425               { srcInfoSpan =
32426                   SrcSpan "tests/examples/DerivingVia.hs" 457 9 457 17
32427               , srcInfoPoints = []
32428               }
32429             (DHead
32430                SrcSpanInfo
32431                  { srcInfoSpan =
32432                      SrcSpan "tests/examples/DerivingVia.hs" 457 9 457 15
32433                  , srcInfoPoints = []
32434                  }
32435                (Ident
32436                   SrcSpanInfo
32437                     { srcInfoSpan =
32438                         SrcSpan "tests/examples/DerivingVia.hs" 457 9 457 15
32439                     , srcInfoPoints = []
32440                     }
32441                   "Fweemp"))
32442             (UnkindedVar
32443                SrcSpanInfo
32444                  { srcInfoSpan =
32445                      SrcSpan "tests/examples/DerivingVia.hs" 457 16 457 17
32446                  , srcInfoPoints = []
32447                  }
32448                (Ident
32449                   SrcSpanInfo
32450                     { srcInfoSpan =
32451                         SrcSpan "tests/examples/DerivingVia.hs" 457 16 457 17
32452                     , srcInfoPoints = []
32453                     }
32454                   "a")))
32455          [ QualConDecl
32456              SrcSpanInfo
32457                { srcInfoSpan =
32458                    SrcSpan "tests/examples/DerivingVia.hs" 457 20 457 28
32459                , srcInfoPoints = []
32460                }
32461              Nothing
32462              Nothing
32463              (ConDecl
32464                 SrcSpanInfo
32465                   { srcInfoSpan =
32466                       SrcSpan "tests/examples/DerivingVia.hs" 457 20 457 28
32467                   , srcInfoPoints = []
32468                   }
32469                 (Ident
32470                    SrcSpanInfo
32471                      { srcInfoSpan =
32472                          SrcSpan "tests/examples/DerivingVia.hs" 457 20 457 26
32473                      , srcInfoPoints = []
32474                      }
32475                    "Fweemp")
32476                 [ TyVar
32477                     SrcSpanInfo
32478                       { srcInfoSpan =
32479                           SrcSpan "tests/examples/DerivingVia.hs" 457 27 457 28
32480                       , srcInfoPoints = []
32481                       }
32482                     (Ident
32483                        SrcSpanInfo
32484                          { srcInfoSpan =
32485                              SrcSpan "tests/examples/DerivingVia.hs" 457 27 457 28
32486                          , srcInfoPoints = []
32487                          }
32488                        "a")
32489                 ])
32490          ]
32491          [ Deriving
32492              SrcSpanInfo
32493                { srcInfoSpan =
32494                    SrcSpan "tests/examples/DerivingVia.hs" 458 3 458 20
32495                , srcInfoPoints =
32496                    [ SrcSpan "tests/examples/DerivingVia.hs" 458 3 458 11 ]
32497                }
32498              (Just
32499                 (DerivVia
32500                    SrcSpanInfo
32501                      { srcInfoSpan =
32502                          SrcSpan "tests/examples/DerivingVia.hs" 459 8 459 11
32503                      , srcInfoPoints = []
32504                      }
32505                    (TyParen
32506                       SrcSpanInfo
32507                         { srcInfoSpan =
32508                             SrcSpan "tests/examples/DerivingVia.hs" 459 12 459 33
32509                         , srcInfoPoints =
32510                             [ SrcSpan "tests/examples/DerivingVia.hs" 459 12 459 13
32511                             , SrcSpan "tests/examples/DerivingVia.hs" 459 32 459 33
32512                             ]
32513                         }
32514                       (TyApp
32515                          SrcSpanInfo
32516                            { srcInfoSpan =
32517                                SrcSpan "tests/examples/DerivingVia.hs" 459 13 459 32
32518                            , srcInfoPoints = []
32519                            }
32520                          (TyApp
32521                             SrcSpanInfo
32522                               { srcInfoSpan =
32523                                   SrcSpan "tests/examples/DerivingVia.hs" 459 13 459 20
32524                               , srcInfoPoints = []
32525                               }
32526                             (TyCon
32527                                SrcSpanInfo
32528                                  { srcInfoSpan =
32529                                      SrcSpan "tests/examples/DerivingVia.hs" 459 13 459 18
32530                                  , srcInfoPoints = []
32531                                  }
32532                                (UnQual
32533                                   SrcSpanInfo
32534                                     { srcInfoSpan =
32535                                         SrcSpan "tests/examples/DerivingVia.hs" 459 13 459 18
32536                                     , srcInfoPoints = []
32537                                     }
32538                                   (Ident
32539                                      SrcSpanInfo
32540                                        { srcInfoSpan =
32541                                            SrcSpan "tests/examples/DerivingVia.hs" 459 13 459 18
32542                                        , srcInfoPoints = []
32543                                        }
32544                                      "Const")))
32545                             (TyVar
32546                                SrcSpanInfo
32547                                  { srcInfoSpan =
32548                                      SrcSpan "tests/examples/DerivingVia.hs" 459 19 459 20
32549                                  , srcInfoPoints = []
32550                                  }
32551                                (Ident
32552                                   SrcSpanInfo
32553                                     { srcInfoSpan =
32554                                         SrcSpan "tests/examples/DerivingVia.hs" 459 19 459 20
32555                                     , srcInfoPoints = []
32556                                     }
32557                                   "a")))
32558                          (TyKind
32559                             SrcSpanInfo
32560                               { srcInfoSpan =
32561                                   SrcSpan "tests/examples/DerivingVia.hs" 459 21 459 32
32562                               , srcInfoPoints =
32563                                   [ SrcSpan "tests/examples/DerivingVia.hs" 459 21 459 22
32564                                   , SrcSpan "tests/examples/DerivingVia.hs" 459 24 459 26
32565                                   , SrcSpan "tests/examples/DerivingVia.hs" 459 31 459 32
32566                                   ]
32567                               }
32568                             (TyVar
32569                                SrcSpanInfo
32570                                  { srcInfoSpan =
32571                                      SrcSpan "tests/examples/DerivingVia.hs" 459 22 459 23
32572                                  , srcInfoPoints = []
32573                                  }
32574                                (Ident
32575                                   SrcSpanInfo
32576                                     { srcInfoSpan =
32577                                         SrcSpan "tests/examples/DerivingVia.hs" 459 22 459 23
32578                                     , srcInfoPoints = []
32579                                     }
32580                                   "b"))
32581                             (TyCon
32582                                SrcSpanInfo
32583                                  { srcInfoSpan =
32584                                      SrcSpan "tests/examples/DerivingVia.hs" 459 27 459 31
32585                                  , srcInfoPoints = []
32586                                  }
32587                                (UnQual
32588                                   SrcSpanInfo
32589                                     { srcInfoSpan =
32590                                         SrcSpan "tests/examples/DerivingVia.hs" 459 27 459 31
32591                                     , srcInfoPoints = []
32592                                     }
32593                                   (Ident
32594                                      SrcSpanInfo
32595                                        { srcInfoSpan =
32596                                            SrcSpan "tests/examples/DerivingVia.hs" 459 27 459 31
32597                                        , srcInfoPoints = []
32598                                        }
32599                                      "Type"))))))))
32600              [ IParen
32601                  SrcSpanInfo
32602                    { srcInfoSpan =
32603                        SrcSpan "tests/examples/DerivingVia.hs" 458 12 458 20
32604                    , srcInfoPoints =
32605                        [ SrcSpan "tests/examples/DerivingVia.hs" 458 12 458 13
32606                        , SrcSpan "tests/examples/DerivingVia.hs" 458 19 458 20
32607                        ]
32608                    }
32609                  (IRule
32610                     SrcSpanInfo
32611                       { srcInfoSpan =
32612                           SrcSpan "tests/examples/DerivingVia.hs" 458 13 458 19
32613                       , srcInfoPoints = []
32614                       }
32615                     Nothing
32616                     Nothing
32617                     (IHApp
32618                        SrcSpanInfo
32619                          { srcInfoSpan =
32620                              SrcSpan "tests/examples/DerivingVia.hs" 458 13 458 19
32621                          , srcInfoPoints = []
32622                          }
32623                        (IHApp
32624                           SrcSpanInfo
32625                             { srcInfoSpan =
32626                                 SrcSpan "tests/examples/DerivingVia.hs" 458 13 458 17
32627                             , srcInfoPoints = []
32628                             }
32629                           (IHCon
32630                              SrcSpanInfo
32631                                { srcInfoSpan =
32632                                    SrcSpan "tests/examples/DerivingVia.hs" 458 13 458 15
32633                                , srcInfoPoints = []
32634                                }
32635                              (UnQual
32636                                 SrcSpanInfo
32637                                   { srcInfoSpan =
32638                                       SrcSpan "tests/examples/DerivingVia.hs" 458 13 458 15
32639                                   , srcInfoPoints = []
32640                                   }
32641                                 (Ident
32642                                    SrcSpanInfo
32643                                      { srcInfoSpan =
32644                                          SrcSpan "tests/examples/DerivingVia.hs" 458 13 458 15
32645                                      , srcInfoPoints = []
32646                                      }
32647                                    "C2")))
32648                           (TyVar
32649                              SrcSpanInfo
32650                                { srcInfoSpan =
32651                                    SrcSpan "tests/examples/DerivingVia.hs" 458 16 458 17
32652                                , srcInfoPoints = []
32653                                }
32654                              (Ident
32655                                 SrcSpanInfo
32656                                   { srcInfoSpan =
32657                                       SrcSpan "tests/examples/DerivingVia.hs" 458 16 458 17
32658                                   , srcInfoPoints = []
32659                                   }
32660                                 "a")))
32661                        (TyVar
32662                           SrcSpanInfo
32663                             { srcInfoSpan =
32664                                 SrcSpan "tests/examples/DerivingVia.hs" 458 18 458 19
32665                             , srcInfoPoints = []
32666                             }
32667                           (Ident
32668                              SrcSpanInfo
32669                                { srcInfoSpan =
32670                                    SrcSpan "tests/examples/DerivingVia.hs" 458 18 458 19
32671                                , srcInfoPoints = []
32672                                }
32673                              "b"))))
32674              ]
32675          ]
32676      ]
32677  , [ Comment
32678        False (SrcSpan "tests/examples/DerivingVia.hs" 38 1 38 6) "---"
32679    , Comment
32680        False
32681        (SrcSpan "tests/examples/DerivingVia.hs" 39 1 39 18)
32682        " Simple example"
32683    , Comment
32684        False (SrcSpan "tests/examples/DerivingVia.hs" 40 1 40 6) "---"
32685    , Comment
32686        False (SrcSpan "tests/examples/DerivingVia.hs" 46 1 46 6) "---"
32687    , Comment
32688        False
32689        (SrcSpan "tests/examples/DerivingVia.hs" 47 1 47 25)
32690        " Eta reduction at work"
32691    , Comment
32692        False (SrcSpan "tests/examples/DerivingVia.hs" 48 1 48 6) "---"
32693    , Comment
32694        False (SrcSpan "tests/examples/DerivingVia.hs" 62 1 62 6) "---"
32695    , Comment
32696        False
32697        (SrcSpan "tests/examples/DerivingVia.hs" 63 1 63 22)
32698        " Monad transformers"
32699    , Comment
32700        False (SrcSpan "tests/examples/DerivingVia.hs" 64 1 64 6) "---"
32701    , Comment
32702        False
32703        (SrcSpan "tests/examples/DerivingVia.hs" 68 1 68 22)
32704        " From `constraints'"
32705    , Comment
32706        False
32707        (SrcSpan "tests/examples/DerivingVia.hs" 78 1 78 52)
32708        " With `-XQuantifiedConstraints' this just becomes"
32709    , Comment
32710        False (SrcSpan "tests/examples/DerivingVia.hs" 79 1 79 3) ""
32711    , Comment
32712        False
32713        (SrcSpan "tests/examples/DerivingVia.hs" 80 1 80 68)
32714        "    type Lifting cls  trans = forall mm. cls mm => cls (trans mm)"
32715    , Comment
32716        False (SrcSpan "tests/examples/DerivingVia.hs" 81 1 81 3) ""
32717    , Comment
32718        False
32719        (SrcSpan "tests/examples/DerivingVia.hs" 82 1 82 52)
32720        "    type LiftingMonad trans = Lifting Monad trans"
32721    , Comment
32722        False (SrcSpan "tests/examples/DerivingVia.hs" 83 1 83 3) ""
32723    , Comment
32724        False (SrcSpan "tests/examples/DerivingVia.hs" 142 1 142 6) "---"
32725    , Comment
32726        False
32727        (SrcSpan "tests/examples/DerivingVia.hs" 143 1 143 32)
32728        " Using tuples in a `via` type"
32729    , Comment
32730        False (SrcSpan "tests/examples/DerivingVia.hs" 144 1 144 6) "---"
32731    , Comment
32732        False (SrcSpan "tests/examples/DerivingVia.hs" 153 1 153 6) "---"
32733    , Comment
32734        False
32735        (SrcSpan "tests/examples/DerivingVia.hs" 154 1 154 23)
32736        " Abstract data types"
32737    , Comment
32738        False (SrcSpan "tests/examples/DerivingVia.hs" 155 1 155 6) "---"
32739    , Comment
32740        False (SrcSpan "tests/examples/DerivingVia.hs" 167 1 167 5) "--"
32741    , Comment
32742        False
32743        (SrcSpan "tests/examples/DerivingVia.hs" 168 1 168 18)
32744        " Testing parser"
32745    , Comment
32746        False (SrcSpan "tests/examples/DerivingVia.hs" 169 1 169 5) "--"
32747    , Comment
32748        False (SrcSpan "tests/examples/DerivingVia.hs" 183 1 183 5) "--"
32749    , Comment
32750        False
32751        (SrcSpan "tests/examples/DerivingVia.hs" 184 1 184 23)
32752        " From Baldur's notes"
32753    , Comment
32754        False (SrcSpan "tests/examples/DerivingVia.hs" 185 1 185 5) "--"
32755    , Comment
32756        False (SrcSpan "tests/examples/DerivingVia.hs" 187 1 187 5) "--"
32757    , Comment
32758        False (SrcSpan "tests/examples/DerivingVia.hs" 188 1 188 5) " 1"
32759    , Comment
32760        False (SrcSpan "tests/examples/DerivingVia.hs" 189 1 189 5) "--"
32761    , Comment
32762        False (SrcSpan "tests/examples/DerivingVia.hs" 227 1 227 5) "--"
32763    , Comment
32764        False (SrcSpan "tests/examples/DerivingVia.hs" 228 1 228 5) " 2"
32765    , Comment
32766        False (SrcSpan "tests/examples/DerivingVia.hs" 229 1 229 5) "--"
32767    , Comment
32768        False (SrcSpan "tests/examples/DerivingVia.hs" 243 1 243 8) " data"
32769    , Comment
32770        False (SrcSpan "tests/examples/DerivingVia.hs" 262 1 262 5) "--"
32771    , Comment
32772        False (SrcSpan "tests/examples/DerivingVia.hs" 263 1 263 5) " 3"
32773    , Comment
32774        False (SrcSpan "tests/examples/DerivingVia.hs" 264 1 264 5) "--"
32775    , Comment
32776        False (SrcSpan "tests/examples/DerivingVia.hs" 290 1 290 5) "--"
32777    , Comment
32778        False (SrcSpan "tests/examples/DerivingVia.hs" 291 1 291 5) " 4"
32779    , Comment
32780        False (SrcSpan "tests/examples/DerivingVia.hs" 292 1 292 5) "--"
32781    , Comment
32782        False (SrcSpan "tests/examples/DerivingVia.hs" 324 1 324 5) "--"
32783    , Comment
32784        False (SrcSpan "tests/examples/DerivingVia.hs" 325 1 325 5) " 5"
32785    , Comment
32786        False (SrcSpan "tests/examples/DerivingVia.hs" 326 1 326 5) "--"
32787    , Comment
32788        False (SrcSpan "tests/examples/DerivingVia.hs" 340 1 340 5) "--"
32789    , Comment
32790        False (SrcSpan "tests/examples/DerivingVia.hs" 341 1 341 5) " 6"
32791    , Comment
32792        False (SrcSpan "tests/examples/DerivingVia.hs" 342 1 342 5) "--"
32793    , Comment
32794        False
32795        (SrcSpan "tests/examples/DerivingVia.hs" 343 1 343 116)
32796        " https://github.com/mikeizbicki/subhask/blob/f53fd8f465747681c88276c7dabe3646fbdf7d50/src/SubHask/Algebra.hs#L635"
32797    , Comment
32798        False
32799        (SrcSpan "tests/examples/DerivingVia.hs" 360 1 360 19)
32800        "mkLattice_(Bool)"
32801    , Comment
32802        False
32803        (SrcSpan "tests/examples/DerivingVia.hs" 362 1 362 19)
32804        "mkLattice_(Char)"
32805    , Comment
32806        False
32807        (SrcSpan "tests/examples/DerivingVia.hs" 364 1 364 18)
32808        "mkLattice_(Int)"
32809    , Comment
32810        False
32811        (SrcSpan "tests/examples/DerivingVia.hs" 366 1 366 22)
32812        "mkLattice_(Integer)"
32813    , Comment
32814        False
32815        (SrcSpan "tests/examples/DerivingVia.hs" 368 1 368 20)
32816        "mkLattice_(Float)"
32817    , Comment
32818        False
32819        (SrcSpan "tests/examples/DerivingVia.hs" 370 1 370 21)
32820        "mkLattice_(Double)"
32821    , Comment
32822        False
32823        (SrcSpan "tests/examples/DerivingVia.hs" 372 1 372 23)
32824        "mkLattice_(Rational)"
32825    , Comment
32826        False (SrcSpan "tests/examples/DerivingVia.hs" 375 1 375 5) "--"
32827    , Comment
32828        False (SrcSpan "tests/examples/DerivingVia.hs" 376 1 376 5) " 7"
32829    , Comment
32830        False (SrcSpan "tests/examples/DerivingVia.hs" 377 1 377 5) "--"
32831    , Comment
32832        False
32833        (SrcSpan "tests/examples/DerivingVia.hs" 378 1 378 81)
32834        " https://hackage.haskell.org/package/linear-1.20.7/docs/src/Linear-Affine.html"
32835    , Comment
32836        False
32837        (SrcSpan "tests/examples/DerivingVia.hs" 421 1 421 79)
32838        " #define ADDITIVEC(CTX,T) instance CTX => Affine T where type Diff T = T ; \\"
32839    , Comment
32840        False
32841        (SrcSpan "tests/examples/DerivingVia.hs" 422 1 422 85)
32842        "   (.-.) = (^-^) ; {-# INLINE (.-.) #-} ; (.+^) = (^+^) ; {-# INLINE (.+^) #-} ; \\"
32843    , Comment
32844        False
32845        (SrcSpan "tests/examples/DerivingVia.hs" 423 1 423 42)
32846        "   (.-^) = (^-^) ; {-# INLINE (.-^) #-}"
32847    , Comment
32848        False
32849        (SrcSpan "tests/examples/DerivingVia.hs" 424 1 424 40)
32850        " #define ADDITIVE(T) ADDITIVEC((), T)"
32851    , Comment
32852        False
32853        (SrcSpan "tests/examples/DerivingVia.hs" 434 1 434 22)
32854        " ADDITIVE(((->) a))"
32855    , Comment
32856        False
32857        (SrcSpan "tests/examples/DerivingVia.hs" 436 1 436 16)
32858        " ADDITIVE([])"
32859    , Comment
32860        False
32861        (SrcSpan "tests/examples/DerivingVia.hs" 438 1 438 21)
32862        " ADDITIVE(Complex)"
32863    , Comment
32864        False
32865        (SrcSpan "tests/examples/DerivingVia.hs" 440 1 440 19)
32866        " ADDITIVE(Maybe)"
32867    , Comment
32868        False
32869        (SrcSpan "tests/examples/DerivingVia.hs" 442 1 442 21)
32870        " ADDITIVE(ZipList)"
32871    , Comment
32872        False
32873        (SrcSpan "tests/examples/DerivingVia.hs" 444 1 444 22)
32874        " ADDITIVE(Identity)"
32875    , Comment
32876        False (SrcSpan "tests/examples/DerivingVia.hs" 447 1 447 5) "--"
32877    , Comment
32878        False (SrcSpan "tests/examples/DerivingVia.hs" 448 1 448 5) " 8"
32879    , Comment
32880        False (SrcSpan "tests/examples/DerivingVia.hs" 449 1 449 5) "--"
32881    ]
32882  )
32883