1ParseOk
2  ( Module
3      SrcSpanInfo
4        { srcInfoSpan =
5            SrcSpan "tests/examples/SpecializePhaseControl.hs" 1 1 16 1
6        , srcInfoPoints =
7            [ SrcSpan "tests/examples/SpecializePhaseControl.hs" 1 1 1 1
8            , SrcSpan "tests/examples/SpecializePhaseControl.hs" 1 1 1 1
9            , SrcSpan "tests/examples/SpecializePhaseControl.hs" 1 1 1 1
10            , SrcSpan "tests/examples/SpecializePhaseControl.hs" 6 1 6 1
11            , SrcSpan "tests/examples/SpecializePhaseControl.hs" 7 1 7 1
12            , SrcSpan "tests/examples/SpecializePhaseControl.hs" 9 1 9 1
13            , SrcSpan "tests/examples/SpecializePhaseControl.hs" 14 1 14 1
14            , SrcSpan "tests/examples/SpecializePhaseControl.hs" 15 1 15 1
15            , SrcSpan "tests/examples/SpecializePhaseControl.hs" 16 1 16 1
16            , SrcSpan "tests/examples/SpecializePhaseControl.hs" 16 1 16 1
17            ]
18        }
19      Nothing
20      []
21      []
22      [ SpecSig
23          SrcSpanInfo
24            { srcInfoSpan =
25                SrcSpan "tests/examples/SpecializePhaseControl.hs" 1 1 4 30
26            , srcInfoPoints =
27                [ SrcSpan "tests/examples/SpecializePhaseControl.hs" 1 1 1 15
28                , SrcSpan "tests/examples/SpecializePhaseControl.hs" 1 22 1 24
29                , SrcSpan "tests/examples/SpecializePhaseControl.hs" 2 38 2 39
30                , SrcSpan "tests/examples/SpecializePhaseControl.hs" 3 34 3 35
31                , SrcSpan "tests/examples/SpecializePhaseControl.hs" 4 27 4 30
32                ]
33            }
34          (Just
35             (ActiveFrom
36                SrcSpanInfo
37                  { srcInfoSpan =
38                      SrcSpan "tests/examples/SpecializePhaseControl.hs" 1 16 1 19
39                  , srcInfoPoints =
40                      [ SrcSpan "tests/examples/SpecializePhaseControl.hs" 1 16 1 17
41                      , SrcSpan "tests/examples/SpecializePhaseControl.hs" 1 17 1 18
42                      , SrcSpan "tests/examples/SpecializePhaseControl.hs" 1 18 1 19
43                      ]
44                  }
45                1))
46          (UnQual
47             SrcSpanInfo
48               { srcInfoSpan =
49                   SrcSpan "tests/examples/SpecializePhaseControl.hs" 1 20 1 21
50               , srcInfoPoints = []
51               }
52             (Ident
53                SrcSpanInfo
54                  { srcInfoSpan =
55                      SrcSpan "tests/examples/SpecializePhaseControl.hs" 1 20 1 21
56                  , srcInfoPoints = []
57                  }
58                "x"))
59          [ TyForall
60              SrcSpanInfo
61                { srcInfoSpan =
62                    SrcSpan "tests/examples/SpecializePhaseControl.hs" 2 9 2 38
63                , srcInfoPoints =
64                    [ SrcSpan "tests/examples/SpecializePhaseControl.hs" 2 17 2 19 ]
65                }
66              Nothing
67              Nothing
68              (TyFun
69                 SrcSpanInfo
70                   { srcInfoSpan =
71                       SrcSpan "tests/examples/SpecializePhaseControl.hs" 2 9 2 38
72                   , srcInfoPoints =
73                       [ SrcSpan "tests/examples/SpecializePhaseControl.hs" 2 17 2 19 ]
74                   }
75                 (TyCon
76                    SrcSpanInfo
77                      { srcInfoSpan =
78                          SrcSpan "tests/examples/SpecializePhaseControl.hs" 2 9 2 16
79                      , srcInfoPoints = []
80                      }
81                    (UnQual
82                       SrcSpanInfo
83                         { srcInfoSpan =
84                             SrcSpan "tests/examples/SpecializePhaseControl.hs" 2 9 2 16
85                         , srcInfoPoints = []
86                         }
87                       (Ident
88                          SrcSpanInfo
89                            { srcInfoSpan =
90                                SrcSpan "tests/examples/SpecializePhaseControl.hs" 2 9 2 16
91                            , srcInfoPoints = []
92                            }
93                          "Integer")))
94                 (TyFun
95                    SrcSpanInfo
96                      { srcInfoSpan =
97                          SrcSpan "tests/examples/SpecializePhaseControl.hs" 2 20 2 38
98                      , srcInfoPoints =
99                          [ SrcSpan "tests/examples/SpecializePhaseControl.hs" 2 28 2 30 ]
100                      }
101                    (TyCon
102                       SrcSpanInfo
103                         { srcInfoSpan =
104                             SrcSpan "tests/examples/SpecializePhaseControl.hs" 2 20 2 27
105                         , srcInfoPoints = []
106                         }
107                       (UnQual
108                          SrcSpanInfo
109                            { srcInfoSpan =
110                                SrcSpan "tests/examples/SpecializePhaseControl.hs" 2 20 2 27
111                            , srcInfoPoints = []
112                            }
113                          (Ident
114                             SrcSpanInfo
115                               { srcInfoSpan =
116                                   SrcSpan "tests/examples/SpecializePhaseControl.hs" 2 20 2 27
117                               , srcInfoPoints = []
118                               }
119                             "Integer")))
120                    (TyCon
121                       SrcSpanInfo
122                         { srcInfoSpan =
123                             SrcSpan "tests/examples/SpecializePhaseControl.hs" 2 31 2 38
124                         , srcInfoPoints = []
125                         }
126                       (UnQual
127                          SrcSpanInfo
128                            { srcInfoSpan =
129                                SrcSpan "tests/examples/SpecializePhaseControl.hs" 2 31 2 38
130                            , srcInfoPoints = []
131                            }
132                          (Ident
133                             SrcSpanInfo
134                               { srcInfoSpan =
135                                   SrcSpan "tests/examples/SpecializePhaseControl.hs" 2 31 2 38
136                               , srcInfoPoints = []
137                               }
138                             "Integer")))))
139          , TyForall
140              SrcSpanInfo
141                { srcInfoSpan =
142                    SrcSpan "tests/examples/SpecializePhaseControl.hs" 3 9 3 34
143                , srcInfoPoints =
144                    [ SrcSpan "tests/examples/SpecializePhaseControl.hs" 3 17 3 19 ]
145                }
146              Nothing
147              Nothing
148              (TyFun
149                 SrcSpanInfo
150                   { srcInfoSpan =
151                       SrcSpan "tests/examples/SpecializePhaseControl.hs" 3 9 3 34
152                   , srcInfoPoints =
153                       [ SrcSpan "tests/examples/SpecializePhaseControl.hs" 3 17 3 19 ]
154                   }
155                 (TyCon
156                    SrcSpanInfo
157                      { srcInfoSpan =
158                          SrcSpan "tests/examples/SpecializePhaseControl.hs" 3 9 3 16
159                      , srcInfoPoints = []
160                      }
161                    (UnQual
162                       SrcSpanInfo
163                         { srcInfoSpan =
164                             SrcSpan "tests/examples/SpecializePhaseControl.hs" 3 9 3 16
165                         , srcInfoPoints = []
166                         }
167                       (Ident
168                          SrcSpanInfo
169                            { srcInfoSpan =
170                                SrcSpan "tests/examples/SpecializePhaseControl.hs" 3 9 3 16
171                            , srcInfoPoints = []
172                            }
173                          "Integer")))
174                 (TyFun
175                    SrcSpanInfo
176                      { srcInfoSpan =
177                          SrcSpan "tests/examples/SpecializePhaseControl.hs" 3 20 3 34
178                      , srcInfoPoints =
179                          [ SrcSpan "tests/examples/SpecializePhaseControl.hs" 3 24 3 26 ]
180                      }
181                    (TyCon
182                       SrcSpanInfo
183                         { srcInfoSpan =
184                             SrcSpan "tests/examples/SpecializePhaseControl.hs" 3 20 3 23
185                         , srcInfoPoints = []
186                         }
187                       (UnQual
188                          SrcSpanInfo
189                            { srcInfoSpan =
190                                SrcSpan "tests/examples/SpecializePhaseControl.hs" 3 20 3 23
191                            , srcInfoPoints = []
192                            }
193                          (Ident
194                             SrcSpanInfo
195                               { srcInfoSpan =
196                                   SrcSpan "tests/examples/SpecializePhaseControl.hs" 3 20 3 23
197                               , srcInfoPoints = []
198                               }
199                             "Int")))
200                    (TyCon
201                       SrcSpanInfo
202                         { srcInfoSpan =
203                             SrcSpan "tests/examples/SpecializePhaseControl.hs" 3 27 3 34
204                         , srcInfoPoints = []
205                         }
206                       (UnQual
207                          SrcSpanInfo
208                            { srcInfoSpan =
209                                SrcSpan "tests/examples/SpecializePhaseControl.hs" 3 27 3 34
210                            , srcInfoPoints = []
211                            }
212                          (Ident
213                             SrcSpanInfo
214                               { srcInfoSpan =
215                                   SrcSpan "tests/examples/SpecializePhaseControl.hs" 3 27 3 34
216                               , srcInfoPoints = []
217                               }
218                             "Integer")))))
219          , TyForall
220              SrcSpanInfo
221                { srcInfoSpan =
222                    SrcSpan "tests/examples/SpecializePhaseControl.hs" 4 9 4 26
223                , srcInfoPoints =
224                    [ SrcSpan "tests/examples/SpecializePhaseControl.hs" 4 13 4 15 ]
225                }
226              Nothing
227              Nothing
228              (TyFun
229                 SrcSpanInfo
230                   { srcInfoSpan =
231                       SrcSpan "tests/examples/SpecializePhaseControl.hs" 4 9 4 26
232                   , srcInfoPoints =
233                       [ SrcSpan "tests/examples/SpecializePhaseControl.hs" 4 13 4 15 ]
234                   }
235                 (TyCon
236                    SrcSpanInfo
237                      { srcInfoSpan =
238                          SrcSpan "tests/examples/SpecializePhaseControl.hs" 4 9 4 12
239                      , srcInfoPoints = []
240                      }
241                    (UnQual
242                       SrcSpanInfo
243                         { srcInfoSpan =
244                             SrcSpan "tests/examples/SpecializePhaseControl.hs" 4 9 4 12
245                         , srcInfoPoints = []
246                         }
247                       (Ident
248                          SrcSpanInfo
249                            { srcInfoSpan =
250                                SrcSpan "tests/examples/SpecializePhaseControl.hs" 4 9 4 12
251                            , srcInfoPoints = []
252                            }
253                          "Int")))
254                 (TyFun
255                    SrcSpanInfo
256                      { srcInfoSpan =
257                          SrcSpan "tests/examples/SpecializePhaseControl.hs" 4 16 4 26
258                      , srcInfoPoints =
259                          [ SrcSpan "tests/examples/SpecializePhaseControl.hs" 4 20 4 22 ]
260                      }
261                    (TyCon
262                       SrcSpanInfo
263                         { srcInfoSpan =
264                             SrcSpan "tests/examples/SpecializePhaseControl.hs" 4 16 4 19
265                         , srcInfoPoints = []
266                         }
267                       (UnQual
268                          SrcSpanInfo
269                            { srcInfoSpan =
270                                SrcSpan "tests/examples/SpecializePhaseControl.hs" 4 16 4 19
271                            , srcInfoPoints = []
272                            }
273                          (Ident
274                             SrcSpanInfo
275                               { srcInfoSpan =
276                                   SrcSpan "tests/examples/SpecializePhaseControl.hs" 4 16 4 19
277                               , srcInfoPoints = []
278                               }
279                             "Int")))
280                    (TyCon
281                       SrcSpanInfo
282                         { srcInfoSpan =
283                             SrcSpan "tests/examples/SpecializePhaseControl.hs" 4 23 4 26
284                         , srcInfoPoints = []
285                         }
286                       (UnQual
287                          SrcSpanInfo
288                            { srcInfoSpan =
289                                SrcSpan "tests/examples/SpecializePhaseControl.hs" 4 23 4 26
290                            , srcInfoPoints = []
291                            }
292                          (Ident
293                             SrcSpanInfo
294                               { srcInfoSpan =
295                                   SrcSpan "tests/examples/SpecializePhaseControl.hs" 4 23 4 26
296                               , srcInfoPoints = []
297                               }
298                             "Int")))))
299          ]
300      , TypeSig
301          SrcSpanInfo
302            { srcInfoSpan =
303                SrcSpan "tests/examples/SpecializePhaseControl.hs" 6 1 6 40
304            , srcInfoPoints =
305                [ SrcSpan "tests/examples/SpecializePhaseControl.hs" 6 3 6 5 ]
306            }
307          [ Ident
308              SrcSpanInfo
309                { srcInfoSpan =
310                    SrcSpan "tests/examples/SpecializePhaseControl.hs" 6 1 6 2
311                , srcInfoPoints = []
312                }
313              "x"
314          ]
315          (TyForall
316             SrcSpanInfo
317               { srcInfoSpan =
318                   SrcSpan "tests/examples/SpecializePhaseControl.hs" 6 6 6 40
319               , srcInfoPoints = []
320               }
321             Nothing
322             (Just
323                (CxTuple
324                   SrcSpanInfo
325                     { srcInfoSpan =
326                         SrcSpan "tests/examples/SpecializePhaseControl.hs" 6 6 6 28
327                     , srcInfoPoints =
328                         [ SrcSpan "tests/examples/SpecializePhaseControl.hs" 6 6 6 7
329                         , SrcSpan "tests/examples/SpecializePhaseControl.hs" 6 12 6 13
330                         , SrcSpan "tests/examples/SpecializePhaseControl.hs" 6 24 6 25
331                         , SrcSpan "tests/examples/SpecializePhaseControl.hs" 6 26 6 28
332                         ]
333                     }
334                   [ TypeA
335                       SrcSpanInfo
336                         { srcInfoSpan =
337                             SrcSpan "tests/examples/SpecializePhaseControl.hs" 6 7 6 12
338                         , srcInfoPoints = []
339                         }
340                       (TyApp
341                          SrcSpanInfo
342                            { srcInfoSpan =
343                                SrcSpan "tests/examples/SpecializePhaseControl.hs" 6 7 6 12
344                            , srcInfoPoints = []
345                            }
346                          (TyCon
347                             SrcSpanInfo
348                               { srcInfoSpan =
349                                   SrcSpan "tests/examples/SpecializePhaseControl.hs" 6 7 6 12
350                               , srcInfoPoints = []
351                               }
352                             (UnQual
353                                SrcSpanInfo
354                                  { srcInfoSpan =
355                                      SrcSpan "tests/examples/SpecializePhaseControl.hs" 6 7 6 10
356                                  , srcInfoPoints = []
357                                  }
358                                (Ident
359                                   SrcSpanInfo
360                                     { srcInfoSpan =
361                                         SrcSpan "tests/examples/SpecializePhaseControl.hs" 6 7 6 10
362                                     , srcInfoPoints = []
363                                     }
364                                   "Num")))
365                          (TyVar
366                             SrcSpanInfo
367                               { srcInfoSpan =
368                                   SrcSpan "tests/examples/SpecializePhaseControl.hs" 6 11 6 12
369                               , srcInfoPoints = []
370                               }
371                             (Ident
372                                SrcSpanInfo
373                                  { srcInfoSpan =
374                                      SrcSpan "tests/examples/SpecializePhaseControl.hs" 6 11 6 12
375                                  , srcInfoPoints = []
376                                  }
377                                "a")))
378                   , TypeA
379                       SrcSpanInfo
380                         { srcInfoSpan =
381                             SrcSpan "tests/examples/SpecializePhaseControl.hs" 6 14 6 24
382                         , srcInfoPoints = []
383                         }
384                       (TyApp
385                          SrcSpanInfo
386                            { srcInfoSpan =
387                                SrcSpan "tests/examples/SpecializePhaseControl.hs" 6 14 6 24
388                            , srcInfoPoints = []
389                            }
390                          (TyCon
391                             SrcSpanInfo
392                               { srcInfoSpan =
393                                   SrcSpan "tests/examples/SpecializePhaseControl.hs" 6 14 6 24
394                               , srcInfoPoints = []
395                               }
396                             (UnQual
397                                SrcSpanInfo
398                                  { srcInfoSpan =
399                                      SrcSpan "tests/examples/SpecializePhaseControl.hs" 6 14 6 22
400                                  , srcInfoPoints = []
401                                  }
402                                (Ident
403                                   SrcSpanInfo
404                                     { srcInfoSpan =
405                                         SrcSpan
406                                           "tests/examples/SpecializePhaseControl.hs" 6 14 6 22
407                                     , srcInfoPoints = []
408                                     }
409                                   "Integral")))
410                          (TyVar
411                             SrcSpanInfo
412                               { srcInfoSpan =
413                                   SrcSpan "tests/examples/SpecializePhaseControl.hs" 6 23 6 24
414                               , srcInfoPoints = []
415                               }
416                             (Ident
417                                SrcSpanInfo
418                                  { srcInfoSpan =
419                                      SrcSpan "tests/examples/SpecializePhaseControl.hs" 6 23 6 24
420                                  , srcInfoPoints = []
421                                  }
422                                "b")))
423                   ]))
424             (TyFun
425                SrcSpanInfo
426                  { srcInfoSpan =
427                      SrcSpan "tests/examples/SpecializePhaseControl.hs" 6 29 6 40
428                  , srcInfoPoints =
429                      [ SrcSpan "tests/examples/SpecializePhaseControl.hs" 6 31 6 33 ]
430                  }
431                (TyVar
432                   SrcSpanInfo
433                     { srcInfoSpan =
434                         SrcSpan "tests/examples/SpecializePhaseControl.hs" 6 29 6 30
435                     , srcInfoPoints = []
436                     }
437                   (Ident
438                      SrcSpanInfo
439                        { srcInfoSpan =
440                            SrcSpan "tests/examples/SpecializePhaseControl.hs" 6 29 6 30
441                        , srcInfoPoints = []
442                        }
443                      "a"))
444                (TyFun
445                   SrcSpanInfo
446                     { srcInfoSpan =
447                         SrcSpan "tests/examples/SpecializePhaseControl.hs" 6 34 6 40
448                     , srcInfoPoints =
449                         [ SrcSpan "tests/examples/SpecializePhaseControl.hs" 6 36 6 38 ]
450                     }
451                   (TyVar
452                      SrcSpanInfo
453                        { srcInfoSpan =
454                            SrcSpan "tests/examples/SpecializePhaseControl.hs" 6 34 6 35
455                        , srcInfoPoints = []
456                        }
457                      (Ident
458                         SrcSpanInfo
459                           { srcInfoSpan =
460                               SrcSpan "tests/examples/SpecializePhaseControl.hs" 6 34 6 35
461                           , srcInfoPoints = []
462                           }
463                         "b"))
464                   (TyVar
465                      SrcSpanInfo
466                        { srcInfoSpan =
467                            SrcSpan "tests/examples/SpecializePhaseControl.hs" 6 39 6 40
468                        , srcInfoPoints = []
469                        }
470                      (Ident
471                         SrcSpanInfo
472                           { srcInfoSpan =
473                               SrcSpan "tests/examples/SpecializePhaseControl.hs" 6 39 6 40
474                           , srcInfoPoints = []
475                           }
476                         "a")))))
477      , PatBind
478          SrcSpanInfo
479            { srcInfoSpan =
480                SrcSpan "tests/examples/SpecializePhaseControl.hs" 7 1 7 14
481            , srcInfoPoints = []
482            }
483          (PVar
484             SrcSpanInfo
485               { srcInfoSpan =
486                   SrcSpan "tests/examples/SpecializePhaseControl.hs" 7 1 7 2
487               , srcInfoPoints = []
488               }
489             (Ident
490                SrcSpanInfo
491                  { srcInfoSpan =
492                      SrcSpan "tests/examples/SpecializePhaseControl.hs" 7 1 7 2
493                  , srcInfoPoints = []
494                  }
495                "x"))
496          (UnGuardedRhs
497             SrcSpanInfo
498               { srcInfoSpan =
499                   SrcSpan "tests/examples/SpecializePhaseControl.hs" 7 3 7 14
500               , srcInfoPoints =
501                   [ SrcSpan "tests/examples/SpecializePhaseControl.hs" 7 3 7 4 ]
502               }
503             (Var
504                SrcSpanInfo
505                  { srcInfoSpan =
506                      SrcSpan "tests/examples/SpecializePhaseControl.hs" 7 5 7 14
507                  , srcInfoPoints = []
508                  }
509                (UnQual
510                   SrcSpanInfo
511                     { srcInfoSpan =
512                         SrcSpan "tests/examples/SpecializePhaseControl.hs" 7 5 7 14
513                     , srcInfoPoints = []
514                     }
515                   (Ident
516                      SrcSpanInfo
517                        { srcInfoSpan =
518                            SrcSpan "tests/examples/SpecializePhaseControl.hs" 7 5 7 14
519                        , srcInfoPoints = []
520                        }
521                      "undefined"))))
522          Nothing
523      , SpecInlineSig
524          SrcSpanInfo
525            { srcInfoSpan =
526                SrcSpan "tests/examples/SpecializePhaseControl.hs" 9 1 12 30
527            , srcInfoPoints =
528                [ SrcSpan "tests/examples/SpecializePhaseControl.hs" 9 1 9 22
529                , SrcSpan "tests/examples/SpecializePhaseControl.hs" 9 31 9 33
530                , SrcSpan "tests/examples/SpecializePhaseControl.hs" 10 38 10 39
531                , SrcSpan "tests/examples/SpecializePhaseControl.hs" 11 34 11 35
532                , SrcSpan "tests/examples/SpecializePhaseControl.hs" 12 27 12 30
533                ]
534            }
535          True
536          (Just
537             (ActiveFrom
538                SrcSpanInfo
539                  { srcInfoSpan =
540                      SrcSpan "tests/examples/SpecializePhaseControl.hs" 9 23 9 28
541                  , srcInfoPoints =
542                      [ SrcSpan "tests/examples/SpecializePhaseControl.hs" 9 23 9 24
543                      , SrcSpan "tests/examples/SpecializePhaseControl.hs" 9 24 9 27
544                      , SrcSpan "tests/examples/SpecializePhaseControl.hs" 9 27 9 28
545                      ]
546                  }
547                999))
548          (UnQual
549             SrcSpanInfo
550               { srcInfoSpan =
551                   SrcSpan "tests/examples/SpecializePhaseControl.hs" 9 29 9 30
552               , srcInfoPoints = []
553               }
554             (Ident
555                SrcSpanInfo
556                  { srcInfoSpan =
557                      SrcSpan "tests/examples/SpecializePhaseControl.hs" 9 29 9 30
558                  , srcInfoPoints = []
559                  }
560                "y"))
561          [ TyForall
562              SrcSpanInfo
563                { srcInfoSpan =
564                    SrcSpan "tests/examples/SpecializePhaseControl.hs" 10 9 10 38
565                , srcInfoPoints =
566                    [ SrcSpan "tests/examples/SpecializePhaseControl.hs" 10 17 10 19 ]
567                }
568              Nothing
569              Nothing
570              (TyFun
571                 SrcSpanInfo
572                   { srcInfoSpan =
573                       SrcSpan "tests/examples/SpecializePhaseControl.hs" 10 9 10 38
574                   , srcInfoPoints =
575                       [ SrcSpan "tests/examples/SpecializePhaseControl.hs" 10 17 10 19 ]
576                   }
577                 (TyCon
578                    SrcSpanInfo
579                      { srcInfoSpan =
580                          SrcSpan "tests/examples/SpecializePhaseControl.hs" 10 9 10 16
581                      , srcInfoPoints = []
582                      }
583                    (UnQual
584                       SrcSpanInfo
585                         { srcInfoSpan =
586                             SrcSpan "tests/examples/SpecializePhaseControl.hs" 10 9 10 16
587                         , srcInfoPoints = []
588                         }
589                       (Ident
590                          SrcSpanInfo
591                            { srcInfoSpan =
592                                SrcSpan "tests/examples/SpecializePhaseControl.hs" 10 9 10 16
593                            , srcInfoPoints = []
594                            }
595                          "Integer")))
596                 (TyFun
597                    SrcSpanInfo
598                      { srcInfoSpan =
599                          SrcSpan "tests/examples/SpecializePhaseControl.hs" 10 20 10 38
600                      , srcInfoPoints =
601                          [ SrcSpan "tests/examples/SpecializePhaseControl.hs" 10 28 10 30 ]
602                      }
603                    (TyCon
604                       SrcSpanInfo
605                         { srcInfoSpan =
606                             SrcSpan "tests/examples/SpecializePhaseControl.hs" 10 20 10 27
607                         , srcInfoPoints = []
608                         }
609                       (UnQual
610                          SrcSpanInfo
611                            { srcInfoSpan =
612                                SrcSpan "tests/examples/SpecializePhaseControl.hs" 10 20 10 27
613                            , srcInfoPoints = []
614                            }
615                          (Ident
616                             SrcSpanInfo
617                               { srcInfoSpan =
618                                   SrcSpan "tests/examples/SpecializePhaseControl.hs" 10 20 10 27
619                               , srcInfoPoints = []
620                               }
621                             "Integer")))
622                    (TyCon
623                       SrcSpanInfo
624                         { srcInfoSpan =
625                             SrcSpan "tests/examples/SpecializePhaseControl.hs" 10 31 10 38
626                         , srcInfoPoints = []
627                         }
628                       (UnQual
629                          SrcSpanInfo
630                            { srcInfoSpan =
631                                SrcSpan "tests/examples/SpecializePhaseControl.hs" 10 31 10 38
632                            , srcInfoPoints = []
633                            }
634                          (Ident
635                             SrcSpanInfo
636                               { srcInfoSpan =
637                                   SrcSpan "tests/examples/SpecializePhaseControl.hs" 10 31 10 38
638                               , srcInfoPoints = []
639                               }
640                             "Integer")))))
641          , TyForall
642              SrcSpanInfo
643                { srcInfoSpan =
644                    SrcSpan "tests/examples/SpecializePhaseControl.hs" 11 9 11 34
645                , srcInfoPoints =
646                    [ SrcSpan "tests/examples/SpecializePhaseControl.hs" 11 17 11 19 ]
647                }
648              Nothing
649              Nothing
650              (TyFun
651                 SrcSpanInfo
652                   { srcInfoSpan =
653                       SrcSpan "tests/examples/SpecializePhaseControl.hs" 11 9 11 34
654                   , srcInfoPoints =
655                       [ SrcSpan "tests/examples/SpecializePhaseControl.hs" 11 17 11 19 ]
656                   }
657                 (TyCon
658                    SrcSpanInfo
659                      { srcInfoSpan =
660                          SrcSpan "tests/examples/SpecializePhaseControl.hs" 11 9 11 16
661                      , srcInfoPoints = []
662                      }
663                    (UnQual
664                       SrcSpanInfo
665                         { srcInfoSpan =
666                             SrcSpan "tests/examples/SpecializePhaseControl.hs" 11 9 11 16
667                         , srcInfoPoints = []
668                         }
669                       (Ident
670                          SrcSpanInfo
671                            { srcInfoSpan =
672                                SrcSpan "tests/examples/SpecializePhaseControl.hs" 11 9 11 16
673                            , srcInfoPoints = []
674                            }
675                          "Integer")))
676                 (TyFun
677                    SrcSpanInfo
678                      { srcInfoSpan =
679                          SrcSpan "tests/examples/SpecializePhaseControl.hs" 11 20 11 34
680                      , srcInfoPoints =
681                          [ SrcSpan "tests/examples/SpecializePhaseControl.hs" 11 24 11 26 ]
682                      }
683                    (TyCon
684                       SrcSpanInfo
685                         { srcInfoSpan =
686                             SrcSpan "tests/examples/SpecializePhaseControl.hs" 11 20 11 23
687                         , srcInfoPoints = []
688                         }
689                       (UnQual
690                          SrcSpanInfo
691                            { srcInfoSpan =
692                                SrcSpan "tests/examples/SpecializePhaseControl.hs" 11 20 11 23
693                            , srcInfoPoints = []
694                            }
695                          (Ident
696                             SrcSpanInfo
697                               { srcInfoSpan =
698                                   SrcSpan "tests/examples/SpecializePhaseControl.hs" 11 20 11 23
699                               , srcInfoPoints = []
700                               }
701                             "Int")))
702                    (TyCon
703                       SrcSpanInfo
704                         { srcInfoSpan =
705                             SrcSpan "tests/examples/SpecializePhaseControl.hs" 11 27 11 34
706                         , srcInfoPoints = []
707                         }
708                       (UnQual
709                          SrcSpanInfo
710                            { srcInfoSpan =
711                                SrcSpan "tests/examples/SpecializePhaseControl.hs" 11 27 11 34
712                            , srcInfoPoints = []
713                            }
714                          (Ident
715                             SrcSpanInfo
716                               { srcInfoSpan =
717                                   SrcSpan "tests/examples/SpecializePhaseControl.hs" 11 27 11 34
718                               , srcInfoPoints = []
719                               }
720                             "Integer")))))
721          , TyForall
722              SrcSpanInfo
723                { srcInfoSpan =
724                    SrcSpan "tests/examples/SpecializePhaseControl.hs" 12 9 12 26
725                , srcInfoPoints =
726                    [ SrcSpan "tests/examples/SpecializePhaseControl.hs" 12 13 12 15 ]
727                }
728              Nothing
729              Nothing
730              (TyFun
731                 SrcSpanInfo
732                   { srcInfoSpan =
733                       SrcSpan "tests/examples/SpecializePhaseControl.hs" 12 9 12 26
734                   , srcInfoPoints =
735                       [ SrcSpan "tests/examples/SpecializePhaseControl.hs" 12 13 12 15 ]
736                   }
737                 (TyCon
738                    SrcSpanInfo
739                      { srcInfoSpan =
740                          SrcSpan "tests/examples/SpecializePhaseControl.hs" 12 9 12 12
741                      , srcInfoPoints = []
742                      }
743                    (UnQual
744                       SrcSpanInfo
745                         { srcInfoSpan =
746                             SrcSpan "tests/examples/SpecializePhaseControl.hs" 12 9 12 12
747                         , srcInfoPoints = []
748                         }
749                       (Ident
750                          SrcSpanInfo
751                            { srcInfoSpan =
752                                SrcSpan "tests/examples/SpecializePhaseControl.hs" 12 9 12 12
753                            , srcInfoPoints = []
754                            }
755                          "Int")))
756                 (TyFun
757                    SrcSpanInfo
758                      { srcInfoSpan =
759                          SrcSpan "tests/examples/SpecializePhaseControl.hs" 12 16 12 26
760                      , srcInfoPoints =
761                          [ SrcSpan "tests/examples/SpecializePhaseControl.hs" 12 20 12 22 ]
762                      }
763                    (TyCon
764                       SrcSpanInfo
765                         { srcInfoSpan =
766                             SrcSpan "tests/examples/SpecializePhaseControl.hs" 12 16 12 19
767                         , srcInfoPoints = []
768                         }
769                       (UnQual
770                          SrcSpanInfo
771                            { srcInfoSpan =
772                                SrcSpan "tests/examples/SpecializePhaseControl.hs" 12 16 12 19
773                            , srcInfoPoints = []
774                            }
775                          (Ident
776                             SrcSpanInfo
777                               { srcInfoSpan =
778                                   SrcSpan "tests/examples/SpecializePhaseControl.hs" 12 16 12 19
779                               , srcInfoPoints = []
780                               }
781                             "Int")))
782                    (TyCon
783                       SrcSpanInfo
784                         { srcInfoSpan =
785                             SrcSpan "tests/examples/SpecializePhaseControl.hs" 12 23 12 26
786                         , srcInfoPoints = []
787                         }
788                       (UnQual
789                          SrcSpanInfo
790                            { srcInfoSpan =
791                                SrcSpan "tests/examples/SpecializePhaseControl.hs" 12 23 12 26
792                            , srcInfoPoints = []
793                            }
794                          (Ident
795                             SrcSpanInfo
796                               { srcInfoSpan =
797                                   SrcSpan "tests/examples/SpecializePhaseControl.hs" 12 23 12 26
798                               , srcInfoPoints = []
799                               }
800                             "Int")))))
801          ]
802      , TypeSig
803          SrcSpanInfo
804            { srcInfoSpan =
805                SrcSpan "tests/examples/SpecializePhaseControl.hs" 14 1 14 40
806            , srcInfoPoints =
807                [ SrcSpan "tests/examples/SpecializePhaseControl.hs" 14 3 14 5 ]
808            }
809          [ Ident
810              SrcSpanInfo
811                { srcInfoSpan =
812                    SrcSpan "tests/examples/SpecializePhaseControl.hs" 14 1 14 2
813                , srcInfoPoints = []
814                }
815              "y"
816          ]
817          (TyForall
818             SrcSpanInfo
819               { srcInfoSpan =
820                   SrcSpan "tests/examples/SpecializePhaseControl.hs" 14 6 14 40
821               , srcInfoPoints = []
822               }
823             Nothing
824             (Just
825                (CxTuple
826                   SrcSpanInfo
827                     { srcInfoSpan =
828                         SrcSpan "tests/examples/SpecializePhaseControl.hs" 14 6 14 28
829                     , srcInfoPoints =
830                         [ SrcSpan "tests/examples/SpecializePhaseControl.hs" 14 6 14 7
831                         , SrcSpan "tests/examples/SpecializePhaseControl.hs" 14 12 14 13
832                         , SrcSpan "tests/examples/SpecializePhaseControl.hs" 14 24 14 25
833                         , SrcSpan "tests/examples/SpecializePhaseControl.hs" 14 26 14 28
834                         ]
835                     }
836                   [ TypeA
837                       SrcSpanInfo
838                         { srcInfoSpan =
839                             SrcSpan "tests/examples/SpecializePhaseControl.hs" 14 7 14 12
840                         , srcInfoPoints = []
841                         }
842                       (TyApp
843                          SrcSpanInfo
844                            { srcInfoSpan =
845                                SrcSpan "tests/examples/SpecializePhaseControl.hs" 14 7 14 12
846                            , srcInfoPoints = []
847                            }
848                          (TyCon
849                             SrcSpanInfo
850                               { srcInfoSpan =
851                                   SrcSpan "tests/examples/SpecializePhaseControl.hs" 14 7 14 12
852                               , srcInfoPoints = []
853                               }
854                             (UnQual
855                                SrcSpanInfo
856                                  { srcInfoSpan =
857                                      SrcSpan "tests/examples/SpecializePhaseControl.hs" 14 7 14 10
858                                  , srcInfoPoints = []
859                                  }
860                                (Ident
861                                   SrcSpanInfo
862                                     { srcInfoSpan =
863                                         SrcSpan
864                                           "tests/examples/SpecializePhaseControl.hs" 14 7 14 10
865                                     , srcInfoPoints = []
866                                     }
867                                   "Num")))
868                          (TyVar
869                             SrcSpanInfo
870                               { srcInfoSpan =
871                                   SrcSpan "tests/examples/SpecializePhaseControl.hs" 14 11 14 12
872                               , srcInfoPoints = []
873                               }
874                             (Ident
875                                SrcSpanInfo
876                                  { srcInfoSpan =
877                                      SrcSpan "tests/examples/SpecializePhaseControl.hs" 14 11 14 12
878                                  , srcInfoPoints = []
879                                  }
880                                "a")))
881                   , TypeA
882                       SrcSpanInfo
883                         { srcInfoSpan =
884                             SrcSpan "tests/examples/SpecializePhaseControl.hs" 14 14 14 24
885                         , srcInfoPoints = []
886                         }
887                       (TyApp
888                          SrcSpanInfo
889                            { srcInfoSpan =
890                                SrcSpan "tests/examples/SpecializePhaseControl.hs" 14 14 14 24
891                            , srcInfoPoints = []
892                            }
893                          (TyCon
894                             SrcSpanInfo
895                               { srcInfoSpan =
896                                   SrcSpan "tests/examples/SpecializePhaseControl.hs" 14 14 14 24
897                               , srcInfoPoints = []
898                               }
899                             (UnQual
900                                SrcSpanInfo
901                                  { srcInfoSpan =
902                                      SrcSpan "tests/examples/SpecializePhaseControl.hs" 14 14 14 22
903                                  , srcInfoPoints = []
904                                  }
905                                (Ident
906                                   SrcSpanInfo
907                                     { srcInfoSpan =
908                                         SrcSpan
909                                           "tests/examples/SpecializePhaseControl.hs" 14 14 14 22
910                                     , srcInfoPoints = []
911                                     }
912                                   "Integral")))
913                          (TyVar
914                             SrcSpanInfo
915                               { srcInfoSpan =
916                                   SrcSpan "tests/examples/SpecializePhaseControl.hs" 14 23 14 24
917                               , srcInfoPoints = []
918                               }
919                             (Ident
920                                SrcSpanInfo
921                                  { srcInfoSpan =
922                                      SrcSpan "tests/examples/SpecializePhaseControl.hs" 14 23 14 24
923                                  , srcInfoPoints = []
924                                  }
925                                "b")))
926                   ]))
927             (TyFun
928                SrcSpanInfo
929                  { srcInfoSpan =
930                      SrcSpan "tests/examples/SpecializePhaseControl.hs" 14 29 14 40
931                  , srcInfoPoints =
932                      [ SrcSpan "tests/examples/SpecializePhaseControl.hs" 14 31 14 33 ]
933                  }
934                (TyVar
935                   SrcSpanInfo
936                     { srcInfoSpan =
937                         SrcSpan "tests/examples/SpecializePhaseControl.hs" 14 29 14 30
938                     , srcInfoPoints = []
939                     }
940                   (Ident
941                      SrcSpanInfo
942                        { srcInfoSpan =
943                            SrcSpan "tests/examples/SpecializePhaseControl.hs" 14 29 14 30
944                        , srcInfoPoints = []
945                        }
946                      "a"))
947                (TyFun
948                   SrcSpanInfo
949                     { srcInfoSpan =
950                         SrcSpan "tests/examples/SpecializePhaseControl.hs" 14 34 14 40
951                     , srcInfoPoints =
952                         [ SrcSpan "tests/examples/SpecializePhaseControl.hs" 14 36 14 38 ]
953                     }
954                   (TyVar
955                      SrcSpanInfo
956                        { srcInfoSpan =
957                            SrcSpan "tests/examples/SpecializePhaseControl.hs" 14 34 14 35
958                        , srcInfoPoints = []
959                        }
960                      (Ident
961                         SrcSpanInfo
962                           { srcInfoSpan =
963                               SrcSpan "tests/examples/SpecializePhaseControl.hs" 14 34 14 35
964                           , srcInfoPoints = []
965                           }
966                         "b"))
967                   (TyVar
968                      SrcSpanInfo
969                        { srcInfoSpan =
970                            SrcSpan "tests/examples/SpecializePhaseControl.hs" 14 39 14 40
971                        , srcInfoPoints = []
972                        }
973                      (Ident
974                         SrcSpanInfo
975                           { srcInfoSpan =
976                               SrcSpan "tests/examples/SpecializePhaseControl.hs" 14 39 14 40
977                           , srcInfoPoints = []
978                           }
979                         "a")))))
980      , PatBind
981          SrcSpanInfo
982            { srcInfoSpan =
983                SrcSpan "tests/examples/SpecializePhaseControl.hs" 15 1 15 14
984            , srcInfoPoints = []
985            }
986          (PVar
987             SrcSpanInfo
988               { srcInfoSpan =
989                   SrcSpan "tests/examples/SpecializePhaseControl.hs" 15 1 15 2
990               , srcInfoPoints = []
991               }
992             (Ident
993                SrcSpanInfo
994                  { srcInfoSpan =
995                      SrcSpan "tests/examples/SpecializePhaseControl.hs" 15 1 15 2
996                  , srcInfoPoints = []
997                  }
998                "y"))
999          (UnGuardedRhs
1000             SrcSpanInfo
1001               { srcInfoSpan =
1002                   SrcSpan "tests/examples/SpecializePhaseControl.hs" 15 3 15 14
1003               , srcInfoPoints =
1004                   [ SrcSpan "tests/examples/SpecializePhaseControl.hs" 15 3 15 4 ]
1005               }
1006             (Var
1007                SrcSpanInfo
1008                  { srcInfoSpan =
1009                      SrcSpan "tests/examples/SpecializePhaseControl.hs" 15 5 15 14
1010                  , srcInfoPoints = []
1011                  }
1012                (UnQual
1013                   SrcSpanInfo
1014                     { srcInfoSpan =
1015                         SrcSpan "tests/examples/SpecializePhaseControl.hs" 15 5 15 14
1016                     , srcInfoPoints = []
1017                     }
1018                   (Ident
1019                      SrcSpanInfo
1020                        { srcInfoSpan =
1021                            SrcSpan "tests/examples/SpecializePhaseControl.hs" 15 5 15 14
1022                        , srcInfoPoints = []
1023                        }
1024                      "undefined"))))
1025          Nothing
1026      ]
1027  , [ Comment
1028        True
1029        (SrcSpan "tests/examples/SpecializePhaseControl.hs" 5 1 5 24)
1030        "# INLINABLE [1] x #"
1031    , Comment
1032        True
1033        (SrcSpan "tests/examples/SpecializePhaseControl.hs" 13 1 13 24)
1034        "# INLINABLE [1] y #"
1035    ]
1036  )
1037