1ParseOk
2  ( Module
3      SrcSpanInfo
4        { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 1 1 46 1
5        , srcInfoPoints =
6            [ SrcSpan "tests/examples/RCategory.hs" 1 1 1 1
7            , SrcSpan "tests/examples/RCategory.hs" 2 1 2 1
8            , SrcSpan "tests/examples/RCategory.hs" 2 1 2 1
9            , SrcSpan "tests/examples/RCategory.hs" 5 1 5 1
10            , SrcSpan "tests/examples/RCategory.hs" 7 1 7 1
11            , SrcSpan "tests/examples/RCategory.hs" 9 1 9 1
12            , SrcSpan "tests/examples/RCategory.hs" 10 1 10 1
13            , SrcSpan "tests/examples/RCategory.hs" 14 1 14 1
14            , SrcSpan "tests/examples/RCategory.hs" 25 1 25 1
15            , SrcSpan "tests/examples/RCategory.hs" 32 1 32 1
16            , SrcSpan "tests/examples/RCategory.hs" 38 1 38 1
17            , SrcSpan "tests/examples/RCategory.hs" 40 1 40 1
18            , SrcSpan "tests/examples/RCategory.hs" 43 1 43 1
19            , SrcSpan "tests/examples/RCategory.hs" 45 1 45 1
20            , SrcSpan "tests/examples/RCategory.hs" 46 1 46 1
21            , SrcSpan "tests/examples/RCategory.hs" 46 1 46 1
22            ]
23        }
24      (Just
25         (ModuleHead
26            SrcSpanInfo
27              { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 2 1 2 31
28              , srcInfoPoints =
29                  [ SrcSpan "tests/examples/RCategory.hs" 2 1 2 7
30                  , SrcSpan "tests/examples/RCategory.hs" 2 26 2 31
31                  ]
32              }
33            (ModuleName
34               SrcSpanInfo
35                 { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 2 8 2 25
36                 , srcInfoPoints = []
37                 }
38               "Control.RCategory")
39            Nothing
40            Nothing))
41      [ LanguagePragma
42          SrcSpanInfo
43            { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 1 1 1 70
44            , srcInfoPoints =
45                [ SrcSpan "tests/examples/RCategory.hs" 1 1 1 13
46                , SrcSpan "tests/examples/RCategory.hs" 1 26 1 27
47                , SrcSpan "tests/examples/RCategory.hs" 1 43 1 44
48                , SrcSpan "tests/examples/RCategory.hs" 1 67 1 70
49                ]
50            }
51          [ Ident
52              SrcSpanInfo
53                { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 1 14 1 26
54                , srcInfoPoints = []
55                }
56              "TypeFamilies"
57          , Ident
58              SrcSpanInfo
59                { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 1 28 1 43
60                , srcInfoPoints = []
61                }
62              "ConstraintKinds"
63          , Ident
64              SrcSpanInfo
65                { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 1 45 1 66
66                , srcInfoPoints = []
67                }
68              "MultiParamTypeClasses"
69          ]
70      ]
71      [ ImportDecl
72          { importAnn =
73              SrcSpanInfo
74                { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 5 1 5 25
75                , srcInfoPoints =
76                    [ SrcSpan "tests/examples/RCategory.hs" 5 1 5 7
77                    , SrcSpan "tests/examples/RCategory.hs" 5 8 5 17
78                    ]
79                }
80          , importModule =
81              ModuleName
82                SrcSpanInfo
83                  { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 5 18 5 25
84                  , srcInfoPoints = []
85                  }
86                "Prelude"
87          , importQualified = True
88          , importSrc = False
89          , importSafe = False
90          , importPkg = Nothing
91          , importAs = Nothing
92          , importSpecs = Nothing
93          }
94      , ImportDecl
95          { importAnn =
96              SrcSpanInfo
97                { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 7 1 7 16
98                , srcInfoPoints = [ SrcSpan "tests/examples/RCategory.hs" 7 1 7 7 ]
99                }
100          , importModule =
101              ModuleName
102                SrcSpanInfo
103                  { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 7 8 7 16
104                  , srcInfoPoints = []
105                  }
106                "GHC.Prim"
107          , importQualified = False
108          , importSrc = False
109          , importSafe = False
110          , importPkg = Nothing
111          , importAs = Nothing
112          , importSpecs = Nothing
113          }
114      ]
115      [ InfixDecl
116          SrcSpanInfo
117            { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 9 1 9 11
118            , srcInfoPoints = [ SrcSpan "tests/examples/RCategory.hs" 9 8 9 9 ]
119            }
120          (AssocRight
121             SrcSpanInfo
122               { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 9 1 9 7
123               , srcInfoPoints = []
124               })
125          (Just 9)
126          [ VarOp
127              SrcSpanInfo
128                { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 9 10 9 11
129                , srcInfoPoints = []
130                }
131              (Symbol
132                 SrcSpanInfo
133                   { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 9 10 9 11
134                   , srcInfoPoints = []
135                   }
136                 ".")
137          ]
138      , InfixDecl
139          SrcSpanInfo
140            { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 10 1 10 18
141            , srcInfoPoints =
142                [ SrcSpan "tests/examples/RCategory.hs" 10 8 10 9
143                , SrcSpan "tests/examples/RCategory.hs" 10 13 10 14
144                ]
145            }
146          (AssocRight
147             SrcSpanInfo
148               { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 10 1 10 7
149               , srcInfoPoints = []
150               })
151          (Just 1)
152          [ VarOp
153              SrcSpanInfo
154                { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 10 10 10 13
155                , srcInfoPoints = []
156                }
157              (Symbol
158                 SrcSpanInfo
159                   { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 10 10 10 13
160                   , srcInfoPoints = []
161                   }
162                 ">>>")
163          , VarOp
164              SrcSpanInfo
165                { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 10 15 10 18
166                , srcInfoPoints = []
167                }
168              (Symbol
169                 SrcSpanInfo
170                   { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 10 15 10 18
171                   , srcInfoPoints = []
172                   }
173                 "<<<")
174          ]
175      , ClassDecl
176          SrcSpanInfo
177            { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 14 1 23 39
178            , srcInfoPoints =
179                [ SrcSpan "tests/examples/RCategory.hs" 14 1 14 6
180                , SrcSpan "tests/examples/RCategory.hs" 14 21 14 26
181                , SrcSpan "tests/examples/RCategory.hs" 15 3 15 3
182                , SrcSpan "tests/examples/RCategory.hs" 18 3 18 3
183                , SrcSpan "tests/examples/RCategory.hs" 22 3 22 3
184                , SrcSpan "tests/examples/RCategory.hs" 25 1 25 0
185                ]
186            }
187          Nothing
188          (DHApp
189             SrcSpanInfo
190               { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 14 7 14 20
191               , srcInfoPoints = []
192               }
193             (DHead
194                SrcSpanInfo
195                  { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 14 7 14 16
196                  , srcInfoPoints = []
197                  }
198                (Ident
199                   SrcSpanInfo
200                     { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 14 7 14 16
201                     , srcInfoPoints = []
202                     }
203                   "RCategory"))
204             (UnkindedVar
205                SrcSpanInfo
206                  { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 14 17 14 20
207                  , srcInfoPoints = []
208                  }
209                (Ident
210                   SrcSpanInfo
211                     { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 14 17 14 20
212                     , srcInfoPoints = []
213                     }
214                   "cat")))
215          []
216          (Just
217             [ ClsTyFam
218                 SrcSpanInfo
219                   { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 15 3 15 43
220                   , srcInfoPoints =
221                       [ SrcSpan "tests/examples/RCategory.hs" 15 3 15 7 ]
222                   }
223                 (DHApp
224                    SrcSpanInfo
225                      { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 15 8 15 29
226                      , srcInfoPoints = []
227                      }
228                    (DHApp
229                       SrcSpanInfo
230                         { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 15 8 15 27
231                         , srcInfoPoints = []
232                         }
233                       (DHApp
234                          SrcSpanInfo
235                            { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 15 8 15 25
236                            , srcInfoPoints = []
237                            }
238                          (DHead
239                             SrcSpanInfo
240                               { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 15 8 15 21
241                               , srcInfoPoints = []
242                               }
243                             (Ident
244                                SrcSpanInfo
245                                  { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 15 8 15 21
246                                  , srcInfoPoints = []
247                                  }
248                                "RCategoryCtxt"))
249                          (UnkindedVar
250                             SrcSpanInfo
251                               { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 15 22 15 25
252                               , srcInfoPoints = []
253                               }
254                             (Ident
255                                SrcSpanInfo
256                                  { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 15 22 15 25
257                                  , srcInfoPoints = []
258                                  }
259                                "cat")))
260                       (UnkindedVar
261                          SrcSpanInfo
262                            { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 15 26 15 27
263                            , srcInfoPoints = []
264                            }
265                          (Ident
266                             SrcSpanInfo
267                               { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 15 26 15 27
268                               , srcInfoPoints = []
269                               }
270                             "a")))
271                    (UnkindedVar
272                       SrcSpanInfo
273                         { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 15 28 15 29
274                         , srcInfoPoints = []
275                         }
276                       (Ident
277                          SrcSpanInfo
278                            { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 15 28 15 29
279                            , srcInfoPoints = []
280                            }
281                          "b")))
282                 (Just
283                    (KindSig
284                       SrcSpanInfo
285                         { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 15 30 15 43
286                         , srcInfoPoints =
287                             [ SrcSpan "tests/examples/RCategory.hs" 15 30 15 32 ]
288                         }
289                       (TyCon
290                          SrcSpanInfo
291                            { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 15 33 15 43
292                            , srcInfoPoints = []
293                            }
294                          (UnQual
295                             SrcSpanInfo
296                               { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 15 33 15 43
297                               , srcInfoPoints = []
298                               }
299                             (Ident
300                                SrcSpanInfo
301                                  { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 15 33 15 43
302                                  , srcInfoPoints = []
303                                  }
304                                "Constraint")))))
305                 Nothing
306             , ClsDecl
307                 SrcSpanInfo
308                   { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 18 3 19 16
309                   , srcInfoPoints =
310                       [ SrcSpan "tests/examples/RCategory.hs" 18 6 18 8 ]
311                   }
312                 (TypeSig
313                    SrcSpanInfo
314                      { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 18 3 19 16
315                      , srcInfoPoints =
316                          [ SrcSpan "tests/examples/RCategory.hs" 18 6 18 8 ]
317                      }
318                    [ Ident
319                        SrcSpanInfo
320                          { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 18 3 18 5
321                          , srcInfoPoints = []
322                          }
323                        "id"
324                    ]
325                    (TyForall
326                       SrcSpanInfo
327                         { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 18 9 19 16
328                         , srcInfoPoints = []
329                         }
330                       Nothing
331                       (Just
332                          (CxSingle
333                             SrcSpanInfo
334                               { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 18 9 19 8
335                               , srcInfoPoints =
336                                   [ SrcSpan "tests/examples/RCategory.hs" 19 6 19 8 ]
337                               }
338                             (TypeA
339                                SrcSpanInfo
340                                  { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 18 9 19 8
341                                  , srcInfoPoints =
342                                      [ SrcSpan "tests/examples/RCategory.hs" 19 6 19 8 ]
343                                  }
344                                (TyApp
345                                   SrcSpanInfo
346                                     { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 18 9 19 8
347                                     , srcInfoPoints =
348                                         [ SrcSpan "tests/examples/RCategory.hs" 19 6 19 8 ]
349                                     }
350                                   (TyApp
351                                      SrcSpanInfo
352                                        { srcInfoSpan =
353                                            SrcSpan "tests/examples/RCategory.hs" 18 9 19 8
354                                        , srcInfoPoints =
355                                            [ SrcSpan "tests/examples/RCategory.hs" 19 6 19 8 ]
356                                        }
357                                      (TyApp
358                                         SrcSpanInfo
359                                           { srcInfoSpan =
360                                               SrcSpan "tests/examples/RCategory.hs" 18 9 19 8
361                                           , srcInfoPoints =
362                                               [ SrcSpan "tests/examples/RCategory.hs" 19 6 19 8 ]
363                                           }
364                                         (TyCon
365                                            SrcSpanInfo
366                                              { srcInfoSpan =
367                                                  SrcSpan "tests/examples/RCategory.hs" 18 9 19 8
368                                              , srcInfoPoints =
369                                                  [ SrcSpan "tests/examples/RCategory.hs" 19 6 19 8
370                                                  ]
371                                              }
372                                            (UnQual
373                                               SrcSpanInfo
374                                                 { srcInfoSpan =
375                                                     SrcSpan
376                                                       "tests/examples/RCategory.hs" 18 9 18 22
377                                                 , srcInfoPoints = []
378                                                 }
379                                               (Ident
380                                                  SrcSpanInfo
381                                                    { srcInfoSpan =
382                                                        SrcSpan
383                                                          "tests/examples/RCategory.hs" 18 9 18 22
384                                                    , srcInfoPoints = []
385                                                    }
386                                                  "RCategoryCtxt")))
387                                         (TyVar
388                                            SrcSpanInfo
389                                              { srcInfoSpan =
390                                                  SrcSpan "tests/examples/RCategory.hs" 18 23 18 26
391                                              , srcInfoPoints = []
392                                              }
393                                            (Ident
394                                               SrcSpanInfo
395                                                 { srcInfoSpan =
396                                                     SrcSpan
397                                                       "tests/examples/RCategory.hs" 18 23 18 26
398                                                 , srcInfoPoints = []
399                                                 }
400                                               "cat")))
401                                      (TyVar
402                                         SrcSpanInfo
403                                           { srcInfoSpan =
404                                               SrcSpan "tests/examples/RCategory.hs" 18 27 18 28
405                                           , srcInfoPoints = []
406                                           }
407                                         (Ident
408                                            SrcSpanInfo
409                                              { srcInfoSpan =
410                                                  SrcSpan "tests/examples/RCategory.hs" 18 27 18 28
411                                              , srcInfoPoints = []
412                                              }
413                                            "a")))
414                                   (TyVar
415                                      SrcSpanInfo
416                                        { srcInfoSpan =
417                                            SrcSpan "tests/examples/RCategory.hs" 18 29 18 30
418                                        , srcInfoPoints = []
419                                        }
420                                      (Ident
421                                         SrcSpanInfo
422                                           { srcInfoSpan =
423                                               SrcSpan "tests/examples/RCategory.hs" 18 29 18 30
424                                           , srcInfoPoints = []
425                                           }
426                                         "a"))))))
427                       (TyApp
428                          SrcSpanInfo
429                            { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 19 9 19 16
430                            , srcInfoPoints = []
431                            }
432                          (TyApp
433                             SrcSpanInfo
434                               { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 19 9 19 14
435                               , srcInfoPoints = []
436                               }
437                             (TyVar
438                                SrcSpanInfo
439                                  { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 19 9 19 12
440                                  , srcInfoPoints = []
441                                  }
442                                (Ident
443                                   SrcSpanInfo
444                                     { srcInfoSpan =
445                                         SrcSpan "tests/examples/RCategory.hs" 19 9 19 12
446                                     , srcInfoPoints = []
447                                     }
448                                   "cat"))
449                             (TyVar
450                                SrcSpanInfo
451                                  { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 19 13 19 14
452                                  , srcInfoPoints = []
453                                  }
454                                (Ident
455                                   SrcSpanInfo
456                                     { srcInfoSpan =
457                                         SrcSpan "tests/examples/RCategory.hs" 19 13 19 14
458                                     , srcInfoPoints = []
459                                     }
460                                   "a")))
461                          (TyVar
462                             SrcSpanInfo
463                               { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 19 15 19 16
464                               , srcInfoPoints = []
465                               }
466                             (Ident
467                                SrcSpanInfo
468                                  { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 19 15 19 16
469                                  , srcInfoPoints = []
470                                  }
471                                "a")))))
472             , ClsDecl
473                 SrcSpanInfo
474                   { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 22 3 23 39
475                   , srcInfoPoints =
476                       [ SrcSpan "tests/examples/RCategory.hs" 22 7 22 9 ]
477                   }
478                 (TypeSig
479                    SrcSpanInfo
480                      { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 22 3 23 39
481                      , srcInfoPoints =
482                          [ SrcSpan "tests/examples/RCategory.hs" 22 7 22 9 ]
483                      }
484                    [ Symbol
485                        SrcSpanInfo
486                          { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 22 3 22 6
487                          , srcInfoPoints =
488                              [ SrcSpan "tests/examples/RCategory.hs" 22 3 22 4
489                              , SrcSpan "tests/examples/RCategory.hs" 22 4 22 5
490                              , SrcSpan "tests/examples/RCategory.hs" 22 5 22 6
491                              ]
492                          }
493                        "."
494                    ]
495                    (TyForall
496                       SrcSpanInfo
497                         { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 22 10 23 39
498                         , srcInfoPoints = []
499                         }
500                       Nothing
501                       (Just
502                          (CxTuple
503                             SrcSpanInfo
504                               { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 22 10 23 9
505                               , srcInfoPoints =
506                                   [ SrcSpan "tests/examples/RCategory.hs" 22 10 22 11
507                                   , SrcSpan "tests/examples/RCategory.hs" 22 32 22 33
508                                   , SrcSpan "tests/examples/RCategory.hs" 22 55 22 56
509                                   , SrcSpan "tests/examples/RCategory.hs" 22 78 22 79
510                                   , SrcSpan "tests/examples/RCategory.hs" 23 7 23 9
511                                   ]
512                               }
513                             [ TypeA
514                                 SrcSpanInfo
515                                   { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 22 11 22 32
516                                   , srcInfoPoints = []
517                                   }
518                                 (TyApp
519                                    SrcSpanInfo
520                                      { srcInfoSpan =
521                                          SrcSpan "tests/examples/RCategory.hs" 22 11 22 32
522                                      , srcInfoPoints = []
523                                      }
524                                    (TyApp
525                                       SrcSpanInfo
526                                         { srcInfoSpan =
527                                             SrcSpan "tests/examples/RCategory.hs" 22 11 22 32
528                                         , srcInfoPoints = []
529                                         }
530                                       (TyApp
531                                          SrcSpanInfo
532                                            { srcInfoSpan =
533                                                SrcSpan "tests/examples/RCategory.hs" 22 11 22 32
534                                            , srcInfoPoints = []
535                                            }
536                                          (TyCon
537                                             SrcSpanInfo
538                                               { srcInfoSpan =
539                                                   SrcSpan "tests/examples/RCategory.hs" 22 11 22 32
540                                               , srcInfoPoints = []
541                                               }
542                                             (UnQual
543                                                SrcSpanInfo
544                                                  { srcInfoSpan =
545                                                      SrcSpan
546                                                        "tests/examples/RCategory.hs" 22 11 22 24
547                                                  , srcInfoPoints = []
548                                                  }
549                                                (Ident
550                                                   SrcSpanInfo
551                                                     { srcInfoSpan =
552                                                         SrcSpan
553                                                           "tests/examples/RCategory.hs" 22 11 22 24
554                                                     , srcInfoPoints = []
555                                                     }
556                                                   "RCategoryCtxt")))
557                                          (TyVar
558                                             SrcSpanInfo
559                                               { srcInfoSpan =
560                                                   SrcSpan "tests/examples/RCategory.hs" 22 25 22 28
561                                               , srcInfoPoints = []
562                                               }
563                                             (Ident
564                                                SrcSpanInfo
565                                                  { srcInfoSpan =
566                                                      SrcSpan
567                                                        "tests/examples/RCategory.hs" 22 25 22 28
568                                                  , srcInfoPoints = []
569                                                  }
570                                                "cat")))
571                                       (TyVar
572                                          SrcSpanInfo
573                                            { srcInfoSpan =
574                                                SrcSpan "tests/examples/RCategory.hs" 22 29 22 30
575                                            , srcInfoPoints = []
576                                            }
577                                          (Ident
578                                             SrcSpanInfo
579                                               { srcInfoSpan =
580                                                   SrcSpan "tests/examples/RCategory.hs" 22 29 22 30
581                                               , srcInfoPoints = []
582                                               }
583                                             "b")))
584                                    (TyVar
585                                       SrcSpanInfo
586                                         { srcInfoSpan =
587                                             SrcSpan "tests/examples/RCategory.hs" 22 31 22 32
588                                         , srcInfoPoints = []
589                                         }
590                                       (Ident
591                                          SrcSpanInfo
592                                            { srcInfoSpan =
593                                                SrcSpan "tests/examples/RCategory.hs" 22 31 22 32
594                                            , srcInfoPoints = []
595                                            }
596                                          "c")))
597                             , TypeA
598                                 SrcSpanInfo
599                                   { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 22 34 22 55
600                                   , srcInfoPoints = []
601                                   }
602                                 (TyApp
603                                    SrcSpanInfo
604                                      { srcInfoSpan =
605                                          SrcSpan "tests/examples/RCategory.hs" 22 34 22 55
606                                      , srcInfoPoints = []
607                                      }
608                                    (TyApp
609                                       SrcSpanInfo
610                                         { srcInfoSpan =
611                                             SrcSpan "tests/examples/RCategory.hs" 22 34 22 55
612                                         , srcInfoPoints = []
613                                         }
614                                       (TyApp
615                                          SrcSpanInfo
616                                            { srcInfoSpan =
617                                                SrcSpan "tests/examples/RCategory.hs" 22 34 22 55
618                                            , srcInfoPoints = []
619                                            }
620                                          (TyCon
621                                             SrcSpanInfo
622                                               { srcInfoSpan =
623                                                   SrcSpan "tests/examples/RCategory.hs" 22 34 22 55
624                                               , srcInfoPoints = []
625                                               }
626                                             (UnQual
627                                                SrcSpanInfo
628                                                  { srcInfoSpan =
629                                                      SrcSpan
630                                                        "tests/examples/RCategory.hs" 22 34 22 47
631                                                  , srcInfoPoints = []
632                                                  }
633                                                (Ident
634                                                   SrcSpanInfo
635                                                     { srcInfoSpan =
636                                                         SrcSpan
637                                                           "tests/examples/RCategory.hs" 22 34 22 47
638                                                     , srcInfoPoints = []
639                                                     }
640                                                   "RCategoryCtxt")))
641                                          (TyVar
642                                             SrcSpanInfo
643                                               { srcInfoSpan =
644                                                   SrcSpan "tests/examples/RCategory.hs" 22 48 22 51
645                                               , srcInfoPoints = []
646                                               }
647                                             (Ident
648                                                SrcSpanInfo
649                                                  { srcInfoSpan =
650                                                      SrcSpan
651                                                        "tests/examples/RCategory.hs" 22 48 22 51
652                                                  , srcInfoPoints = []
653                                                  }
654                                                "cat")))
655                                       (TyVar
656                                          SrcSpanInfo
657                                            { srcInfoSpan =
658                                                SrcSpan "tests/examples/RCategory.hs" 22 52 22 53
659                                            , srcInfoPoints = []
660                                            }
661                                          (Ident
662                                             SrcSpanInfo
663                                               { srcInfoSpan =
664                                                   SrcSpan "tests/examples/RCategory.hs" 22 52 22 53
665                                               , srcInfoPoints = []
666                                               }
667                                             "a")))
668                                    (TyVar
669                                       SrcSpanInfo
670                                         { srcInfoSpan =
671                                             SrcSpan "tests/examples/RCategory.hs" 22 54 22 55
672                                         , srcInfoPoints = []
673                                         }
674                                       (Ident
675                                          SrcSpanInfo
676                                            { srcInfoSpan =
677                                                SrcSpan "tests/examples/RCategory.hs" 22 54 22 55
678                                            , srcInfoPoints = []
679                                            }
680                                          "b")))
681                             , TypeA
682                                 SrcSpanInfo
683                                   { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 22 57 22 78
684                                   , srcInfoPoints = []
685                                   }
686                                 (TyApp
687                                    SrcSpanInfo
688                                      { srcInfoSpan =
689                                          SrcSpan "tests/examples/RCategory.hs" 22 57 22 78
690                                      , srcInfoPoints = []
691                                      }
692                                    (TyApp
693                                       SrcSpanInfo
694                                         { srcInfoSpan =
695                                             SrcSpan "tests/examples/RCategory.hs" 22 57 22 78
696                                         , srcInfoPoints = []
697                                         }
698                                       (TyApp
699                                          SrcSpanInfo
700                                            { srcInfoSpan =
701                                                SrcSpan "tests/examples/RCategory.hs" 22 57 22 78
702                                            , srcInfoPoints = []
703                                            }
704                                          (TyCon
705                                             SrcSpanInfo
706                                               { srcInfoSpan =
707                                                   SrcSpan "tests/examples/RCategory.hs" 22 57 22 78
708                                               , srcInfoPoints = []
709                                               }
710                                             (UnQual
711                                                SrcSpanInfo
712                                                  { srcInfoSpan =
713                                                      SrcSpan
714                                                        "tests/examples/RCategory.hs" 22 57 22 70
715                                                  , srcInfoPoints = []
716                                                  }
717                                                (Ident
718                                                   SrcSpanInfo
719                                                     { srcInfoSpan =
720                                                         SrcSpan
721                                                           "tests/examples/RCategory.hs" 22 57 22 70
722                                                     , srcInfoPoints = []
723                                                     }
724                                                   "RCategoryCtxt")))
725                                          (TyVar
726                                             SrcSpanInfo
727                                               { srcInfoSpan =
728                                                   SrcSpan "tests/examples/RCategory.hs" 22 71 22 74
729                                               , srcInfoPoints = []
730                                               }
731                                             (Ident
732                                                SrcSpanInfo
733                                                  { srcInfoSpan =
734                                                      SrcSpan
735                                                        "tests/examples/RCategory.hs" 22 71 22 74
736                                                  , srcInfoPoints = []
737                                                  }
738                                                "cat")))
739                                       (TyVar
740                                          SrcSpanInfo
741                                            { srcInfoSpan =
742                                                SrcSpan "tests/examples/RCategory.hs" 22 75 22 76
743                                            , srcInfoPoints = []
744                                            }
745                                          (Ident
746                                             SrcSpanInfo
747                                               { srcInfoSpan =
748                                                   SrcSpan "tests/examples/RCategory.hs" 22 75 22 76
749                                               , srcInfoPoints = []
750                                               }
751                                             "a")))
752                                    (TyVar
753                                       SrcSpanInfo
754                                         { srcInfoSpan =
755                                             SrcSpan "tests/examples/RCategory.hs" 22 77 22 78
756                                         , srcInfoPoints = []
757                                         }
758                                       (Ident
759                                          SrcSpanInfo
760                                            { srcInfoSpan =
761                                                SrcSpan "tests/examples/RCategory.hs" 22 77 22 78
762                                            , srcInfoPoints = []
763                                            }
764                                          "c")))
765                             ]))
766                       (TyFun
767                          SrcSpanInfo
768                            { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 23 10 23 39
769                            , srcInfoPoints =
770                                [ SrcSpan "tests/examples/RCategory.hs" 23 18 23 20 ]
771                            }
772                          (TyApp
773                             SrcSpanInfo
774                               { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 23 10 23 17
775                               , srcInfoPoints = []
776                               }
777                             (TyApp
778                                SrcSpanInfo
779                                  { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 23 10 23 15
780                                  , srcInfoPoints = []
781                                  }
782                                (TyVar
783                                   SrcSpanInfo
784                                     { srcInfoSpan =
785                                         SrcSpan "tests/examples/RCategory.hs" 23 10 23 13
786                                     , srcInfoPoints = []
787                                     }
788                                   (Ident
789                                      SrcSpanInfo
790                                        { srcInfoSpan =
791                                            SrcSpan "tests/examples/RCategory.hs" 23 10 23 13
792                                        , srcInfoPoints = []
793                                        }
794                                      "cat"))
795                                (TyVar
796                                   SrcSpanInfo
797                                     { srcInfoSpan =
798                                         SrcSpan "tests/examples/RCategory.hs" 23 14 23 15
799                                     , srcInfoPoints = []
800                                     }
801                                   (Ident
802                                      SrcSpanInfo
803                                        { srcInfoSpan =
804                                            SrcSpan "tests/examples/RCategory.hs" 23 14 23 15
805                                        , srcInfoPoints = []
806                                        }
807                                      "b")))
808                             (TyVar
809                                SrcSpanInfo
810                                  { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 23 16 23 17
811                                  , srcInfoPoints = []
812                                  }
813                                (Ident
814                                   SrcSpanInfo
815                                     { srcInfoSpan =
816                                         SrcSpan "tests/examples/RCategory.hs" 23 16 23 17
817                                     , srcInfoPoints = []
818                                     }
819                                   "c")))
820                          (TyFun
821                             SrcSpanInfo
822                               { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 23 21 23 39
823                               , srcInfoPoints =
824                                   [ SrcSpan "tests/examples/RCategory.hs" 23 29 23 31 ]
825                               }
826                             (TyApp
827                                SrcSpanInfo
828                                  { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 23 21 23 28
829                                  , srcInfoPoints = []
830                                  }
831                                (TyApp
832                                   SrcSpanInfo
833                                     { srcInfoSpan =
834                                         SrcSpan "tests/examples/RCategory.hs" 23 21 23 26
835                                     , srcInfoPoints = []
836                                     }
837                                   (TyVar
838                                      SrcSpanInfo
839                                        { srcInfoSpan =
840                                            SrcSpan "tests/examples/RCategory.hs" 23 21 23 24
841                                        , srcInfoPoints = []
842                                        }
843                                      (Ident
844                                         SrcSpanInfo
845                                           { srcInfoSpan =
846                                               SrcSpan "tests/examples/RCategory.hs" 23 21 23 24
847                                           , srcInfoPoints = []
848                                           }
849                                         "cat"))
850                                   (TyVar
851                                      SrcSpanInfo
852                                        { srcInfoSpan =
853                                            SrcSpan "tests/examples/RCategory.hs" 23 25 23 26
854                                        , srcInfoPoints = []
855                                        }
856                                      (Ident
857                                         SrcSpanInfo
858                                           { srcInfoSpan =
859                                               SrcSpan "tests/examples/RCategory.hs" 23 25 23 26
860                                           , srcInfoPoints = []
861                                           }
862                                         "a")))
863                                (TyVar
864                                   SrcSpanInfo
865                                     { srcInfoSpan =
866                                         SrcSpan "tests/examples/RCategory.hs" 23 27 23 28
867                                     , srcInfoPoints = []
868                                     }
869                                   (Ident
870                                      SrcSpanInfo
871                                        { srcInfoSpan =
872                                            SrcSpan "tests/examples/RCategory.hs" 23 27 23 28
873                                        , srcInfoPoints = []
874                                        }
875                                      "b")))
876                             (TyApp
877                                SrcSpanInfo
878                                  { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 23 32 23 39
879                                  , srcInfoPoints = []
880                                  }
881                                (TyApp
882                                   SrcSpanInfo
883                                     { srcInfoSpan =
884                                         SrcSpan "tests/examples/RCategory.hs" 23 32 23 37
885                                     , srcInfoPoints = []
886                                     }
887                                   (TyVar
888                                      SrcSpanInfo
889                                        { srcInfoSpan =
890                                            SrcSpan "tests/examples/RCategory.hs" 23 32 23 35
891                                        , srcInfoPoints = []
892                                        }
893                                      (Ident
894                                         SrcSpanInfo
895                                           { srcInfoSpan =
896                                               SrcSpan "tests/examples/RCategory.hs" 23 32 23 35
897                                           , srcInfoPoints = []
898                                           }
899                                         "cat"))
900                                   (TyVar
901                                      SrcSpanInfo
902                                        { srcInfoSpan =
903                                            SrcSpan "tests/examples/RCategory.hs" 23 36 23 37
904                                        , srcInfoPoints = []
905                                        }
906                                      (Ident
907                                         SrcSpanInfo
908                                           { srcInfoSpan =
909                                               SrcSpan "tests/examples/RCategory.hs" 23 36 23 37
910                                           , srcInfoPoints = []
911                                           }
912                                         "a")))
913                                (TyVar
914                                   SrcSpanInfo
915                                     { srcInfoSpan =
916                                         SrcSpan "tests/examples/RCategory.hs" 23 38 23 39
917                                     , srcInfoPoints = []
918                                     }
919                                   (Ident
920                                      SrcSpanInfo
921                                        { srcInfoSpan =
922                                            SrcSpan "tests/examples/RCategory.hs" 23 38 23 39
923                                        , srcInfoPoints = []
924                                        }
925                                      "c")))))))
926             ])
927      , RulePragmaDecl
928          SrcSpanInfo
929            { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 25 1 30 5
930            , srcInfoPoints =
931                [ SrcSpan "tests/examples/RCategory.hs" 25 1 25 10
932                , SrcSpan "tests/examples/RCategory.hs" 30 2 30 5
933                ]
934            }
935          [ Rule
936              SrcSpanInfo
937                { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 26 1 27 27
938                , srcInfoPoints =
939                    [ SrcSpan "tests/examples/RCategory.hs" 26 1 26 16
940                    , SrcSpan "tests/examples/RCategory.hs" 26 17 26 23
941                    , SrcSpan "tests/examples/RCategory.hs" 26 26 26 27
942                    , SrcSpan "tests/examples/RCategory.hs" 27 24 27 25
943                    ]
944                }
945              "identity/left"
946              Nothing
947              (Just
948                 [ RuleVar
949                     SrcSpanInfo
950                       { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 26 24 26 25
951                       , srcInfoPoints = []
952                       }
953                     (Ident
954                        SrcSpanInfo
955                          { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 26 24 26 25
956                          , srcInfoPoints = []
957                          }
958                        "p")
959                 ])
960              (InfixApp
961                 SrcSpanInfo
962                   { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 27 17 27 23
963                   , srcInfoPoints = []
964                   }
965                 (Var
966                    SrcSpanInfo
967                      { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 27 17 27 19
968                      , srcInfoPoints = []
969                      }
970                    (UnQual
971                       SrcSpanInfo
972                         { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 27 17 27 19
973                         , srcInfoPoints = []
974                         }
975                       (Ident
976                          SrcSpanInfo
977                            { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 27 17 27 19
978                            , srcInfoPoints = []
979                            }
980                          "id")))
981                 (QVarOp
982                    SrcSpanInfo
983                      { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 27 20 27 21
984                      , srcInfoPoints = []
985                      }
986                    (UnQual
987                       SrcSpanInfo
988                         { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 27 20 27 21
989                         , srcInfoPoints = []
990                         }
991                       (Symbol
992                          SrcSpanInfo
993                            { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 27 20 27 21
994                            , srcInfoPoints = []
995                            }
996                          ".")))
997                 (Var
998                    SrcSpanInfo
999                      { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 27 22 27 23
1000                      , srcInfoPoints = []
1001                      }
1002                    (UnQual
1003                       SrcSpanInfo
1004                         { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 27 22 27 23
1005                         , srcInfoPoints = []
1006                         }
1007                       (Ident
1008                          SrcSpanInfo
1009                            { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 27 22 27 23
1010                            , srcInfoPoints = []
1011                            }
1012                          "p"))))
1013              (Var
1014                 SrcSpanInfo
1015                   { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 27 26 27 27
1016                   , srcInfoPoints = []
1017                   }
1018                 (UnQual
1019                    SrcSpanInfo
1020                      { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 27 26 27 27
1021                      , srcInfoPoints = []
1022                      }
1023                    (Ident
1024                       SrcSpanInfo
1025                         { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 27 26 27 27
1026                         , srcInfoPoints = []
1027                         }
1028                       "p")))
1029          , Rule
1030              SrcSpanInfo
1031                { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 28 1 29 27
1032                , srcInfoPoints =
1033                    [ SrcSpan "tests/examples/RCategory.hs" 28 1 28 17
1034                    , SrcSpan "tests/examples/RCategory.hs" 28 25 28 31
1035                    , SrcSpan "tests/examples/RCategory.hs" 28 34 28 35
1036                    , SrcSpan "tests/examples/RCategory.hs" 29 24 29 25
1037                    ]
1038                }
1039              "identity/right"
1040              Nothing
1041              (Just
1042                 [ RuleVar
1043                     SrcSpanInfo
1044                       { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 28 32 28 33
1045                       , srcInfoPoints = []
1046                       }
1047                     (Ident
1048                        SrcSpanInfo
1049                          { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 28 32 28 33
1050                          , srcInfoPoints = []
1051                          }
1052                        "p")
1053                 ])
1054              (InfixApp
1055                 SrcSpanInfo
1056                   { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 29 17 29 23
1057                   , srcInfoPoints = []
1058                   }
1059                 (Var
1060                    SrcSpanInfo
1061                      { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 29 17 29 18
1062                      , srcInfoPoints = []
1063                      }
1064                    (UnQual
1065                       SrcSpanInfo
1066                         { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 29 17 29 18
1067                         , srcInfoPoints = []
1068                         }
1069                       (Ident
1070                          SrcSpanInfo
1071                            { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 29 17 29 18
1072                            , srcInfoPoints = []
1073                            }
1074                          "p")))
1075                 (QVarOp
1076                    SrcSpanInfo
1077                      { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 29 19 29 20
1078                      , srcInfoPoints = []
1079                      }
1080                    (UnQual
1081                       SrcSpanInfo
1082                         { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 29 19 29 20
1083                         , srcInfoPoints = []
1084                         }
1085                       (Symbol
1086                          SrcSpanInfo
1087                            { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 29 19 29 20
1088                            , srcInfoPoints = []
1089                            }
1090                          ".")))
1091                 (Var
1092                    SrcSpanInfo
1093                      { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 29 21 29 23
1094                      , srcInfoPoints = []
1095                      }
1096                    (UnQual
1097                       SrcSpanInfo
1098                         { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 29 21 29 23
1099                         , srcInfoPoints = []
1100                         }
1101                       (Ident
1102                          SrcSpanInfo
1103                            { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 29 21 29 23
1104                            , srcInfoPoints = []
1105                            }
1106                          "id"))))
1107              (Var
1108                 SrcSpanInfo
1109                   { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 29 26 29 27
1110                   , srcInfoPoints = []
1111                   }
1112                 (UnQual
1113                    SrcSpanInfo
1114                      { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 29 26 29 27
1115                      , srcInfoPoints = []
1116                      }
1117                    (Ident
1118                       SrcSpanInfo
1119                         { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 29 26 29 27
1120                         , srcInfoPoints = []
1121                         }
1122                       "p")))
1123          ]
1124      , InstDecl
1125          SrcSpanInfo
1126            { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 32 1 38 0
1127            , srcInfoPoints =
1128                [ SrcSpan "tests/examples/RCategory.hs" 32 1 32 9
1129                , SrcSpan "tests/examples/RCategory.hs" 32 25 32 30
1130                , SrcSpan "tests/examples/RCategory.hs" 33 3 33 3
1131                , SrcSpan "tests/examples/RCategory.hs" 34 3 34 3
1132                , SrcSpan "tests/examples/RCategory.hs" 35 3 35 3
1133                , SrcSpan "tests/examples/RCategory.hs" 38 1 38 0
1134                ]
1135            }
1136          Nothing
1137          (IRule
1138             SrcSpanInfo
1139               { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 32 10 32 24
1140               , srcInfoPoints = []
1141               }
1142             Nothing
1143             Nothing
1144             (IHApp
1145                SrcSpanInfo
1146                  { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 32 10 32 24
1147                  , srcInfoPoints = []
1148                  }
1149                (IHCon
1150                   SrcSpanInfo
1151                     { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 32 10 32 19
1152                     , srcInfoPoints = []
1153                     }
1154                   (UnQual
1155                      SrcSpanInfo
1156                        { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 32 10 32 19
1157                        , srcInfoPoints = []
1158                        }
1159                      (Ident
1160                         SrcSpanInfo
1161                           { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 32 10 32 19
1162                           , srcInfoPoints = []
1163                           }
1164                         "RCategory")))
1165                (TyCon
1166                   SrcSpanInfo
1167                     { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 32 20 32 24
1168                     , srcInfoPoints =
1169                         [ SrcSpan "tests/examples/RCategory.hs" 32 20 32 21
1170                         , SrcSpan "tests/examples/RCategory.hs" 32 21 32 23
1171                         , SrcSpan "tests/examples/RCategory.hs" 32 23 32 24
1172                         ]
1173                     }
1174                   (Special
1175                      SrcSpanInfo
1176                        { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 32 20 32 24
1177                        , srcInfoPoints =
1178                            [ SrcSpan "tests/examples/RCategory.hs" 32 20 32 21
1179                            , SrcSpan "tests/examples/RCategory.hs" 32 21 32 23
1180                            , SrcSpan "tests/examples/RCategory.hs" 32 23 32 24
1181                            ]
1182                        }
1183                      (FunCon
1184                         SrcSpanInfo
1185                           { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 32 20 32 24
1186                           , srcInfoPoints =
1187                               [ SrcSpan "tests/examples/RCategory.hs" 32 20 32 21
1188                               , SrcSpan "tests/examples/RCategory.hs" 32 21 32 23
1189                               , SrcSpan "tests/examples/RCategory.hs" 32 23 32 24
1190                               ]
1191                           })))))
1192          (Just
1193             [ InsType
1194                 SrcSpanInfo
1195                   { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 33 3 33 35
1196                   , srcInfoPoints =
1197                       [ SrcSpan "tests/examples/RCategory.hs" 33 3 33 7
1198                       , SrcSpan "tests/examples/RCategory.hs" 33 31 33 32
1199                       ]
1200                   }
1201                 (TyApp
1202                    SrcSpanInfo
1203                      { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 33 8 33 30
1204                      , srcInfoPoints = []
1205                      }
1206                    (TyApp
1207                       SrcSpanInfo
1208                         { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 33 8 33 28
1209                         , srcInfoPoints = []
1210                         }
1211                       (TyApp
1212                          SrcSpanInfo
1213                            { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 33 8 33 26
1214                            , srcInfoPoints = []
1215                            }
1216                          (TyCon
1217                             SrcSpanInfo
1218                               { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 33 8 33 21
1219                               , srcInfoPoints = []
1220                               }
1221                             (UnQual
1222                                SrcSpanInfo
1223                                  { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 33 8 33 21
1224                                  , srcInfoPoints = []
1225                                  }
1226                                (Ident
1227                                   SrcSpanInfo
1228                                     { srcInfoSpan =
1229                                         SrcSpan "tests/examples/RCategory.hs" 33 8 33 21
1230                                     , srcInfoPoints = []
1231                                     }
1232                                   "RCategoryCtxt")))
1233                          (TyCon
1234                             SrcSpanInfo
1235                               { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 33 22 33 26
1236                               , srcInfoPoints =
1237                                   [ SrcSpan "tests/examples/RCategory.hs" 33 22 33 23
1238                                   , SrcSpan "tests/examples/RCategory.hs" 33 23 33 25
1239                                   , SrcSpan "tests/examples/RCategory.hs" 33 25 33 26
1240                                   ]
1241                               }
1242                             (Special
1243                                SrcSpanInfo
1244                                  { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 33 22 33 26
1245                                  , srcInfoPoints =
1246                                      [ SrcSpan "tests/examples/RCategory.hs" 33 22 33 23
1247                                      , SrcSpan "tests/examples/RCategory.hs" 33 23 33 25
1248                                      , SrcSpan "tests/examples/RCategory.hs" 33 25 33 26
1249                                      ]
1250                                  }
1251                                (FunCon
1252                                   SrcSpanInfo
1253                                     { srcInfoSpan =
1254                                         SrcSpan "tests/examples/RCategory.hs" 33 22 33 26
1255                                     , srcInfoPoints =
1256                                         [ SrcSpan "tests/examples/RCategory.hs" 33 22 33 23
1257                                         , SrcSpan "tests/examples/RCategory.hs" 33 23 33 25
1258                                         , SrcSpan "tests/examples/RCategory.hs" 33 25 33 26
1259                                         ]
1260                                     }))))
1261                       (TyVar
1262                          SrcSpanInfo
1263                            { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 33 27 33 28
1264                            , srcInfoPoints = []
1265                            }
1266                          (Ident
1267                             SrcSpanInfo
1268                               { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 33 27 33 28
1269                               , srcInfoPoints = []
1270                               }
1271                             "a")))
1272                    (TyVar
1273                       SrcSpanInfo
1274                         { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 33 29 33 30
1275                         , srcInfoPoints = []
1276                         }
1277                       (Ident
1278                          SrcSpanInfo
1279                            { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 33 29 33 30
1280                            , srcInfoPoints = []
1281                            }
1282                          "a")))
1283                 (TyCon
1284                    SrcSpanInfo
1285                      { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 33 33 33 35
1286                      , srcInfoPoints =
1287                          [ SrcSpan "tests/examples/RCategory.hs" 33 33 33 34
1288                          , SrcSpan "tests/examples/RCategory.hs" 33 34 33 35
1289                          ]
1290                      }
1291                    (Special
1292                       SrcSpanInfo
1293                         { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 33 33 33 35
1294                         , srcInfoPoints =
1295                             [ SrcSpan "tests/examples/RCategory.hs" 33 33 33 34
1296                             , SrcSpan "tests/examples/RCategory.hs" 33 34 33 35
1297                             ]
1298                         }
1299                       (UnitCon
1300                          SrcSpanInfo
1301                            { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 33 33 33 35
1302                            , srcInfoPoints =
1303                                [ SrcSpan "tests/examples/RCategory.hs" 33 33 33 34
1304                                , SrcSpan "tests/examples/RCategory.hs" 33 34 33 35
1305                                ]
1306                            })))
1307             , InsDecl
1308                 SrcSpanInfo
1309                   { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 34 3 34 18
1310                   , srcInfoPoints = []
1311                   }
1312                 (PatBind
1313                    SrcSpanInfo
1314                      { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 34 3 34 18
1315                      , srcInfoPoints = []
1316                      }
1317                    (PVar
1318                       SrcSpanInfo
1319                         { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 34 3 34 5
1320                         , srcInfoPoints = []
1321                         }
1322                       (Ident
1323                          SrcSpanInfo
1324                            { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 34 3 34 5
1325                            , srcInfoPoints = []
1326                            }
1327                          "id"))
1328                    (UnGuardedRhs
1329                       SrcSpanInfo
1330                         { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 34 6 34 18
1331                         , srcInfoPoints =
1332                             [ SrcSpan "tests/examples/RCategory.hs" 34 6 34 7 ]
1333                         }
1334                       (Var
1335                          SrcSpanInfo
1336                            { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 34 8 34 18
1337                            , srcInfoPoints = []
1338                            }
1339                          (Qual
1340                             SrcSpanInfo
1341                               { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 34 8 34 18
1342                               , srcInfoPoints = []
1343                               }
1344                             (ModuleName
1345                                SrcSpanInfo
1346                                  { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 34 8 34 18
1347                                  , srcInfoPoints = []
1348                                  }
1349                                "Prelude")
1350                             (Ident
1351                                SrcSpanInfo
1352                                  { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 34 8 34 18
1353                                  , srcInfoPoints = []
1354                                  }
1355                                "id"))))
1356                    Nothing)
1357             , InsDecl
1358                 SrcSpanInfo
1359                   { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 35 3 35 20
1360                   , srcInfoPoints = []
1361                   }
1362                 (PatBind
1363                    SrcSpanInfo
1364                      { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 35 3 35 20
1365                      , srcInfoPoints = []
1366                      }
1367                    (PVar
1368                       SrcSpanInfo
1369                         { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 35 3 35 6
1370                         , srcInfoPoints =
1371                             [ SrcSpan "tests/examples/RCategory.hs" 35 3 35 4
1372                             , SrcSpan "tests/examples/RCategory.hs" 35 4 35 5
1373                             , SrcSpan "tests/examples/RCategory.hs" 35 5 35 6
1374                             ]
1375                         }
1376                       (Symbol
1377                          SrcSpanInfo
1378                            { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 35 4 35 5
1379                            , srcInfoPoints = []
1380                            }
1381                          "."))
1382                    (UnGuardedRhs
1383                       SrcSpanInfo
1384                         { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 35 7 35 20
1385                         , srcInfoPoints =
1386                             [ SrcSpan "tests/examples/RCategory.hs" 35 7 35 8 ]
1387                         }
1388                       (Var
1389                          SrcSpanInfo
1390                            { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 35 9 35 20
1391                            , srcInfoPoints =
1392                                [ SrcSpan "tests/examples/RCategory.hs" 35 9 35 10
1393                                , SrcSpan "tests/examples/RCategory.hs" 35 10 35 19
1394                                , SrcSpan "tests/examples/RCategory.hs" 35 19 35 20
1395                                ]
1396                            }
1397                          (Qual
1398                             SrcSpanInfo
1399                               { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 35 9 35 20
1400                               , srcInfoPoints =
1401                                   [ SrcSpan "tests/examples/RCategory.hs" 35 9 35 10
1402                                   , SrcSpan "tests/examples/RCategory.hs" 35 10 35 19
1403                                   , SrcSpan "tests/examples/RCategory.hs" 35 19 35 20
1404                                   ]
1405                               }
1406                             (ModuleName
1407                                SrcSpanInfo
1408                                  { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 35 10 35 19
1409                                  , srcInfoPoints = []
1410                                  }
1411                                "Prelude")
1412                             (Symbol
1413                                SrcSpanInfo
1414                                  { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 35 10 35 19
1415                                  , srcInfoPoints = []
1416                                  }
1417                                "."))))
1418                    Nothing)
1419             ])
1420      , TypeSig
1421          SrcSpanInfo
1422            { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 1 39 39
1423            , srcInfoPoints =
1424                [ SrcSpan "tests/examples/RCategory.hs" 38 7 38 9 ]
1425            }
1426          [ Symbol
1427              SrcSpanInfo
1428                { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 1 38 6
1429                , srcInfoPoints =
1430                    [ SrcSpan "tests/examples/RCategory.hs" 38 1 38 2
1431                    , SrcSpan "tests/examples/RCategory.hs" 38 2 38 5
1432                    , SrcSpan "tests/examples/RCategory.hs" 38 5 38 6
1433                    ]
1434                }
1435              "<<<"
1436          ]
1437          (TyForall
1438             SrcSpanInfo
1439               { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 10 39 39
1440               , srcInfoPoints = []
1441               }
1442             Nothing
1443             (Just
1444                (CxTuple
1445                   SrcSpanInfo
1446                     { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 10 39 9
1447                     , srcInfoPoints =
1448                         [ SrcSpan "tests/examples/RCategory.hs" 38 10 38 11
1449                         , SrcSpan "tests/examples/RCategory.hs" 38 32 38 33
1450                         , SrcSpan "tests/examples/RCategory.hs" 38 55 38 56
1451                         , SrcSpan "tests/examples/RCategory.hs" 38 78 38 79
1452                         , SrcSpan "tests/examples/RCategory.hs" 38 93 38 94
1453                         , SrcSpan "tests/examples/RCategory.hs" 39 7 39 9
1454                         ]
1455                     }
1456                   [ TypeA
1457                       SrcSpanInfo
1458                         { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 11 38 32
1459                         , srcInfoPoints = []
1460                         }
1461                       (TyApp
1462                          SrcSpanInfo
1463                            { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 11 38 32
1464                            , srcInfoPoints = []
1465                            }
1466                          (TyApp
1467                             SrcSpanInfo
1468                               { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 11 38 32
1469                               , srcInfoPoints = []
1470                               }
1471                             (TyApp
1472                                SrcSpanInfo
1473                                  { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 11 38 32
1474                                  , srcInfoPoints = []
1475                                  }
1476                                (TyCon
1477                                   SrcSpanInfo
1478                                     { srcInfoSpan =
1479                                         SrcSpan "tests/examples/RCategory.hs" 38 11 38 32
1480                                     , srcInfoPoints = []
1481                                     }
1482                                   (UnQual
1483                                      SrcSpanInfo
1484                                        { srcInfoSpan =
1485                                            SrcSpan "tests/examples/RCategory.hs" 38 11 38 24
1486                                        , srcInfoPoints = []
1487                                        }
1488                                      (Ident
1489                                         SrcSpanInfo
1490                                           { srcInfoSpan =
1491                                               SrcSpan "tests/examples/RCategory.hs" 38 11 38 24
1492                                           , srcInfoPoints = []
1493                                           }
1494                                         "RCategoryCtxt")))
1495                                (TyVar
1496                                   SrcSpanInfo
1497                                     { srcInfoSpan =
1498                                         SrcSpan "tests/examples/RCategory.hs" 38 25 38 28
1499                                     , srcInfoPoints = []
1500                                     }
1501                                   (Ident
1502                                      SrcSpanInfo
1503                                        { srcInfoSpan =
1504                                            SrcSpan "tests/examples/RCategory.hs" 38 25 38 28
1505                                        , srcInfoPoints = []
1506                                        }
1507                                      "cat")))
1508                             (TyVar
1509                                SrcSpanInfo
1510                                  { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 29 38 30
1511                                  , srcInfoPoints = []
1512                                  }
1513                                (Ident
1514                                   SrcSpanInfo
1515                                     { srcInfoSpan =
1516                                         SrcSpan "tests/examples/RCategory.hs" 38 29 38 30
1517                                     , srcInfoPoints = []
1518                                     }
1519                                   "a")))
1520                          (TyVar
1521                             SrcSpanInfo
1522                               { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 31 38 32
1523                               , srcInfoPoints = []
1524                               }
1525                             (Ident
1526                                SrcSpanInfo
1527                                  { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 31 38 32
1528                                  , srcInfoPoints = []
1529                                  }
1530                                "c")))
1531                   , TypeA
1532                       SrcSpanInfo
1533                         { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 34 38 55
1534                         , srcInfoPoints = []
1535                         }
1536                       (TyApp
1537                          SrcSpanInfo
1538                            { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 34 38 55
1539                            , srcInfoPoints = []
1540                            }
1541                          (TyApp
1542                             SrcSpanInfo
1543                               { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 34 38 55
1544                               , srcInfoPoints = []
1545                               }
1546                             (TyApp
1547                                SrcSpanInfo
1548                                  { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 34 38 55
1549                                  , srcInfoPoints = []
1550                                  }
1551                                (TyCon
1552                                   SrcSpanInfo
1553                                     { srcInfoSpan =
1554                                         SrcSpan "tests/examples/RCategory.hs" 38 34 38 55
1555                                     , srcInfoPoints = []
1556                                     }
1557                                   (UnQual
1558                                      SrcSpanInfo
1559                                        { srcInfoSpan =
1560                                            SrcSpan "tests/examples/RCategory.hs" 38 34 38 47
1561                                        , srcInfoPoints = []
1562                                        }
1563                                      (Ident
1564                                         SrcSpanInfo
1565                                           { srcInfoSpan =
1566                                               SrcSpan "tests/examples/RCategory.hs" 38 34 38 47
1567                                           , srcInfoPoints = []
1568                                           }
1569                                         "RCategoryCtxt")))
1570                                (TyVar
1571                                   SrcSpanInfo
1572                                     { srcInfoSpan =
1573                                         SrcSpan "tests/examples/RCategory.hs" 38 48 38 51
1574                                     , srcInfoPoints = []
1575                                     }
1576                                   (Ident
1577                                      SrcSpanInfo
1578                                        { srcInfoSpan =
1579                                            SrcSpan "tests/examples/RCategory.hs" 38 48 38 51
1580                                        , srcInfoPoints = []
1581                                        }
1582                                      "cat")))
1583                             (TyVar
1584                                SrcSpanInfo
1585                                  { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 52 38 53
1586                                  , srcInfoPoints = []
1587                                  }
1588                                (Ident
1589                                   SrcSpanInfo
1590                                     { srcInfoSpan =
1591                                         SrcSpan "tests/examples/RCategory.hs" 38 52 38 53
1592                                     , srcInfoPoints = []
1593                                     }
1594                                   "a")))
1595                          (TyVar
1596                             SrcSpanInfo
1597                               { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 54 38 55
1598                               , srcInfoPoints = []
1599                               }
1600                             (Ident
1601                                SrcSpanInfo
1602                                  { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 54 38 55
1603                                  , srcInfoPoints = []
1604                                  }
1605                                "b")))
1606                   , TypeA
1607                       SrcSpanInfo
1608                         { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 57 38 78
1609                         , srcInfoPoints = []
1610                         }
1611                       (TyApp
1612                          SrcSpanInfo
1613                            { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 57 38 78
1614                            , srcInfoPoints = []
1615                            }
1616                          (TyApp
1617                             SrcSpanInfo
1618                               { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 57 38 78
1619                               , srcInfoPoints = []
1620                               }
1621                             (TyApp
1622                                SrcSpanInfo
1623                                  { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 57 38 78
1624                                  , srcInfoPoints = []
1625                                  }
1626                                (TyCon
1627                                   SrcSpanInfo
1628                                     { srcInfoSpan =
1629                                         SrcSpan "tests/examples/RCategory.hs" 38 57 38 78
1630                                     , srcInfoPoints = []
1631                                     }
1632                                   (UnQual
1633                                      SrcSpanInfo
1634                                        { srcInfoSpan =
1635                                            SrcSpan "tests/examples/RCategory.hs" 38 57 38 70
1636                                        , srcInfoPoints = []
1637                                        }
1638                                      (Ident
1639                                         SrcSpanInfo
1640                                           { srcInfoSpan =
1641                                               SrcSpan "tests/examples/RCategory.hs" 38 57 38 70
1642                                           , srcInfoPoints = []
1643                                           }
1644                                         "RCategoryCtxt")))
1645                                (TyVar
1646                                   SrcSpanInfo
1647                                     { srcInfoSpan =
1648                                         SrcSpan "tests/examples/RCategory.hs" 38 71 38 74
1649                                     , srcInfoPoints = []
1650                                     }
1651                                   (Ident
1652                                      SrcSpanInfo
1653                                        { srcInfoSpan =
1654                                            SrcSpan "tests/examples/RCategory.hs" 38 71 38 74
1655                                        , srcInfoPoints = []
1656                                        }
1657                                      "cat")))
1658                             (TyVar
1659                                SrcSpanInfo
1660                                  { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 75 38 76
1661                                  , srcInfoPoints = []
1662                                  }
1663                                (Ident
1664                                   SrcSpanInfo
1665                                     { srcInfoSpan =
1666                                         SrcSpan "tests/examples/RCategory.hs" 38 75 38 76
1667                                     , srcInfoPoints = []
1668                                     }
1669                                   "b")))
1670                          (TyVar
1671                             SrcSpanInfo
1672                               { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 77 38 78
1673                               , srcInfoPoints = []
1674                               }
1675                             (Ident
1676                                SrcSpanInfo
1677                                  { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 77 38 78
1678                                  , srcInfoPoints = []
1679                                  }
1680                                "c")))
1681                   , TypeA
1682                       SrcSpanInfo
1683                         { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 80 38 93
1684                         , srcInfoPoints = []
1685                         }
1686                       (TyApp
1687                          SrcSpanInfo
1688                            { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 80 38 93
1689                            , srcInfoPoints = []
1690                            }
1691                          (TyCon
1692                             SrcSpanInfo
1693                               { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 80 38 93
1694                               , srcInfoPoints = []
1695                               }
1696                             (UnQual
1697                                SrcSpanInfo
1698                                  { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 80 38 89
1699                                  , srcInfoPoints = []
1700                                  }
1701                                (Ident
1702                                   SrcSpanInfo
1703                                     { srcInfoSpan =
1704                                         SrcSpan "tests/examples/RCategory.hs" 38 80 38 89
1705                                     , srcInfoPoints = []
1706                                     }
1707                                   "RCategory")))
1708                          (TyVar
1709                             SrcSpanInfo
1710                               { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 90 38 93
1711                               , srcInfoPoints = []
1712                               }
1713                             (Ident
1714                                SrcSpanInfo
1715                                  { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 90 38 93
1716                                  , srcInfoPoints = []
1717                                  }
1718                                "cat")))
1719                   ]))
1720             (TyFun
1721                SrcSpanInfo
1722                  { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 39 10 39 39
1723                  , srcInfoPoints =
1724                      [ SrcSpan "tests/examples/RCategory.hs" 39 18 39 20 ]
1725                  }
1726                (TyApp
1727                   SrcSpanInfo
1728                     { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 39 10 39 17
1729                     , srcInfoPoints = []
1730                     }
1731                   (TyApp
1732                      SrcSpanInfo
1733                        { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 39 10 39 15
1734                        , srcInfoPoints = []
1735                        }
1736                      (TyVar
1737                         SrcSpanInfo
1738                           { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 39 10 39 13
1739                           , srcInfoPoints = []
1740                           }
1741                         (Ident
1742                            SrcSpanInfo
1743                              { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 39 10 39 13
1744                              , srcInfoPoints = []
1745                              }
1746                            "cat"))
1747                      (TyVar
1748                         SrcSpanInfo
1749                           { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 39 14 39 15
1750                           , srcInfoPoints = []
1751                           }
1752                         (Ident
1753                            SrcSpanInfo
1754                              { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 39 14 39 15
1755                              , srcInfoPoints = []
1756                              }
1757                            "b")))
1758                   (TyVar
1759                      SrcSpanInfo
1760                        { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 39 16 39 17
1761                        , srcInfoPoints = []
1762                        }
1763                      (Ident
1764                         SrcSpanInfo
1765                           { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 39 16 39 17
1766                           , srcInfoPoints = []
1767                           }
1768                         "c")))
1769                (TyFun
1770                   SrcSpanInfo
1771                     { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 39 21 39 39
1772                     , srcInfoPoints =
1773                         [ SrcSpan "tests/examples/RCategory.hs" 39 29 39 31 ]
1774                     }
1775                   (TyApp
1776                      SrcSpanInfo
1777                        { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 39 21 39 28
1778                        , srcInfoPoints = []
1779                        }
1780                      (TyApp
1781                         SrcSpanInfo
1782                           { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 39 21 39 26
1783                           , srcInfoPoints = []
1784                           }
1785                         (TyVar
1786                            SrcSpanInfo
1787                              { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 39 21 39 24
1788                              , srcInfoPoints = []
1789                              }
1790                            (Ident
1791                               SrcSpanInfo
1792                                 { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 39 21 39 24
1793                                 , srcInfoPoints = []
1794                                 }
1795                               "cat"))
1796                         (TyVar
1797                            SrcSpanInfo
1798                              { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 39 25 39 26
1799                              , srcInfoPoints = []
1800                              }
1801                            (Ident
1802                               SrcSpanInfo
1803                                 { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 39 25 39 26
1804                                 , srcInfoPoints = []
1805                                 }
1806                               "a")))
1807                      (TyVar
1808                         SrcSpanInfo
1809                           { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 39 27 39 28
1810                           , srcInfoPoints = []
1811                           }
1812                         (Ident
1813                            SrcSpanInfo
1814                              { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 39 27 39 28
1815                              , srcInfoPoints = []
1816                              }
1817                            "b")))
1818                   (TyApp
1819                      SrcSpanInfo
1820                        { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 39 32 39 39
1821                        , srcInfoPoints = []
1822                        }
1823                      (TyApp
1824                         SrcSpanInfo
1825                           { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 39 32 39 37
1826                           , srcInfoPoints = []
1827                           }
1828                         (TyVar
1829                            SrcSpanInfo
1830                              { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 39 32 39 35
1831                              , srcInfoPoints = []
1832                              }
1833                            (Ident
1834                               SrcSpanInfo
1835                                 { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 39 32 39 35
1836                                 , srcInfoPoints = []
1837                                 }
1838                               "cat"))
1839                         (TyVar
1840                            SrcSpanInfo
1841                              { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 39 36 39 37
1842                              , srcInfoPoints = []
1843                              }
1844                            (Ident
1845                               SrcSpanInfo
1846                                 { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 39 36 39 37
1847                                 , srcInfoPoints = []
1848                                 }
1849                               "a")))
1850                      (TyVar
1851                         SrcSpanInfo
1852                           { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 39 38 39 39
1853                           , srcInfoPoints = []
1854                           }
1855                         (Ident
1856                            SrcSpanInfo
1857                              { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 39 38 39 39
1858                              , srcInfoPoints = []
1859                              }
1860                            "c"))))))
1861      , PatBind
1862          SrcSpanInfo
1863            { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 40 1 40 12
1864            , srcInfoPoints = []
1865            }
1866          (PVar
1867             SrcSpanInfo
1868               { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 40 1 40 6
1869               , srcInfoPoints =
1870                   [ SrcSpan "tests/examples/RCategory.hs" 40 1 40 2
1871                   , SrcSpan "tests/examples/RCategory.hs" 40 2 40 5
1872                   , SrcSpan "tests/examples/RCategory.hs" 40 5 40 6
1873                   ]
1874               }
1875             (Symbol
1876                SrcSpanInfo
1877                  { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 40 2 40 5
1878                  , srcInfoPoints = []
1879                  }
1880                "<<<"))
1881          (UnGuardedRhs
1882             SrcSpanInfo
1883               { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 40 7 40 12
1884               , srcInfoPoints =
1885                   [ SrcSpan "tests/examples/RCategory.hs" 40 7 40 8 ]
1886               }
1887             (Var
1888                SrcSpanInfo
1889                  { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 40 9 40 12
1890                  , srcInfoPoints =
1891                      [ SrcSpan "tests/examples/RCategory.hs" 40 9 40 10
1892                      , SrcSpan "tests/examples/RCategory.hs" 40 10 40 11
1893                      , SrcSpan "tests/examples/RCategory.hs" 40 11 40 12
1894                      ]
1895                  }
1896                (UnQual
1897                   SrcSpanInfo
1898                     { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 40 9 40 12
1899                     , srcInfoPoints =
1900                         [ SrcSpan "tests/examples/RCategory.hs" 40 9 40 10
1901                         , SrcSpan "tests/examples/RCategory.hs" 40 10 40 11
1902                         , SrcSpan "tests/examples/RCategory.hs" 40 11 40 12
1903                         ]
1904                     }
1905                   (Symbol
1906                      SrcSpanInfo
1907                        { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 40 10 40 11
1908                        , srcInfoPoints = []
1909                        }
1910                      "."))))
1911          Nothing
1912      , TypeSig
1913          SrcSpanInfo
1914            { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 1 44 39
1915            , srcInfoPoints =
1916                [ SrcSpan "tests/examples/RCategory.hs" 43 7 43 9 ]
1917            }
1918          [ Symbol
1919              SrcSpanInfo
1920                { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 1 43 6
1921                , srcInfoPoints =
1922                    [ SrcSpan "tests/examples/RCategory.hs" 43 1 43 2
1923                    , SrcSpan "tests/examples/RCategory.hs" 43 2 43 5
1924                    , SrcSpan "tests/examples/RCategory.hs" 43 5 43 6
1925                    ]
1926                }
1927              ">>>"
1928          ]
1929          (TyForall
1930             SrcSpanInfo
1931               { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 10 44 39
1932               , srcInfoPoints = []
1933               }
1934             Nothing
1935             (Just
1936                (CxTuple
1937                   SrcSpanInfo
1938                     { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 10 44 9
1939                     , srcInfoPoints =
1940                         [ SrcSpan "tests/examples/RCategory.hs" 43 10 43 11
1941                         , SrcSpan "tests/examples/RCategory.hs" 43 32 43 33
1942                         , SrcSpan "tests/examples/RCategory.hs" 43 55 43 56
1943                         , SrcSpan "tests/examples/RCategory.hs" 43 78 43 79
1944                         , SrcSpan "tests/examples/RCategory.hs" 43 93 43 94
1945                         , SrcSpan "tests/examples/RCategory.hs" 44 7 44 9
1946                         ]
1947                     }
1948                   [ TypeA
1949                       SrcSpanInfo
1950                         { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 11 43 32
1951                         , srcInfoPoints = []
1952                         }
1953                       (TyApp
1954                          SrcSpanInfo
1955                            { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 11 43 32
1956                            , srcInfoPoints = []
1957                            }
1958                          (TyApp
1959                             SrcSpanInfo
1960                               { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 11 43 32
1961                               , srcInfoPoints = []
1962                               }
1963                             (TyApp
1964                                SrcSpanInfo
1965                                  { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 11 43 32
1966                                  , srcInfoPoints = []
1967                                  }
1968                                (TyCon
1969                                   SrcSpanInfo
1970                                     { srcInfoSpan =
1971                                         SrcSpan "tests/examples/RCategory.hs" 43 11 43 32
1972                                     , srcInfoPoints = []
1973                                     }
1974                                   (UnQual
1975                                      SrcSpanInfo
1976                                        { srcInfoSpan =
1977                                            SrcSpan "tests/examples/RCategory.hs" 43 11 43 24
1978                                        , srcInfoPoints = []
1979                                        }
1980                                      (Ident
1981                                         SrcSpanInfo
1982                                           { srcInfoSpan =
1983                                               SrcSpan "tests/examples/RCategory.hs" 43 11 43 24
1984                                           , srcInfoPoints = []
1985                                           }
1986                                         "RCategoryCtxt")))
1987                                (TyVar
1988                                   SrcSpanInfo
1989                                     { srcInfoSpan =
1990                                         SrcSpan "tests/examples/RCategory.hs" 43 25 43 28
1991                                     , srcInfoPoints = []
1992                                     }
1993                                   (Ident
1994                                      SrcSpanInfo
1995                                        { srcInfoSpan =
1996                                            SrcSpan "tests/examples/RCategory.hs" 43 25 43 28
1997                                        , srcInfoPoints = []
1998                                        }
1999                                      "cat")))
2000                             (TyVar
2001                                SrcSpanInfo
2002                                  { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 29 43 30
2003                                  , srcInfoPoints = []
2004                                  }
2005                                (Ident
2006                                   SrcSpanInfo
2007                                     { srcInfoSpan =
2008                                         SrcSpan "tests/examples/RCategory.hs" 43 29 43 30
2009                                     , srcInfoPoints = []
2010                                     }
2011                                   "a")))
2012                          (TyVar
2013                             SrcSpanInfo
2014                               { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 31 43 32
2015                               , srcInfoPoints = []
2016                               }
2017                             (Ident
2018                                SrcSpanInfo
2019                                  { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 31 43 32
2020                                  , srcInfoPoints = []
2021                                  }
2022                                "c")))
2023                   , TypeA
2024                       SrcSpanInfo
2025                         { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 34 43 55
2026                         , srcInfoPoints = []
2027                         }
2028                       (TyApp
2029                          SrcSpanInfo
2030                            { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 34 43 55
2031                            , srcInfoPoints = []
2032                            }
2033                          (TyApp
2034                             SrcSpanInfo
2035                               { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 34 43 55
2036                               , srcInfoPoints = []
2037                               }
2038                             (TyApp
2039                                SrcSpanInfo
2040                                  { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 34 43 55
2041                                  , srcInfoPoints = []
2042                                  }
2043                                (TyCon
2044                                   SrcSpanInfo
2045                                     { srcInfoSpan =
2046                                         SrcSpan "tests/examples/RCategory.hs" 43 34 43 55
2047                                     , srcInfoPoints = []
2048                                     }
2049                                   (UnQual
2050                                      SrcSpanInfo
2051                                        { srcInfoSpan =
2052                                            SrcSpan "tests/examples/RCategory.hs" 43 34 43 47
2053                                        , srcInfoPoints = []
2054                                        }
2055                                      (Ident
2056                                         SrcSpanInfo
2057                                           { srcInfoSpan =
2058                                               SrcSpan "tests/examples/RCategory.hs" 43 34 43 47
2059                                           , srcInfoPoints = []
2060                                           }
2061                                         "RCategoryCtxt")))
2062                                (TyVar
2063                                   SrcSpanInfo
2064                                     { srcInfoSpan =
2065                                         SrcSpan "tests/examples/RCategory.hs" 43 48 43 51
2066                                     , srcInfoPoints = []
2067                                     }
2068                                   (Ident
2069                                      SrcSpanInfo
2070                                        { srcInfoSpan =
2071                                            SrcSpan "tests/examples/RCategory.hs" 43 48 43 51
2072                                        , srcInfoPoints = []
2073                                        }
2074                                      "cat")))
2075                             (TyVar
2076                                SrcSpanInfo
2077                                  { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 52 43 53
2078                                  , srcInfoPoints = []
2079                                  }
2080                                (Ident
2081                                   SrcSpanInfo
2082                                     { srcInfoSpan =
2083                                         SrcSpan "tests/examples/RCategory.hs" 43 52 43 53
2084                                     , srcInfoPoints = []
2085                                     }
2086                                   "a")))
2087                          (TyVar
2088                             SrcSpanInfo
2089                               { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 54 43 55
2090                               , srcInfoPoints = []
2091                               }
2092                             (Ident
2093                                SrcSpanInfo
2094                                  { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 54 43 55
2095                                  , srcInfoPoints = []
2096                                  }
2097                                "b")))
2098                   , TypeA
2099                       SrcSpanInfo
2100                         { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 57 43 78
2101                         , srcInfoPoints = []
2102                         }
2103                       (TyApp
2104                          SrcSpanInfo
2105                            { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 57 43 78
2106                            , srcInfoPoints = []
2107                            }
2108                          (TyApp
2109                             SrcSpanInfo
2110                               { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 57 43 78
2111                               , srcInfoPoints = []
2112                               }
2113                             (TyApp
2114                                SrcSpanInfo
2115                                  { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 57 43 78
2116                                  , srcInfoPoints = []
2117                                  }
2118                                (TyCon
2119                                   SrcSpanInfo
2120                                     { srcInfoSpan =
2121                                         SrcSpan "tests/examples/RCategory.hs" 43 57 43 78
2122                                     , srcInfoPoints = []
2123                                     }
2124                                   (UnQual
2125                                      SrcSpanInfo
2126                                        { srcInfoSpan =
2127                                            SrcSpan "tests/examples/RCategory.hs" 43 57 43 70
2128                                        , srcInfoPoints = []
2129                                        }
2130                                      (Ident
2131                                         SrcSpanInfo
2132                                           { srcInfoSpan =
2133                                               SrcSpan "tests/examples/RCategory.hs" 43 57 43 70
2134                                           , srcInfoPoints = []
2135                                           }
2136                                         "RCategoryCtxt")))
2137                                (TyVar
2138                                   SrcSpanInfo
2139                                     { srcInfoSpan =
2140                                         SrcSpan "tests/examples/RCategory.hs" 43 71 43 74
2141                                     , srcInfoPoints = []
2142                                     }
2143                                   (Ident
2144                                      SrcSpanInfo
2145                                        { srcInfoSpan =
2146                                            SrcSpan "tests/examples/RCategory.hs" 43 71 43 74
2147                                        , srcInfoPoints = []
2148                                        }
2149                                      "cat")))
2150                             (TyVar
2151                                SrcSpanInfo
2152                                  { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 75 43 76
2153                                  , srcInfoPoints = []
2154                                  }
2155                                (Ident
2156                                   SrcSpanInfo
2157                                     { srcInfoSpan =
2158                                         SrcSpan "tests/examples/RCategory.hs" 43 75 43 76
2159                                     , srcInfoPoints = []
2160                                     }
2161                                   "b")))
2162                          (TyVar
2163                             SrcSpanInfo
2164                               { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 77 43 78
2165                               , srcInfoPoints = []
2166                               }
2167                             (Ident
2168                                SrcSpanInfo
2169                                  { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 77 43 78
2170                                  , srcInfoPoints = []
2171                                  }
2172                                "c")))
2173                   , TypeA
2174                       SrcSpanInfo
2175                         { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 80 43 93
2176                         , srcInfoPoints = []
2177                         }
2178                       (TyApp
2179                          SrcSpanInfo
2180                            { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 80 43 93
2181                            , srcInfoPoints = []
2182                            }
2183                          (TyCon
2184                             SrcSpanInfo
2185                               { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 80 43 93
2186                               , srcInfoPoints = []
2187                               }
2188                             (UnQual
2189                                SrcSpanInfo
2190                                  { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 80 43 89
2191                                  , srcInfoPoints = []
2192                                  }
2193                                (Ident
2194                                   SrcSpanInfo
2195                                     { srcInfoSpan =
2196                                         SrcSpan "tests/examples/RCategory.hs" 43 80 43 89
2197                                     , srcInfoPoints = []
2198                                     }
2199                                   "RCategory")))
2200                          (TyVar
2201                             SrcSpanInfo
2202                               { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 90 43 93
2203                               , srcInfoPoints = []
2204                               }
2205                             (Ident
2206                                SrcSpanInfo
2207                                  { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 90 43 93
2208                                  , srcInfoPoints = []
2209                                  }
2210                                "cat")))
2211                   ]))
2212             (TyFun
2213                SrcSpanInfo
2214                  { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 44 10 44 39
2215                  , srcInfoPoints =
2216                      [ SrcSpan "tests/examples/RCategory.hs" 44 18 44 20 ]
2217                  }
2218                (TyApp
2219                   SrcSpanInfo
2220                     { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 44 10 44 17
2221                     , srcInfoPoints = []
2222                     }
2223                   (TyApp
2224                      SrcSpanInfo
2225                        { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 44 10 44 15
2226                        , srcInfoPoints = []
2227                        }
2228                      (TyVar
2229                         SrcSpanInfo
2230                           { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 44 10 44 13
2231                           , srcInfoPoints = []
2232                           }
2233                         (Ident
2234                            SrcSpanInfo
2235                              { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 44 10 44 13
2236                              , srcInfoPoints = []
2237                              }
2238                            "cat"))
2239                      (TyVar
2240                         SrcSpanInfo
2241                           { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 44 14 44 15
2242                           , srcInfoPoints = []
2243                           }
2244                         (Ident
2245                            SrcSpanInfo
2246                              { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 44 14 44 15
2247                              , srcInfoPoints = []
2248                              }
2249                            "a")))
2250                   (TyVar
2251                      SrcSpanInfo
2252                        { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 44 16 44 17
2253                        , srcInfoPoints = []
2254                        }
2255                      (Ident
2256                         SrcSpanInfo
2257                           { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 44 16 44 17
2258                           , srcInfoPoints = []
2259                           }
2260                         "b")))
2261                (TyFun
2262                   SrcSpanInfo
2263                     { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 44 21 44 39
2264                     , srcInfoPoints =
2265                         [ SrcSpan "tests/examples/RCategory.hs" 44 29 44 31 ]
2266                     }
2267                   (TyApp
2268                      SrcSpanInfo
2269                        { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 44 21 44 28
2270                        , srcInfoPoints = []
2271                        }
2272                      (TyApp
2273                         SrcSpanInfo
2274                           { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 44 21 44 26
2275                           , srcInfoPoints = []
2276                           }
2277                         (TyVar
2278                            SrcSpanInfo
2279                              { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 44 21 44 24
2280                              , srcInfoPoints = []
2281                              }
2282                            (Ident
2283                               SrcSpanInfo
2284                                 { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 44 21 44 24
2285                                 , srcInfoPoints = []
2286                                 }
2287                               "cat"))
2288                         (TyVar
2289                            SrcSpanInfo
2290                              { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 44 25 44 26
2291                              , srcInfoPoints = []
2292                              }
2293                            (Ident
2294                               SrcSpanInfo
2295                                 { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 44 25 44 26
2296                                 , srcInfoPoints = []
2297                                 }
2298                               "b")))
2299                      (TyVar
2300                         SrcSpanInfo
2301                           { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 44 27 44 28
2302                           , srcInfoPoints = []
2303                           }
2304                         (Ident
2305                            SrcSpanInfo
2306                              { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 44 27 44 28
2307                              , srcInfoPoints = []
2308                              }
2309                            "c")))
2310                   (TyApp
2311                      SrcSpanInfo
2312                        { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 44 32 44 39
2313                        , srcInfoPoints = []
2314                        }
2315                      (TyApp
2316                         SrcSpanInfo
2317                           { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 44 32 44 37
2318                           , srcInfoPoints = []
2319                           }
2320                         (TyVar
2321                            SrcSpanInfo
2322                              { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 44 32 44 35
2323                              , srcInfoPoints = []
2324                              }
2325                            (Ident
2326                               SrcSpanInfo
2327                                 { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 44 32 44 35
2328                                 , srcInfoPoints = []
2329                                 }
2330                               "cat"))
2331                         (TyVar
2332                            SrcSpanInfo
2333                              { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 44 36 44 37
2334                              , srcInfoPoints = []
2335                              }
2336                            (Ident
2337                               SrcSpanInfo
2338                                 { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 44 36 44 37
2339                                 , srcInfoPoints = []
2340                                 }
2341                               "a")))
2342                      (TyVar
2343                         SrcSpanInfo
2344                           { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 44 38 44 39
2345                           , srcInfoPoints = []
2346                           }
2347                         (Ident
2348                            SrcSpanInfo
2349                              { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 44 38 44 39
2350                              , srcInfoPoints = []
2351                              }
2352                            "c"))))))
2353      , FunBind
2354          SrcSpanInfo
2355            { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 45 1 45 16
2356            , srcInfoPoints = []
2357            }
2358          [ InfixMatch
2359              SrcSpanInfo
2360                { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 45 1 45 16
2361                , srcInfoPoints = []
2362                }
2363              (PVar
2364                 SrcSpanInfo
2365                   { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 45 1 45 2
2366                   , srcInfoPoints = []
2367                   }
2368                 (Ident
2369                    SrcSpanInfo
2370                      { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 45 1 45 2
2371                      , srcInfoPoints = []
2372                      }
2373                    "f"))
2374              (Symbol
2375                 SrcSpanInfo
2376                   { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 45 3 45 6
2377                   , srcInfoPoints = []
2378                   }
2379                 ">>>")
2380              [ PVar
2381                  SrcSpanInfo
2382                    { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 45 7 45 8
2383                    , srcInfoPoints = []
2384                    }
2385                  (Ident
2386                     SrcSpanInfo
2387                       { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 45 7 45 8
2388                       , srcInfoPoints = []
2389                       }
2390                     "g")
2391              ]
2392              (UnGuardedRhs
2393                 SrcSpanInfo
2394                   { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 45 9 45 16
2395                   , srcInfoPoints =
2396                       [ SrcSpan "tests/examples/RCategory.hs" 45 9 45 10 ]
2397                   }
2398                 (InfixApp
2399                    SrcSpanInfo
2400                      { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 45 11 45 16
2401                      , srcInfoPoints = []
2402                      }
2403                    (Var
2404                       SrcSpanInfo
2405                         { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 45 11 45 12
2406                         , srcInfoPoints = []
2407                         }
2408                       (UnQual
2409                          SrcSpanInfo
2410                            { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 45 11 45 12
2411                            , srcInfoPoints = []
2412                            }
2413                          (Ident
2414                             SrcSpanInfo
2415                               { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 45 11 45 12
2416                               , srcInfoPoints = []
2417                               }
2418                             "g")))
2419                    (QVarOp
2420                       SrcSpanInfo
2421                         { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 45 13 45 14
2422                         , srcInfoPoints = []
2423                         }
2424                       (UnQual
2425                          SrcSpanInfo
2426                            { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 45 13 45 14
2427                            , srcInfoPoints = []
2428                            }
2429                          (Symbol
2430                             SrcSpanInfo
2431                               { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 45 13 45 14
2432                               , srcInfoPoints = []
2433                               }
2434                             ".")))
2435                    (Var
2436                       SrcSpanInfo
2437                         { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 45 15 45 16
2438                         , srcInfoPoints = []
2439                         }
2440                       (UnQual
2441                          SrcSpanInfo
2442                            { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 45 15 45 16
2443                            , srcInfoPoints = []
2444                            }
2445                          (Ident
2446                             SrcSpanInfo
2447                               { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 45 15 45 16
2448                               , srcInfoPoints = []
2449                               }
2450                             "f")))))
2451              Nothing
2452          ]
2453      ]
2454  , [ Comment
2455        False
2456        (SrcSpan "tests/examples/RCategory.hs" 12 1 12 29)
2457        " | A class for categories."
2458    , Comment
2459        False
2460        (SrcSpan "tests/examples/RCategory.hs" 13 1 13 36)
2461        "   id and (.) must form a monoid."
2462    , Comment
2463        False
2464        (SrcSpan "tests/examples/RCategory.hs" 17 3 17 29)
2465        " | the identity morphism"
2466    , Comment
2467        False
2468        (SrcSpan "tests/examples/RCategory.hs" 21 3 21 28)
2469        " | morphism composition"
2470    , Comment
2471        False
2472        (SrcSpan "tests/examples/RCategory.hs" 37 1 37 31)
2473        " | Right-to-left composition"
2474    , Comment
2475        False
2476        (SrcSpan "tests/examples/RCategory.hs" 42 1 42 31)
2477        " | Left-to-right composition"
2478    ]
2479  )
2480