1ParseOk
2  ( Module
3      SrcSpanInfo
4        { srcInfoSpan =
5            SrcSpan "tests/examples/PatternSynonyms.hs" 1 1 17 1
6        , srcInfoPoints =
7            [ SrcSpan "tests/examples/PatternSynonyms.hs" 1 1 1 1
8            , SrcSpan "tests/examples/PatternSynonyms.hs" 3 1 3 1
9            , SrcSpan "tests/examples/PatternSynonyms.hs" 3 1 3 1
10            , SrcSpan "tests/examples/PatternSynonyms.hs" 3 1 3 1
11            , SrcSpan "tests/examples/PatternSynonyms.hs" 5 1 5 1
12            , SrcSpan "tests/examples/PatternSynonyms.hs" 7 1 7 1
13            , SrcSpan "tests/examples/PatternSynonyms.hs" 9 1 9 1
14            , SrcSpan "tests/examples/PatternSynonyms.hs" 11 1 11 1
15            , SrcSpan "tests/examples/PatternSynonyms.hs" 13 1 13 1
16            , SrcSpan "tests/examples/PatternSynonyms.hs" 15 1 15 1
17            , SrcSpan "tests/examples/PatternSynonyms.hs" 17 1 17 1
18            , SrcSpan "tests/examples/PatternSynonyms.hs" 17 1 17 1
19            ]
20        }
21      Nothing
22      [ LanguagePragma
23          SrcSpanInfo
24            { srcInfoSpan =
25                SrcSpan "tests/examples/PatternSynonyms.hs" 1 1 1 33
26            , srcInfoPoints =
27                [ SrcSpan "tests/examples/PatternSynonyms.hs" 1 1 1 13
28                , SrcSpan "tests/examples/PatternSynonyms.hs" 1 30 1 33
29                ]
30            }
31          [ Ident
32              SrcSpanInfo
33                { srcInfoSpan =
34                    SrcSpan "tests/examples/PatternSynonyms.hs" 1 14 1 29
35                , srcInfoPoints = []
36                }
37              "PatternSynonyms"
38          ]
39      ]
40      []
41      [ PatSyn
42          SrcSpanInfo
43            { srcInfoSpan =
44                SrcSpan "tests/examples/PatternSynonyms.hs" 3 1 3 20
45            , srcInfoPoints =
46                [ SrcSpan "tests/examples/PatternSynonyms.hs" 3 1 3 8
47                , SrcSpan "tests/examples/PatternSynonyms.hs" 3 11 3 12
48                ]
49            }
50          (PApp
51             SrcSpanInfo
52               { srcInfoSpan =
53                   SrcSpan "tests/examples/PatternSynonyms.hs" 3 9 3 10
54               , srcInfoPoints = []
55               }
56             (UnQual
57                SrcSpanInfo
58                  { srcInfoSpan =
59                      SrcSpan "tests/examples/PatternSynonyms.hs" 3 9 3 10
60                  , srcInfoPoints = []
61                  }
62                (Ident
63                   SrcSpanInfo
64                     { srcInfoSpan =
65                         SrcSpan "tests/examples/PatternSynonyms.hs" 3 9 3 10
66                     , srcInfoPoints = []
67                     }
68                   "A"))
69             [])
70          (PApp
71             SrcSpanInfo
72               { srcInfoSpan =
73                   SrcSpan "tests/examples/PatternSynonyms.hs" 3 13 3 20
74               , srcInfoPoints = []
75               }
76             (UnQual
77                SrcSpanInfo
78                  { srcInfoSpan =
79                      SrcSpan "tests/examples/PatternSynonyms.hs" 3 13 3 20
80                  , srcInfoPoints = []
81                  }
82                (Ident
83                   SrcSpanInfo
84                     { srcInfoSpan =
85                         SrcSpan "tests/examples/PatternSynonyms.hs" 3 13 3 20
86                     , srcInfoPoints = []
87                     }
88                   "Nothing"))
89             [])
90          ImplicitBidirectional
91      , PatSyn
92          SrcSpanInfo
93            { srcInfoSpan =
94                SrcSpan "tests/examples/PatternSynonyms.hs" 5 1 5 21
95            , srcInfoPoints =
96                [ SrcSpan "tests/examples/PatternSynonyms.hs" 5 1 5 8
97                , SrcSpan "tests/examples/PatternSynonyms.hs" 5 13 5 14
98                ]
99            }
100          (PApp
101             SrcSpanInfo
102               { srcInfoSpan =
103                   SrcSpan "tests/examples/PatternSynonyms.hs" 5 9 5 12
104               , srcInfoPoints = []
105               }
106             (UnQual
107                SrcSpanInfo
108                  { srcInfoSpan =
109                      SrcSpan "tests/examples/PatternSynonyms.hs" 5 9 5 10
110                  , srcInfoPoints = []
111                  }
112                (Ident
113                   SrcSpanInfo
114                     { srcInfoSpan =
115                         SrcSpan "tests/examples/PatternSynonyms.hs" 5 9 5 10
116                     , srcInfoPoints = []
117                     }
118                   "B"))
119             [ PVar
120                 SrcSpanInfo
121                   { srcInfoSpan =
122                       SrcSpan "tests/examples/PatternSynonyms.hs" 5 11 5 12
123                   , srcInfoPoints = []
124                   }
125                 (Ident
126                    SrcSpanInfo
127                      { srcInfoSpan =
128                          SrcSpan "tests/examples/PatternSynonyms.hs" 5 11 5 12
129                      , srcInfoPoints = []
130                      }
131                    "a")
132             ])
133          (PApp
134             SrcSpanInfo
135               { srcInfoSpan =
136                   SrcSpan "tests/examples/PatternSynonyms.hs" 5 15 5 21
137               , srcInfoPoints = []
138               }
139             (UnQual
140                SrcSpanInfo
141                  { srcInfoSpan =
142                      SrcSpan "tests/examples/PatternSynonyms.hs" 5 15 5 19
143                  , srcInfoPoints = []
144                  }
145                (Ident
146                   SrcSpanInfo
147                     { srcInfoSpan =
148                         SrcSpan "tests/examples/PatternSynonyms.hs" 5 15 5 19
149                     , srcInfoPoints = []
150                     }
151                   "Just"))
152             [ PVar
153                 SrcSpanInfo
154                   { srcInfoSpan =
155                       SrcSpan "tests/examples/PatternSynonyms.hs" 5 20 5 21
156                   , srcInfoPoints = []
157                   }
158                 (Ident
159                    SrcSpanInfo
160                      { srcInfoSpan =
161                          SrcSpan "tests/examples/PatternSynonyms.hs" 5 20 5 21
162                      , srcInfoPoints = []
163                      }
164                    "a")
165             ])
166          ImplicitBidirectional
167      , PatSyn
168          SrcSpanInfo
169            { srcInfoSpan =
170                SrcSpan "tests/examples/PatternSynonyms.hs" 7 1 7 24
171            , srcInfoPoints =
172                [ SrcSpan "tests/examples/PatternSynonyms.hs" 7 1 7 8
173                , SrcSpan "tests/examples/PatternSynonyms.hs" 7 17 7 18
174                ]
175            }
176          (PInfixApp
177             SrcSpanInfo
178               { srcInfoSpan =
179                   SrcSpan "tests/examples/PatternSynonyms.hs" 7 9 7 16
180               , srcInfoPoints = []
181               }
182             (PVar
183                SrcSpanInfo
184                  { srcInfoSpan =
185                      SrcSpan "tests/examples/PatternSynonyms.hs" 7 9 7 10
186                  , srcInfoPoints = []
187                  }
188                (Ident
189                   SrcSpanInfo
190                     { srcInfoSpan =
191                         SrcSpan "tests/examples/PatternSynonyms.hs" 7 9 7 10
192                     , srcInfoPoints = []
193                     }
194                   "a"))
195             (UnQual
196                SrcSpanInfo
197                  { srcInfoSpan =
198                      SrcSpan "tests/examples/PatternSynonyms.hs" 7 11 7 14
199                  , srcInfoPoints = []
200                  }
201                (Symbol
202                   SrcSpanInfo
203                     { srcInfoSpan =
204                         SrcSpan "tests/examples/PatternSynonyms.hs" 7 11 7 14
205                     , srcInfoPoints = []
206                     }
207                   ":+:"))
208             (PVar
209                SrcSpanInfo
210                  { srcInfoSpan =
211                      SrcSpan "tests/examples/PatternSynonyms.hs" 7 15 7 16
212                  , srcInfoPoints = []
213                  }
214                (Ident
215                   SrcSpanInfo
216                     { srcInfoSpan =
217                         SrcSpan "tests/examples/PatternSynonyms.hs" 7 15 7 16
218                     , srcInfoPoints = []
219                     }
220                   "b")))
221          (PTuple
222             SrcSpanInfo
223               { srcInfoSpan =
224                   SrcSpan "tests/examples/PatternSynonyms.hs" 7 19 7 24
225               , srcInfoPoints =
226                   [ SrcSpan "tests/examples/PatternSynonyms.hs" 7 19 7 20
227                   , SrcSpan "tests/examples/PatternSynonyms.hs" 7 21 7 22
228                   , SrcSpan "tests/examples/PatternSynonyms.hs" 7 23 7 24
229                   ]
230               }
231             Boxed
232             [ PVar
233                 SrcSpanInfo
234                   { srcInfoSpan =
235                       SrcSpan "tests/examples/PatternSynonyms.hs" 7 20 7 21
236                   , srcInfoPoints = []
237                   }
238                 (Ident
239                    SrcSpanInfo
240                      { srcInfoSpan =
241                          SrcSpan "tests/examples/PatternSynonyms.hs" 7 20 7 21
242                      , srcInfoPoints = []
243                      }
244                    "a")
245             , PVar
246                 SrcSpanInfo
247                   { srcInfoSpan =
248                       SrcSpan "tests/examples/PatternSynonyms.hs" 7 22 7 23
249                   , srcInfoPoints = []
250                   }
251                 (Ident
252                    SrcSpanInfo
253                      { srcInfoSpan =
254                          SrcSpan "tests/examples/PatternSynonyms.hs" 7 22 7 23
255                      , srcInfoPoints = []
256                      }
257                    "b")
258             ])
259          ImplicitBidirectional
260      , PatSyn
261          SrcSpanInfo
262            { srcInfoSpan =
263                SrcSpan "tests/examples/PatternSynonyms.hs" 9 1 9 26
264            , srcInfoPoints =
265                [ SrcSpan "tests/examples/PatternSynonyms.hs" 9 1 9 8
266                , SrcSpan "tests/examples/PatternSynonyms.hs" 9 19 9 20
267                ]
268            }
269          (PApp
270             SrcSpanInfo
271               { srcInfoSpan =
272                   SrcSpan "tests/examples/PatternSynonyms.hs" 9 9 9 18
273               , srcInfoPoints = []
274               }
275             (UnQual
276                SrcSpanInfo
277                  { srcInfoSpan =
278                      SrcSpan "tests/examples/PatternSynonyms.hs" 9 9 9 14
279                  , srcInfoPoints = []
280                  }
281                (Ident
282                   SrcSpanInfo
283                     { srcInfoSpan =
284                         SrcSpan "tests/examples/PatternSynonyms.hs" 9 9 9 14
285                     , srcInfoPoints = []
286                     }
287                   "Tuple"))
288             [ PVar
289                 SrcSpanInfo
290                   { srcInfoSpan =
291                       SrcSpan "tests/examples/PatternSynonyms.hs" 9 15 9 16
292                   , srcInfoPoints = []
293                   }
294                 (Ident
295                    SrcSpanInfo
296                      { srcInfoSpan =
297                          SrcSpan "tests/examples/PatternSynonyms.hs" 9 15 9 16
298                      , srcInfoPoints = []
299                      }
300                    "a")
301             , PVar
302                 SrcSpanInfo
303                   { srcInfoSpan =
304                       SrcSpan "tests/examples/PatternSynonyms.hs" 9 17 9 18
305                   , srcInfoPoints = []
306                   }
307                 (Ident
308                    SrcSpanInfo
309                      { srcInfoSpan =
310                          SrcSpan "tests/examples/PatternSynonyms.hs" 9 17 9 18
311                      , srcInfoPoints = []
312                      }
313                    "b")
314             ])
315          (PTuple
316             SrcSpanInfo
317               { srcInfoSpan =
318                   SrcSpan "tests/examples/PatternSynonyms.hs" 9 21 9 26
319               , srcInfoPoints =
320                   [ SrcSpan "tests/examples/PatternSynonyms.hs" 9 21 9 22
321                   , SrcSpan "tests/examples/PatternSynonyms.hs" 9 23 9 24
322                   , SrcSpan "tests/examples/PatternSynonyms.hs" 9 25 9 26
323                   ]
324               }
325             Boxed
326             [ PVar
327                 SrcSpanInfo
328                   { srcInfoSpan =
329                       SrcSpan "tests/examples/PatternSynonyms.hs" 9 22 9 23
330                   , srcInfoPoints = []
331                   }
332                 (Ident
333                    SrcSpanInfo
334                      { srcInfoSpan =
335                          SrcSpan "tests/examples/PatternSynonyms.hs" 9 22 9 23
336                      , srcInfoPoints = []
337                      }
338                    "a")
339             , PVar
340                 SrcSpanInfo
341                   { srcInfoSpan =
342                       SrcSpan "tests/examples/PatternSynonyms.hs" 9 24 9 25
343                   , srcInfoPoints = []
344                   }
345                 (Ident
346                    SrcSpanInfo
347                      { srcInfoSpan =
348                          SrcSpan "tests/examples/PatternSynonyms.hs" 9 24 9 25
349                      , srcInfoPoints = []
350                      }
351                    "b")
352             ])
353          ImplicitBidirectional
354      , PatSyn
355          SrcSpanInfo
356            { srcInfoSpan =
357                SrcSpan "tests/examples/PatternSynonyms.hs" 11 1 11 23
358            , srcInfoPoints =
359                [ SrcSpan "tests/examples/PatternSynonyms.hs" 11 1 11 8
360                , SrcSpan "tests/examples/PatternSynonyms.hs" 11 14 11 15
361                ]
362            }
363          (PApp
364             SrcSpanInfo
365               { srcInfoSpan =
366                   SrcSpan "tests/examples/PatternSynonyms.hs" 11 12 11 13
367               , srcInfoPoints = []
368               }
369             (UnQual
370                SrcSpanInfo
371                  { srcInfoSpan =
372                      SrcSpan "tests/examples/PatternSynonyms.hs" 11 12 11 13
373                  , srcInfoPoints = []
374                  }
375                (Ident
376                   SrcSpanInfo
377                     { srcInfoSpan =
378                         SrcSpan "tests/examples/PatternSynonyms.hs" 11 12 11 13
379                     , srcInfoPoints = []
380                     }
381                   "A"))
382             [])
383          (PApp
384             SrcSpanInfo
385               { srcInfoSpan =
386                   SrcSpan "tests/examples/PatternSynonyms.hs" 11 16 11 23
387               , srcInfoPoints = []
388               }
389             (UnQual
390                SrcSpanInfo
391                  { srcInfoSpan =
392                      SrcSpan "tests/examples/PatternSynonyms.hs" 11 16 11 23
393                  , srcInfoPoints = []
394                  }
395                (Ident
396                   SrcSpanInfo
397                     { srcInfoSpan =
398                         SrcSpan "tests/examples/PatternSynonyms.hs" 11 16 11 23
399                     , srcInfoPoints = []
400                     }
401                   "Nothing"))
402             [])
403          ImplicitBidirectional
404      , PatSyn
405          SrcSpanInfo
406            { srcInfoSpan =
407                SrcSpan "tests/examples/PatternSynonyms.hs" 13 1 13 24
408            , srcInfoPoints =
409                [ SrcSpan "tests/examples/PatternSynonyms.hs" 13 1 13 8
410                , SrcSpan "tests/examples/PatternSynonyms.hs" 13 16 13 17
411                ]
412            }
413          (PApp
414             SrcSpanInfo
415               { srcInfoSpan =
416                   SrcSpan "tests/examples/PatternSynonyms.hs" 13 9 13 12
417               , srcInfoPoints = []
418               }
419             (UnQual
420                SrcSpanInfo
421                  { srcInfoSpan =
422                      SrcSpan "tests/examples/PatternSynonyms.hs" 13 9 13 10
423                  , srcInfoPoints = []
424                  }
425                (Ident
426                   SrcSpanInfo
427                     { srcInfoSpan =
428                         SrcSpan "tests/examples/PatternSynonyms.hs" 13 9 13 10
429                     , srcInfoPoints = []
430                     }
431                   "B"))
432             [ PVar
433                 SrcSpanInfo
434                   { srcInfoSpan =
435                       SrcSpan "tests/examples/PatternSynonyms.hs" 13 11 13 12
436                   , srcInfoPoints = []
437                   }
438                 (Ident
439                    SrcSpanInfo
440                      { srcInfoSpan =
441                          SrcSpan "tests/examples/PatternSynonyms.hs" 13 11 13 12
442                      , srcInfoPoints = []
443                      }
444                    "a")
445             ])
446          (PApp
447             SrcSpanInfo
448               { srcInfoSpan =
449                   SrcSpan "tests/examples/PatternSynonyms.hs" 13 18 13 24
450               , srcInfoPoints = []
451               }
452             (UnQual
453                SrcSpanInfo
454                  { srcInfoSpan =
455                      SrcSpan "tests/examples/PatternSynonyms.hs" 13 18 13 22
456                  , srcInfoPoints = []
457                  }
458                (Ident
459                   SrcSpanInfo
460                     { srcInfoSpan =
461                         SrcSpan "tests/examples/PatternSynonyms.hs" 13 18 13 22
462                     , srcInfoPoints = []
463                     }
464                   "Just"))
465             [ PVar
466                 SrcSpanInfo
467                   { srcInfoSpan =
468                       SrcSpan "tests/examples/PatternSynonyms.hs" 13 23 13 24
469                   , srcInfoPoints = []
470                   }
471                 (Ident
472                    SrcSpanInfo
473                      { srcInfoSpan =
474                          SrcSpan "tests/examples/PatternSynonyms.hs" 13 23 13 24
475                      , srcInfoPoints = []
476                      }
477                    "a")
478             ])
479          ImplicitBidirectional
480      , PatSyn
481          SrcSpanInfo
482            { srcInfoSpan =
483                SrcSpan "tests/examples/PatternSynonyms.hs" 15 1 15 28
484            , srcInfoPoints =
485                [ SrcSpan "tests/examples/PatternSynonyms.hs" 15 1 15 8
486                , SrcSpan "tests/examples/PatternSynonyms.hs" 15 17 15 18
487                ]
488            }
489          (PInfixApp
490             SrcSpanInfo
491               { srcInfoSpan =
492                   SrcSpan "tests/examples/PatternSynonyms.hs" 15 9 15 16
493               , srcInfoPoints = []
494               }
495             (PVar
496                SrcSpanInfo
497                  { srcInfoSpan =
498                      SrcSpan "tests/examples/PatternSynonyms.hs" 15 9 15 10
499                  , srcInfoPoints = []
500                  }
501                (Ident
502                   SrcSpanInfo
503                     { srcInfoSpan =
504                         SrcSpan "tests/examples/PatternSynonyms.hs" 15 9 15 10
505                     , srcInfoPoints = []
506                     }
507                   "a"))
508             (UnQual
509                SrcSpanInfo
510                  { srcInfoSpan =
511                      SrcSpan "tests/examples/PatternSynonyms.hs" 15 11 15 14
512                  , srcInfoPoints = []
513                  }
514                (Symbol
515                   SrcSpanInfo
516                     { srcInfoSpan =
517                         SrcSpan "tests/examples/PatternSynonyms.hs" 15 11 15 14
518                     , srcInfoPoints = []
519                     }
520                   ":+:"))
521             (PVar
522                SrcSpanInfo
523                  { srcInfoSpan =
524                      SrcSpan "tests/examples/PatternSynonyms.hs" 15 15 15 16
525                  , srcInfoPoints = []
526                  }
527                (Ident
528                   SrcSpanInfo
529                     { srcInfoSpan =
530                         SrcSpan "tests/examples/PatternSynonyms.hs" 15 15 15 16
531                     , srcInfoPoints = []
532                     }
533                   "b")))
534          (PTuple
535             SrcSpanInfo
536               { srcInfoSpan =
537                   SrcSpan "tests/examples/PatternSynonyms.hs" 15 23 15 28
538               , srcInfoPoints =
539                   [ SrcSpan "tests/examples/PatternSynonyms.hs" 15 23 15 24
540                   , SrcSpan "tests/examples/PatternSynonyms.hs" 15 25 15 26
541                   , SrcSpan "tests/examples/PatternSynonyms.hs" 15 27 15 28
542                   ]
543               }
544             Boxed
545             [ PVar
546                 SrcSpanInfo
547                   { srcInfoSpan =
548                       SrcSpan "tests/examples/PatternSynonyms.hs" 15 24 15 25
549                   , srcInfoPoints = []
550                   }
551                 (Ident
552                    SrcSpanInfo
553                      { srcInfoSpan =
554                          SrcSpan "tests/examples/PatternSynonyms.hs" 15 24 15 25
555                      , srcInfoPoints = []
556                      }
557                    "a")
558             , PVar
559                 SrcSpanInfo
560                   { srcInfoSpan =
561                       SrcSpan "tests/examples/PatternSynonyms.hs" 15 26 15 27
562                   , srcInfoPoints = []
563                   }
564                 (Ident
565                    SrcSpanInfo
566                      { srcInfoSpan =
567                          SrcSpan "tests/examples/PatternSynonyms.hs" 15 26 15 27
568                      , srcInfoPoints = []
569                      }
570                    "b")
571             ])
572          ImplicitBidirectional
573      ]
574  , []
575  )
576