packages feed

haskell-src-exts-1.22.0: tests/examples/RCategory.hs.parser.golden

ParseOk
  ( Module
      SrcSpanInfo
        { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 1 1 46 1
        , srcInfoPoints =
            [ SrcSpan "tests/examples/RCategory.hs" 1 1 1 1
            , SrcSpan "tests/examples/RCategory.hs" 2 1 2 1
            , SrcSpan "tests/examples/RCategory.hs" 2 1 2 1
            , SrcSpan "tests/examples/RCategory.hs" 5 1 5 1
            , SrcSpan "tests/examples/RCategory.hs" 7 1 7 1
            , SrcSpan "tests/examples/RCategory.hs" 9 1 9 1
            , SrcSpan "tests/examples/RCategory.hs" 10 1 10 1
            , SrcSpan "tests/examples/RCategory.hs" 14 1 14 1
            , SrcSpan "tests/examples/RCategory.hs" 25 1 25 1
            , SrcSpan "tests/examples/RCategory.hs" 32 1 32 1
            , SrcSpan "tests/examples/RCategory.hs" 38 1 38 1
            , SrcSpan "tests/examples/RCategory.hs" 40 1 40 1
            , SrcSpan "tests/examples/RCategory.hs" 43 1 43 1
            , SrcSpan "tests/examples/RCategory.hs" 45 1 45 1
            , SrcSpan "tests/examples/RCategory.hs" 46 1 46 1
            , SrcSpan "tests/examples/RCategory.hs" 46 1 46 1
            ]
        }
      (Just
         (ModuleHead
            SrcSpanInfo
              { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 2 1 2 31
              , srcInfoPoints =
                  [ SrcSpan "tests/examples/RCategory.hs" 2 1 2 7
                  , SrcSpan "tests/examples/RCategory.hs" 2 26 2 31
                  ]
              }
            (ModuleName
               SrcSpanInfo
                 { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 2 8 2 25
                 , srcInfoPoints = []
                 }
               "Control.RCategory")
            Nothing
            Nothing))
      [ LanguagePragma
          SrcSpanInfo
            { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 1 1 1 70
            , srcInfoPoints =
                [ SrcSpan "tests/examples/RCategory.hs" 1 1 1 13
                , SrcSpan "tests/examples/RCategory.hs" 1 26 1 27
                , SrcSpan "tests/examples/RCategory.hs" 1 43 1 44
                , SrcSpan "tests/examples/RCategory.hs" 1 67 1 70
                ]
            }
          [ Ident
              SrcSpanInfo
                { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 1 14 1 26
                , srcInfoPoints = []
                }
              "TypeFamilies"
          , Ident
              SrcSpanInfo
                { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 1 28 1 43
                , srcInfoPoints = []
                }
              "ConstraintKinds"
          , Ident
              SrcSpanInfo
                { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 1 45 1 66
                , srcInfoPoints = []
                }
              "MultiParamTypeClasses"
          ]
      ]
      [ ImportDecl
          { importAnn =
              SrcSpanInfo
                { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 5 1 5 25
                , srcInfoPoints =
                    [ SrcSpan "tests/examples/RCategory.hs" 5 1 5 7
                    , SrcSpan "tests/examples/RCategory.hs" 5 8 5 17
                    ]
                }
          , importModule =
              ModuleName
                SrcSpanInfo
                  { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 5 18 5 25
                  , srcInfoPoints = []
                  }
                "Prelude"
          , importQualified = True
          , importSrc = False
          , importSafe = False
          , importPkg = Nothing
          , importAs = Nothing
          , importSpecs = Nothing
          }
      , ImportDecl
          { importAnn =
              SrcSpanInfo
                { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 7 1 7 16
                , srcInfoPoints = [ SrcSpan "tests/examples/RCategory.hs" 7 1 7 7 ]
                }
          , importModule =
              ModuleName
                SrcSpanInfo
                  { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 7 8 7 16
                  , srcInfoPoints = []
                  }
                "GHC.Prim"
          , importQualified = False
          , importSrc = False
          , importSafe = False
          , importPkg = Nothing
          , importAs = Nothing
          , importSpecs = Nothing
          }
      ]
      [ InfixDecl
          SrcSpanInfo
            { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 9 1 9 11
            , srcInfoPoints = [ SrcSpan "tests/examples/RCategory.hs" 9 8 9 9 ]
            }
          (AssocRight
             SrcSpanInfo
               { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 9 1 9 7
               , srcInfoPoints = []
               })
          (Just 9)
          [ VarOp
              SrcSpanInfo
                { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 9 10 9 11
                , srcInfoPoints = []
                }
              (Symbol
                 SrcSpanInfo
                   { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 9 10 9 11
                   , srcInfoPoints = []
                   }
                 ".")
          ]
      , InfixDecl
          SrcSpanInfo
            { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 10 1 10 18
            , srcInfoPoints =
                [ SrcSpan "tests/examples/RCategory.hs" 10 8 10 9
                , SrcSpan "tests/examples/RCategory.hs" 10 13 10 14
                ]
            }
          (AssocRight
             SrcSpanInfo
               { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 10 1 10 7
               , srcInfoPoints = []
               })
          (Just 1)
          [ VarOp
              SrcSpanInfo
                { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 10 10 10 13
                , srcInfoPoints = []
                }
              (Symbol
                 SrcSpanInfo
                   { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 10 10 10 13
                   , srcInfoPoints = []
                   }
                 ">>>")
          , VarOp
              SrcSpanInfo
                { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 10 15 10 18
                , srcInfoPoints = []
                }
              (Symbol
                 SrcSpanInfo
                   { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 10 15 10 18
                   , srcInfoPoints = []
                   }
                 "<<<")
          ]
      , ClassDecl
          SrcSpanInfo
            { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 14 1 23 39
            , srcInfoPoints =
                [ SrcSpan "tests/examples/RCategory.hs" 14 1 14 6
                , SrcSpan "tests/examples/RCategory.hs" 14 21 14 26
                , SrcSpan "tests/examples/RCategory.hs" 15 3 15 3
                , SrcSpan "tests/examples/RCategory.hs" 18 3 18 3
                , SrcSpan "tests/examples/RCategory.hs" 22 3 22 3
                , SrcSpan "tests/examples/RCategory.hs" 25 1 25 0
                ]
            }
          Nothing
          (DHApp
             SrcSpanInfo
               { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 14 7 14 20
               , srcInfoPoints = []
               }
             (DHead
                SrcSpanInfo
                  { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 14 7 14 16
                  , srcInfoPoints = []
                  }
                (Ident
                   SrcSpanInfo
                     { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 14 7 14 16
                     , srcInfoPoints = []
                     }
                   "RCategory"))
             (UnkindedVar
                SrcSpanInfo
                  { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 14 17 14 20
                  , srcInfoPoints = []
                  }
                (Ident
                   SrcSpanInfo
                     { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 14 17 14 20
                     , srcInfoPoints = []
                     }
                   "cat")))
          []
          (Just
             [ ClsTyFam
                 SrcSpanInfo
                   { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 15 3 15 43
                   , srcInfoPoints =
                       [ SrcSpan "tests/examples/RCategory.hs" 15 3 15 7 ]
                   }
                 (DHApp
                    SrcSpanInfo
                      { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 15 8 15 29
                      , srcInfoPoints = []
                      }
                    (DHApp
                       SrcSpanInfo
                         { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 15 8 15 27
                         , srcInfoPoints = []
                         }
                       (DHApp
                          SrcSpanInfo
                            { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 15 8 15 25
                            , srcInfoPoints = []
                            }
                          (DHead
                             SrcSpanInfo
                               { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 15 8 15 21
                               , srcInfoPoints = []
                               }
                             (Ident
                                SrcSpanInfo
                                  { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 15 8 15 21
                                  , srcInfoPoints = []
                                  }
                                "RCategoryCtxt"))
                          (UnkindedVar
                             SrcSpanInfo
                               { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 15 22 15 25
                               , srcInfoPoints = []
                               }
                             (Ident
                                SrcSpanInfo
                                  { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 15 22 15 25
                                  , srcInfoPoints = []
                                  }
                                "cat")))
                       (UnkindedVar
                          SrcSpanInfo
                            { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 15 26 15 27
                            , srcInfoPoints = []
                            }
                          (Ident
                             SrcSpanInfo
                               { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 15 26 15 27
                               , srcInfoPoints = []
                               }
                             "a")))
                    (UnkindedVar
                       SrcSpanInfo
                         { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 15 28 15 29
                         , srcInfoPoints = []
                         }
                       (Ident
                          SrcSpanInfo
                            { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 15 28 15 29
                            , srcInfoPoints = []
                            }
                          "b")))
                 (Just
                    (KindSig
                       SrcSpanInfo
                         { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 15 30 15 43
                         , srcInfoPoints =
                             [ SrcSpan "tests/examples/RCategory.hs" 15 30 15 32 ]
                         }
                       (TyCon
                          SrcSpanInfo
                            { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 15 33 15 43
                            , srcInfoPoints = []
                            }
                          (UnQual
                             SrcSpanInfo
                               { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 15 33 15 43
                               , srcInfoPoints = []
                               }
                             (Ident
                                SrcSpanInfo
                                  { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 15 33 15 43
                                  , srcInfoPoints = []
                                  }
                                "Constraint")))))
                 Nothing
             , ClsDecl
                 SrcSpanInfo
                   { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 18 3 19 16
                   , srcInfoPoints =
                       [ SrcSpan "tests/examples/RCategory.hs" 18 6 18 8 ]
                   }
                 (TypeSig
                    SrcSpanInfo
                      { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 18 3 19 16
                      , srcInfoPoints =
                          [ SrcSpan "tests/examples/RCategory.hs" 18 6 18 8 ]
                      }
                    [ Ident
                        SrcSpanInfo
                          { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 18 3 18 5
                          , srcInfoPoints = []
                          }
                        "id"
                    ]
                    (TyForall
                       SrcSpanInfo
                         { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 18 9 19 16
                         , srcInfoPoints = []
                         }
                       Nothing
                       (Just
                          (CxSingle
                             SrcSpanInfo
                               { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 18 9 19 8
                               , srcInfoPoints =
                                   [ SrcSpan "tests/examples/RCategory.hs" 19 6 19 8 ]
                               }
                             (TypeA
                                SrcSpanInfo
                                  { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 18 9 19 8
                                  , srcInfoPoints =
                                      [ SrcSpan "tests/examples/RCategory.hs" 19 6 19 8 ]
                                  }
                                (TyApp
                                   SrcSpanInfo
                                     { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 18 9 19 8
                                     , srcInfoPoints =
                                         [ SrcSpan "tests/examples/RCategory.hs" 19 6 19 8 ]
                                     }
                                   (TyApp
                                      SrcSpanInfo
                                        { srcInfoSpan =
                                            SrcSpan "tests/examples/RCategory.hs" 18 9 19 8
                                        , srcInfoPoints =
                                            [ SrcSpan "tests/examples/RCategory.hs" 19 6 19 8 ]
                                        }
                                      (TyApp
                                         SrcSpanInfo
                                           { srcInfoSpan =
                                               SrcSpan "tests/examples/RCategory.hs" 18 9 19 8
                                           , srcInfoPoints =
                                               [ SrcSpan "tests/examples/RCategory.hs" 19 6 19 8 ]
                                           }
                                         (TyCon
                                            SrcSpanInfo
                                              { srcInfoSpan =
                                                  SrcSpan "tests/examples/RCategory.hs" 18 9 19 8
                                              , srcInfoPoints =
                                                  [ SrcSpan "tests/examples/RCategory.hs" 19 6 19 8
                                                  ]
                                              }
                                            (UnQual
                                               SrcSpanInfo
                                                 { srcInfoSpan =
                                                     SrcSpan
                                                       "tests/examples/RCategory.hs" 18 9 18 22
                                                 , srcInfoPoints = []
                                                 }
                                               (Ident
                                                  SrcSpanInfo
                                                    { srcInfoSpan =
                                                        SrcSpan
                                                          "tests/examples/RCategory.hs" 18 9 18 22
                                                    , srcInfoPoints = []
                                                    }
                                                  "RCategoryCtxt")))
                                         (TyVar
                                            SrcSpanInfo
                                              { srcInfoSpan =
                                                  SrcSpan "tests/examples/RCategory.hs" 18 23 18 26
                                              , srcInfoPoints = []
                                              }
                                            (Ident
                                               SrcSpanInfo
                                                 { srcInfoSpan =
                                                     SrcSpan
                                                       "tests/examples/RCategory.hs" 18 23 18 26
                                                 , srcInfoPoints = []
                                                 }
                                               "cat")))
                                      (TyVar
                                         SrcSpanInfo
                                           { srcInfoSpan =
                                               SrcSpan "tests/examples/RCategory.hs" 18 27 18 28
                                           , srcInfoPoints = []
                                           }
                                         (Ident
                                            SrcSpanInfo
                                              { srcInfoSpan =
                                                  SrcSpan "tests/examples/RCategory.hs" 18 27 18 28
                                              , srcInfoPoints = []
                                              }
                                            "a")))
                                   (TyVar
                                      SrcSpanInfo
                                        { srcInfoSpan =
                                            SrcSpan "tests/examples/RCategory.hs" 18 29 18 30
                                        , srcInfoPoints = []
                                        }
                                      (Ident
                                         SrcSpanInfo
                                           { srcInfoSpan =
                                               SrcSpan "tests/examples/RCategory.hs" 18 29 18 30
                                           , srcInfoPoints = []
                                           }
                                         "a"))))))
                       (TyApp
                          SrcSpanInfo
                            { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 19 9 19 16
                            , srcInfoPoints = []
                            }
                          (TyApp
                             SrcSpanInfo
                               { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 19 9 19 14
                               , srcInfoPoints = []
                               }
                             (TyVar
                                SrcSpanInfo
                                  { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 19 9 19 12
                                  , srcInfoPoints = []
                                  }
                                (Ident
                                   SrcSpanInfo
                                     { srcInfoSpan =
                                         SrcSpan "tests/examples/RCategory.hs" 19 9 19 12
                                     , srcInfoPoints = []
                                     }
                                   "cat"))
                             (TyVar
                                SrcSpanInfo
                                  { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 19 13 19 14
                                  , srcInfoPoints = []
                                  }
                                (Ident
                                   SrcSpanInfo
                                     { srcInfoSpan =
                                         SrcSpan "tests/examples/RCategory.hs" 19 13 19 14
                                     , srcInfoPoints = []
                                     }
                                   "a")))
                          (TyVar
                             SrcSpanInfo
                               { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 19 15 19 16
                               , srcInfoPoints = []
                               }
                             (Ident
                                SrcSpanInfo
                                  { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 19 15 19 16
                                  , srcInfoPoints = []
                                  }
                                "a")))))
             , ClsDecl
                 SrcSpanInfo
                   { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 22 3 23 39
                   , srcInfoPoints =
                       [ SrcSpan "tests/examples/RCategory.hs" 22 7 22 9 ]
                   }
                 (TypeSig
                    SrcSpanInfo
                      { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 22 3 23 39
                      , srcInfoPoints =
                          [ SrcSpan "tests/examples/RCategory.hs" 22 7 22 9 ]
                      }
                    [ Symbol
                        SrcSpanInfo
                          { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 22 3 22 6
                          , srcInfoPoints =
                              [ SrcSpan "tests/examples/RCategory.hs" 22 3 22 4
                              , SrcSpan "tests/examples/RCategory.hs" 22 4 22 5
                              , SrcSpan "tests/examples/RCategory.hs" 22 5 22 6
                              ]
                          }
                        "."
                    ]
                    (TyForall
                       SrcSpanInfo
                         { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 22 10 23 39
                         , srcInfoPoints = []
                         }
                       Nothing
                       (Just
                          (CxTuple
                             SrcSpanInfo
                               { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 22 10 23 9
                               , srcInfoPoints =
                                   [ SrcSpan "tests/examples/RCategory.hs" 22 10 22 11
                                   , SrcSpan "tests/examples/RCategory.hs" 22 32 22 33
                                   , SrcSpan "tests/examples/RCategory.hs" 22 55 22 56
                                   , SrcSpan "tests/examples/RCategory.hs" 22 78 22 79
                                   , SrcSpan "tests/examples/RCategory.hs" 23 7 23 9
                                   ]
                               }
                             [ TypeA
                                 SrcSpanInfo
                                   { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 22 11 22 32
                                   , srcInfoPoints = []
                                   }
                                 (TyApp
                                    SrcSpanInfo
                                      { srcInfoSpan =
                                          SrcSpan "tests/examples/RCategory.hs" 22 11 22 32
                                      , srcInfoPoints = []
                                      }
                                    (TyApp
                                       SrcSpanInfo
                                         { srcInfoSpan =
                                             SrcSpan "tests/examples/RCategory.hs" 22 11 22 32
                                         , srcInfoPoints = []
                                         }
                                       (TyApp
                                          SrcSpanInfo
                                            { srcInfoSpan =
                                                SrcSpan "tests/examples/RCategory.hs" 22 11 22 32
                                            , srcInfoPoints = []
                                            }
                                          (TyCon
                                             SrcSpanInfo
                                               { srcInfoSpan =
                                                   SrcSpan "tests/examples/RCategory.hs" 22 11 22 32
                                               , srcInfoPoints = []
                                               }
                                             (UnQual
                                                SrcSpanInfo
                                                  { srcInfoSpan =
                                                      SrcSpan
                                                        "tests/examples/RCategory.hs" 22 11 22 24
                                                  , srcInfoPoints = []
                                                  }
                                                (Ident
                                                   SrcSpanInfo
                                                     { srcInfoSpan =
                                                         SrcSpan
                                                           "tests/examples/RCategory.hs" 22 11 22 24
                                                     , srcInfoPoints = []
                                                     }
                                                   "RCategoryCtxt")))
                                          (TyVar
                                             SrcSpanInfo
                                               { srcInfoSpan =
                                                   SrcSpan "tests/examples/RCategory.hs" 22 25 22 28
                                               , srcInfoPoints = []
                                               }
                                             (Ident
                                                SrcSpanInfo
                                                  { srcInfoSpan =
                                                      SrcSpan
                                                        "tests/examples/RCategory.hs" 22 25 22 28
                                                  , srcInfoPoints = []
                                                  }
                                                "cat")))
                                       (TyVar
                                          SrcSpanInfo
                                            { srcInfoSpan =
                                                SrcSpan "tests/examples/RCategory.hs" 22 29 22 30
                                            , srcInfoPoints = []
                                            }
                                          (Ident
                                             SrcSpanInfo
                                               { srcInfoSpan =
                                                   SrcSpan "tests/examples/RCategory.hs" 22 29 22 30
                                               , srcInfoPoints = []
                                               }
                                             "b")))
                                    (TyVar
                                       SrcSpanInfo
                                         { srcInfoSpan =
                                             SrcSpan "tests/examples/RCategory.hs" 22 31 22 32
                                         , srcInfoPoints = []
                                         }
                                       (Ident
                                          SrcSpanInfo
                                            { srcInfoSpan =
                                                SrcSpan "tests/examples/RCategory.hs" 22 31 22 32
                                            , srcInfoPoints = []
                                            }
                                          "c")))
                             , TypeA
                                 SrcSpanInfo
                                   { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 22 34 22 55
                                   , srcInfoPoints = []
                                   }
                                 (TyApp
                                    SrcSpanInfo
                                      { srcInfoSpan =
                                          SrcSpan "tests/examples/RCategory.hs" 22 34 22 55
                                      , srcInfoPoints = []
                                      }
                                    (TyApp
                                       SrcSpanInfo
                                         { srcInfoSpan =
                                             SrcSpan "tests/examples/RCategory.hs" 22 34 22 55
                                         , srcInfoPoints = []
                                         }
                                       (TyApp
                                          SrcSpanInfo
                                            { srcInfoSpan =
                                                SrcSpan "tests/examples/RCategory.hs" 22 34 22 55
                                            , srcInfoPoints = []
                                            }
                                          (TyCon
                                             SrcSpanInfo
                                               { srcInfoSpan =
                                                   SrcSpan "tests/examples/RCategory.hs" 22 34 22 55
                                               , srcInfoPoints = []
                                               }
                                             (UnQual
                                                SrcSpanInfo
                                                  { srcInfoSpan =
                                                      SrcSpan
                                                        "tests/examples/RCategory.hs" 22 34 22 47
                                                  , srcInfoPoints = []
                                                  }
                                                (Ident
                                                   SrcSpanInfo
                                                     { srcInfoSpan =
                                                         SrcSpan
                                                           "tests/examples/RCategory.hs" 22 34 22 47
                                                     , srcInfoPoints = []
                                                     }
                                                   "RCategoryCtxt")))
                                          (TyVar
                                             SrcSpanInfo
                                               { srcInfoSpan =
                                                   SrcSpan "tests/examples/RCategory.hs" 22 48 22 51
                                               , srcInfoPoints = []
                                               }
                                             (Ident
                                                SrcSpanInfo
                                                  { srcInfoSpan =
                                                      SrcSpan
                                                        "tests/examples/RCategory.hs" 22 48 22 51
                                                  , srcInfoPoints = []
                                                  }
                                                "cat")))
                                       (TyVar
                                          SrcSpanInfo
                                            { srcInfoSpan =
                                                SrcSpan "tests/examples/RCategory.hs" 22 52 22 53
                                            , srcInfoPoints = []
                                            }
                                          (Ident
                                             SrcSpanInfo
                                               { srcInfoSpan =
                                                   SrcSpan "tests/examples/RCategory.hs" 22 52 22 53
                                               , srcInfoPoints = []
                                               }
                                             "a")))
                                    (TyVar
                                       SrcSpanInfo
                                         { srcInfoSpan =
                                             SrcSpan "tests/examples/RCategory.hs" 22 54 22 55
                                         , srcInfoPoints = []
                                         }
                                       (Ident
                                          SrcSpanInfo
                                            { srcInfoSpan =
                                                SrcSpan "tests/examples/RCategory.hs" 22 54 22 55
                                            , srcInfoPoints = []
                                            }
                                          "b")))
                             , TypeA
                                 SrcSpanInfo
                                   { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 22 57 22 78
                                   , srcInfoPoints = []
                                   }
                                 (TyApp
                                    SrcSpanInfo
                                      { srcInfoSpan =
                                          SrcSpan "tests/examples/RCategory.hs" 22 57 22 78
                                      , srcInfoPoints = []
                                      }
                                    (TyApp
                                       SrcSpanInfo
                                         { srcInfoSpan =
                                             SrcSpan "tests/examples/RCategory.hs" 22 57 22 78
                                         , srcInfoPoints = []
                                         }
                                       (TyApp
                                          SrcSpanInfo
                                            { srcInfoSpan =
                                                SrcSpan "tests/examples/RCategory.hs" 22 57 22 78
                                            , srcInfoPoints = []
                                            }
                                          (TyCon
                                             SrcSpanInfo
                                               { srcInfoSpan =
                                                   SrcSpan "tests/examples/RCategory.hs" 22 57 22 78
                                               , srcInfoPoints = []
                                               }
                                             (UnQual
                                                SrcSpanInfo
                                                  { srcInfoSpan =
                                                      SrcSpan
                                                        "tests/examples/RCategory.hs" 22 57 22 70
                                                  , srcInfoPoints = []
                                                  }
                                                (Ident
                                                   SrcSpanInfo
                                                     { srcInfoSpan =
                                                         SrcSpan
                                                           "tests/examples/RCategory.hs" 22 57 22 70
                                                     , srcInfoPoints = []
                                                     }
                                                   "RCategoryCtxt")))
                                          (TyVar
                                             SrcSpanInfo
                                               { srcInfoSpan =
                                                   SrcSpan "tests/examples/RCategory.hs" 22 71 22 74
                                               , srcInfoPoints = []
                                               }
                                             (Ident
                                                SrcSpanInfo
                                                  { srcInfoSpan =
                                                      SrcSpan
                                                        "tests/examples/RCategory.hs" 22 71 22 74
                                                  , srcInfoPoints = []
                                                  }
                                                "cat")))
                                       (TyVar
                                          SrcSpanInfo
                                            { srcInfoSpan =
                                                SrcSpan "tests/examples/RCategory.hs" 22 75 22 76
                                            , srcInfoPoints = []
                                            }
                                          (Ident
                                             SrcSpanInfo
                                               { srcInfoSpan =
                                                   SrcSpan "tests/examples/RCategory.hs" 22 75 22 76
                                               , srcInfoPoints = []
                                               }
                                             "a")))
                                    (TyVar
                                       SrcSpanInfo
                                         { srcInfoSpan =
                                             SrcSpan "tests/examples/RCategory.hs" 22 77 22 78
                                         , srcInfoPoints = []
                                         }
                                       (Ident
                                          SrcSpanInfo
                                            { srcInfoSpan =
                                                SrcSpan "tests/examples/RCategory.hs" 22 77 22 78
                                            , srcInfoPoints = []
                                            }
                                          "c")))
                             ]))
                       (TyFun
                          SrcSpanInfo
                            { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 23 10 23 39
                            , srcInfoPoints =
                                [ SrcSpan "tests/examples/RCategory.hs" 23 18 23 20 ]
                            }
                          (TyApp
                             SrcSpanInfo
                               { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 23 10 23 17
                               , srcInfoPoints = []
                               }
                             (TyApp
                                SrcSpanInfo
                                  { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 23 10 23 15
                                  , srcInfoPoints = []
                                  }
                                (TyVar
                                   SrcSpanInfo
                                     { srcInfoSpan =
                                         SrcSpan "tests/examples/RCategory.hs" 23 10 23 13
                                     , srcInfoPoints = []
                                     }
                                   (Ident
                                      SrcSpanInfo
                                        { srcInfoSpan =
                                            SrcSpan "tests/examples/RCategory.hs" 23 10 23 13
                                        , srcInfoPoints = []
                                        }
                                      "cat"))
                                (TyVar
                                   SrcSpanInfo
                                     { srcInfoSpan =
                                         SrcSpan "tests/examples/RCategory.hs" 23 14 23 15
                                     , srcInfoPoints = []
                                     }
                                   (Ident
                                      SrcSpanInfo
                                        { srcInfoSpan =
                                            SrcSpan "tests/examples/RCategory.hs" 23 14 23 15
                                        , srcInfoPoints = []
                                        }
                                      "b")))
                             (TyVar
                                SrcSpanInfo
                                  { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 23 16 23 17
                                  , srcInfoPoints = []
                                  }
                                (Ident
                                   SrcSpanInfo
                                     { srcInfoSpan =
                                         SrcSpan "tests/examples/RCategory.hs" 23 16 23 17
                                     , srcInfoPoints = []
                                     }
                                   "c")))
                          (TyFun
                             SrcSpanInfo
                               { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 23 21 23 39
                               , srcInfoPoints =
                                   [ SrcSpan "tests/examples/RCategory.hs" 23 29 23 31 ]
                               }
                             (TyApp
                                SrcSpanInfo
                                  { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 23 21 23 28
                                  , srcInfoPoints = []
                                  }
                                (TyApp
                                   SrcSpanInfo
                                     { srcInfoSpan =
                                         SrcSpan "tests/examples/RCategory.hs" 23 21 23 26
                                     , srcInfoPoints = []
                                     }
                                   (TyVar
                                      SrcSpanInfo
                                        { srcInfoSpan =
                                            SrcSpan "tests/examples/RCategory.hs" 23 21 23 24
                                        , srcInfoPoints = []
                                        }
                                      (Ident
                                         SrcSpanInfo
                                           { srcInfoSpan =
                                               SrcSpan "tests/examples/RCategory.hs" 23 21 23 24
                                           , srcInfoPoints = []
                                           }
                                         "cat"))
                                   (TyVar
                                      SrcSpanInfo
                                        { srcInfoSpan =
                                            SrcSpan "tests/examples/RCategory.hs" 23 25 23 26
                                        , srcInfoPoints = []
                                        }
                                      (Ident
                                         SrcSpanInfo
                                           { srcInfoSpan =
                                               SrcSpan "tests/examples/RCategory.hs" 23 25 23 26
                                           , srcInfoPoints = []
                                           }
                                         "a")))
                                (TyVar
                                   SrcSpanInfo
                                     { srcInfoSpan =
                                         SrcSpan "tests/examples/RCategory.hs" 23 27 23 28
                                     , srcInfoPoints = []
                                     }
                                   (Ident
                                      SrcSpanInfo
                                        { srcInfoSpan =
                                            SrcSpan "tests/examples/RCategory.hs" 23 27 23 28
                                        , srcInfoPoints = []
                                        }
                                      "b")))
                             (TyApp
                                SrcSpanInfo
                                  { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 23 32 23 39
                                  , srcInfoPoints = []
                                  }
                                (TyApp
                                   SrcSpanInfo
                                     { srcInfoSpan =
                                         SrcSpan "tests/examples/RCategory.hs" 23 32 23 37
                                     , srcInfoPoints = []
                                     }
                                   (TyVar
                                      SrcSpanInfo
                                        { srcInfoSpan =
                                            SrcSpan "tests/examples/RCategory.hs" 23 32 23 35
                                        , srcInfoPoints = []
                                        }
                                      (Ident
                                         SrcSpanInfo
                                           { srcInfoSpan =
                                               SrcSpan "tests/examples/RCategory.hs" 23 32 23 35
                                           , srcInfoPoints = []
                                           }
                                         "cat"))
                                   (TyVar
                                      SrcSpanInfo
                                        { srcInfoSpan =
                                            SrcSpan "tests/examples/RCategory.hs" 23 36 23 37
                                        , srcInfoPoints = []
                                        }
                                      (Ident
                                         SrcSpanInfo
                                           { srcInfoSpan =
                                               SrcSpan "tests/examples/RCategory.hs" 23 36 23 37
                                           , srcInfoPoints = []
                                           }
                                         "a")))
                                (TyVar
                                   SrcSpanInfo
                                     { srcInfoSpan =
                                         SrcSpan "tests/examples/RCategory.hs" 23 38 23 39
                                     , srcInfoPoints = []
                                     }
                                   (Ident
                                      SrcSpanInfo
                                        { srcInfoSpan =
                                            SrcSpan "tests/examples/RCategory.hs" 23 38 23 39
                                        , srcInfoPoints = []
                                        }
                                      "c")))))))
             ])
      , RulePragmaDecl
          SrcSpanInfo
            { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 25 1 30 5
            , srcInfoPoints =
                [ SrcSpan "tests/examples/RCategory.hs" 25 1 25 10
                , SrcSpan "tests/examples/RCategory.hs" 30 2 30 5
                ]
            }
          [ Rule
              SrcSpanInfo
                { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 26 1 27 27
                , srcInfoPoints =
                    [ SrcSpan "tests/examples/RCategory.hs" 26 1 26 16
                    , SrcSpan "tests/examples/RCategory.hs" 26 17 26 23
                    , SrcSpan "tests/examples/RCategory.hs" 26 26 26 27
                    , SrcSpan "tests/examples/RCategory.hs" 27 24 27 25
                    ]
                }
              "identity/left"
              Nothing
              (Just
                 [ RuleVar
                     SrcSpanInfo
                       { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 26 24 26 25
                       , srcInfoPoints = []
                       }
                     (Ident
                        SrcSpanInfo
                          { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 26 24 26 25
                          , srcInfoPoints = []
                          }
                        "p")
                 ])
              (InfixApp
                 SrcSpanInfo
                   { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 27 17 27 23
                   , srcInfoPoints = []
                   }
                 (Var
                    SrcSpanInfo
                      { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 27 17 27 19
                      , srcInfoPoints = []
                      }
                    (UnQual
                       SrcSpanInfo
                         { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 27 17 27 19
                         , srcInfoPoints = []
                         }
                       (Ident
                          SrcSpanInfo
                            { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 27 17 27 19
                            , srcInfoPoints = []
                            }
                          "id")))
                 (QVarOp
                    SrcSpanInfo
                      { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 27 20 27 21
                      , srcInfoPoints = []
                      }
                    (UnQual
                       SrcSpanInfo
                         { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 27 20 27 21
                         , srcInfoPoints = []
                         }
                       (Symbol
                          SrcSpanInfo
                            { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 27 20 27 21
                            , srcInfoPoints = []
                            }
                          ".")))
                 (Var
                    SrcSpanInfo
                      { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 27 22 27 23
                      , srcInfoPoints = []
                      }
                    (UnQual
                       SrcSpanInfo
                         { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 27 22 27 23
                         , srcInfoPoints = []
                         }
                       (Ident
                          SrcSpanInfo
                            { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 27 22 27 23
                            , srcInfoPoints = []
                            }
                          "p"))))
              (Var
                 SrcSpanInfo
                   { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 27 26 27 27
                   , srcInfoPoints = []
                   }
                 (UnQual
                    SrcSpanInfo
                      { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 27 26 27 27
                      , srcInfoPoints = []
                      }
                    (Ident
                       SrcSpanInfo
                         { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 27 26 27 27
                         , srcInfoPoints = []
                         }
                       "p")))
          , Rule
              SrcSpanInfo
                { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 28 1 29 27
                , srcInfoPoints =
                    [ SrcSpan "tests/examples/RCategory.hs" 28 1 28 17
                    , SrcSpan "tests/examples/RCategory.hs" 28 25 28 31
                    , SrcSpan "tests/examples/RCategory.hs" 28 34 28 35
                    , SrcSpan "tests/examples/RCategory.hs" 29 24 29 25
                    ]
                }
              "identity/right"
              Nothing
              (Just
                 [ RuleVar
                     SrcSpanInfo
                       { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 28 32 28 33
                       , srcInfoPoints = []
                       }
                     (Ident
                        SrcSpanInfo
                          { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 28 32 28 33
                          , srcInfoPoints = []
                          }
                        "p")
                 ])
              (InfixApp
                 SrcSpanInfo
                   { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 29 17 29 23
                   , srcInfoPoints = []
                   }
                 (Var
                    SrcSpanInfo
                      { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 29 17 29 18
                      , srcInfoPoints = []
                      }
                    (UnQual
                       SrcSpanInfo
                         { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 29 17 29 18
                         , srcInfoPoints = []
                         }
                       (Ident
                          SrcSpanInfo
                            { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 29 17 29 18
                            , srcInfoPoints = []
                            }
                          "p")))
                 (QVarOp
                    SrcSpanInfo
                      { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 29 19 29 20
                      , srcInfoPoints = []
                      }
                    (UnQual
                       SrcSpanInfo
                         { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 29 19 29 20
                         , srcInfoPoints = []
                         }
                       (Symbol
                          SrcSpanInfo
                            { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 29 19 29 20
                            , srcInfoPoints = []
                            }
                          ".")))
                 (Var
                    SrcSpanInfo
                      { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 29 21 29 23
                      , srcInfoPoints = []
                      }
                    (UnQual
                       SrcSpanInfo
                         { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 29 21 29 23
                         , srcInfoPoints = []
                         }
                       (Ident
                          SrcSpanInfo
                            { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 29 21 29 23
                            , srcInfoPoints = []
                            }
                          "id"))))
              (Var
                 SrcSpanInfo
                   { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 29 26 29 27
                   , srcInfoPoints = []
                   }
                 (UnQual
                    SrcSpanInfo
                      { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 29 26 29 27
                      , srcInfoPoints = []
                      }
                    (Ident
                       SrcSpanInfo
                         { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 29 26 29 27
                         , srcInfoPoints = []
                         }
                       "p")))
          ]
      , InstDecl
          SrcSpanInfo
            { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 32 1 38 0
            , srcInfoPoints =
                [ SrcSpan "tests/examples/RCategory.hs" 32 1 32 9
                , SrcSpan "tests/examples/RCategory.hs" 32 25 32 30
                , SrcSpan "tests/examples/RCategory.hs" 33 3 33 3
                , SrcSpan "tests/examples/RCategory.hs" 34 3 34 3
                , SrcSpan "tests/examples/RCategory.hs" 35 3 35 3
                , SrcSpan "tests/examples/RCategory.hs" 38 1 38 0
                ]
            }
          Nothing
          (IRule
             SrcSpanInfo
               { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 32 10 32 24
               , srcInfoPoints = []
               }
             Nothing
             Nothing
             (IHApp
                SrcSpanInfo
                  { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 32 10 32 24
                  , srcInfoPoints = []
                  }
                (IHCon
                   SrcSpanInfo
                     { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 32 10 32 19
                     , srcInfoPoints = []
                     }
                   (UnQual
                      SrcSpanInfo
                        { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 32 10 32 19
                        , srcInfoPoints = []
                        }
                      (Ident
                         SrcSpanInfo
                           { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 32 10 32 19
                           , srcInfoPoints = []
                           }
                         "RCategory")))
                (TyCon
                   SrcSpanInfo
                     { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 32 20 32 24
                     , srcInfoPoints =
                         [ SrcSpan "tests/examples/RCategory.hs" 32 20 32 21
                         , SrcSpan "tests/examples/RCategory.hs" 32 21 32 23
                         , SrcSpan "tests/examples/RCategory.hs" 32 23 32 24
                         ]
                     }
                   (Special
                      SrcSpanInfo
                        { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 32 20 32 24
                        , srcInfoPoints =
                            [ SrcSpan "tests/examples/RCategory.hs" 32 20 32 21
                            , SrcSpan "tests/examples/RCategory.hs" 32 21 32 23
                            , SrcSpan "tests/examples/RCategory.hs" 32 23 32 24
                            ]
                        }
                      (FunCon
                         SrcSpanInfo
                           { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 32 20 32 24
                           , srcInfoPoints =
                               [ SrcSpan "tests/examples/RCategory.hs" 32 20 32 21
                               , SrcSpan "tests/examples/RCategory.hs" 32 21 32 23
                               , SrcSpan "tests/examples/RCategory.hs" 32 23 32 24
                               ]
                           })))))
          (Just
             [ InsType
                 SrcSpanInfo
                   { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 33 3 33 35
                   , srcInfoPoints =
                       [ SrcSpan "tests/examples/RCategory.hs" 33 3 33 7
                       , SrcSpan "tests/examples/RCategory.hs" 33 31 33 32
                       ]
                   }
                 (TyApp
                    SrcSpanInfo
                      { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 33 8 33 30
                      , srcInfoPoints = []
                      }
                    (TyApp
                       SrcSpanInfo
                         { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 33 8 33 28
                         , srcInfoPoints = []
                         }
                       (TyApp
                          SrcSpanInfo
                            { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 33 8 33 26
                            , srcInfoPoints = []
                            }
                          (TyCon
                             SrcSpanInfo
                               { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 33 8 33 21
                               , srcInfoPoints = []
                               }
                             (UnQual
                                SrcSpanInfo
                                  { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 33 8 33 21
                                  , srcInfoPoints = []
                                  }
                                (Ident
                                   SrcSpanInfo
                                     { srcInfoSpan =
                                         SrcSpan "tests/examples/RCategory.hs" 33 8 33 21
                                     , srcInfoPoints = []
                                     }
                                   "RCategoryCtxt")))
                          (TyCon
                             SrcSpanInfo
                               { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 33 22 33 26
                               , srcInfoPoints =
                                   [ SrcSpan "tests/examples/RCategory.hs" 33 22 33 23
                                   , SrcSpan "tests/examples/RCategory.hs" 33 23 33 25
                                   , SrcSpan "tests/examples/RCategory.hs" 33 25 33 26
                                   ]
                               }
                             (Special
                                SrcSpanInfo
                                  { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 33 22 33 26
                                  , srcInfoPoints =
                                      [ SrcSpan "tests/examples/RCategory.hs" 33 22 33 23
                                      , SrcSpan "tests/examples/RCategory.hs" 33 23 33 25
                                      , SrcSpan "tests/examples/RCategory.hs" 33 25 33 26
                                      ]
                                  }
                                (FunCon
                                   SrcSpanInfo
                                     { srcInfoSpan =
                                         SrcSpan "tests/examples/RCategory.hs" 33 22 33 26
                                     , srcInfoPoints =
                                         [ SrcSpan "tests/examples/RCategory.hs" 33 22 33 23
                                         , SrcSpan "tests/examples/RCategory.hs" 33 23 33 25
                                         , SrcSpan "tests/examples/RCategory.hs" 33 25 33 26
                                         ]
                                     }))))
                       (TyVar
                          SrcSpanInfo
                            { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 33 27 33 28
                            , srcInfoPoints = []
                            }
                          (Ident
                             SrcSpanInfo
                               { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 33 27 33 28
                               , srcInfoPoints = []
                               }
                             "a")))
                    (TyVar
                       SrcSpanInfo
                         { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 33 29 33 30
                         , srcInfoPoints = []
                         }
                       (Ident
                          SrcSpanInfo
                            { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 33 29 33 30
                            , srcInfoPoints = []
                            }
                          "a")))
                 (TyCon
                    SrcSpanInfo
                      { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 33 33 33 35
                      , srcInfoPoints =
                          [ SrcSpan "tests/examples/RCategory.hs" 33 33 33 34
                          , SrcSpan "tests/examples/RCategory.hs" 33 34 33 35
                          ]
                      }
                    (Special
                       SrcSpanInfo
                         { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 33 33 33 35
                         , srcInfoPoints =
                             [ SrcSpan "tests/examples/RCategory.hs" 33 33 33 34
                             , SrcSpan "tests/examples/RCategory.hs" 33 34 33 35
                             ]
                         }
                       (UnitCon
                          SrcSpanInfo
                            { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 33 33 33 35
                            , srcInfoPoints =
                                [ SrcSpan "tests/examples/RCategory.hs" 33 33 33 34
                                , SrcSpan "tests/examples/RCategory.hs" 33 34 33 35
                                ]
                            })))
             , InsDecl
                 SrcSpanInfo
                   { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 34 3 34 18
                   , srcInfoPoints = []
                   }
                 (PatBind
                    SrcSpanInfo
                      { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 34 3 34 18
                      , srcInfoPoints = []
                      }
                    (PVar
                       SrcSpanInfo
                         { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 34 3 34 5
                         , srcInfoPoints = []
                         }
                       (Ident
                          SrcSpanInfo
                            { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 34 3 34 5
                            , srcInfoPoints = []
                            }
                          "id"))
                    (UnGuardedRhs
                       SrcSpanInfo
                         { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 34 6 34 18
                         , srcInfoPoints =
                             [ SrcSpan "tests/examples/RCategory.hs" 34 6 34 7 ]
                         }
                       (Var
                          SrcSpanInfo
                            { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 34 8 34 18
                            , srcInfoPoints = []
                            }
                          (Qual
                             SrcSpanInfo
                               { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 34 8 34 18
                               , srcInfoPoints = []
                               }
                             (ModuleName
                                SrcSpanInfo
                                  { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 34 8 34 18
                                  , srcInfoPoints = []
                                  }
                                "Prelude")
                             (Ident
                                SrcSpanInfo
                                  { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 34 8 34 18
                                  , srcInfoPoints = []
                                  }
                                "id"))))
                    Nothing)
             , InsDecl
                 SrcSpanInfo
                   { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 35 3 35 20
                   , srcInfoPoints = []
                   }
                 (PatBind
                    SrcSpanInfo
                      { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 35 3 35 20
                      , srcInfoPoints = []
                      }
                    (PVar
                       SrcSpanInfo
                         { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 35 3 35 6
                         , srcInfoPoints =
                             [ SrcSpan "tests/examples/RCategory.hs" 35 3 35 4
                             , SrcSpan "tests/examples/RCategory.hs" 35 4 35 5
                             , SrcSpan "tests/examples/RCategory.hs" 35 5 35 6
                             ]
                         }
                       (Symbol
                          SrcSpanInfo
                            { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 35 4 35 5
                            , srcInfoPoints = []
                            }
                          "."))
                    (UnGuardedRhs
                       SrcSpanInfo
                         { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 35 7 35 20
                         , srcInfoPoints =
                             [ SrcSpan "tests/examples/RCategory.hs" 35 7 35 8 ]
                         }
                       (Var
                          SrcSpanInfo
                            { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 35 9 35 20
                            , srcInfoPoints =
                                [ SrcSpan "tests/examples/RCategory.hs" 35 9 35 10
                                , SrcSpan "tests/examples/RCategory.hs" 35 10 35 19
                                , SrcSpan "tests/examples/RCategory.hs" 35 19 35 20
                                ]
                            }
                          (Qual
                             SrcSpanInfo
                               { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 35 9 35 20
                               , srcInfoPoints =
                                   [ SrcSpan "tests/examples/RCategory.hs" 35 9 35 10
                                   , SrcSpan "tests/examples/RCategory.hs" 35 10 35 19
                                   , SrcSpan "tests/examples/RCategory.hs" 35 19 35 20
                                   ]
                               }
                             (ModuleName
                                SrcSpanInfo
                                  { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 35 10 35 19
                                  , srcInfoPoints = []
                                  }
                                "Prelude")
                             (Symbol
                                SrcSpanInfo
                                  { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 35 10 35 19
                                  , srcInfoPoints = []
                                  }
                                "."))))
                    Nothing)
             ])
      , TypeSig
          SrcSpanInfo
            { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 1 39 39
            , srcInfoPoints =
                [ SrcSpan "tests/examples/RCategory.hs" 38 7 38 9 ]
            }
          [ Symbol
              SrcSpanInfo
                { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 1 38 6
                , srcInfoPoints =
                    [ SrcSpan "tests/examples/RCategory.hs" 38 1 38 2
                    , SrcSpan "tests/examples/RCategory.hs" 38 2 38 5
                    , SrcSpan "tests/examples/RCategory.hs" 38 5 38 6
                    ]
                }
              "<<<"
          ]
          (TyForall
             SrcSpanInfo
               { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 10 39 39
               , srcInfoPoints = []
               }
             Nothing
             (Just
                (CxTuple
                   SrcSpanInfo
                     { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 10 39 9
                     , srcInfoPoints =
                         [ SrcSpan "tests/examples/RCategory.hs" 38 10 38 11
                         , SrcSpan "tests/examples/RCategory.hs" 38 32 38 33
                         , SrcSpan "tests/examples/RCategory.hs" 38 55 38 56
                         , SrcSpan "tests/examples/RCategory.hs" 38 78 38 79
                         , SrcSpan "tests/examples/RCategory.hs" 38 93 38 94
                         , SrcSpan "tests/examples/RCategory.hs" 39 7 39 9
                         ]
                     }
                   [ TypeA
                       SrcSpanInfo
                         { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 11 38 32
                         , srcInfoPoints = []
                         }
                       (TyApp
                          SrcSpanInfo
                            { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 11 38 32
                            , srcInfoPoints = []
                            }
                          (TyApp
                             SrcSpanInfo
                               { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 11 38 32
                               , srcInfoPoints = []
                               }
                             (TyApp
                                SrcSpanInfo
                                  { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 11 38 32
                                  , srcInfoPoints = []
                                  }
                                (TyCon
                                   SrcSpanInfo
                                     { srcInfoSpan =
                                         SrcSpan "tests/examples/RCategory.hs" 38 11 38 32
                                     , srcInfoPoints = []
                                     }
                                   (UnQual
                                      SrcSpanInfo
                                        { srcInfoSpan =
                                            SrcSpan "tests/examples/RCategory.hs" 38 11 38 24
                                        , srcInfoPoints = []
                                        }
                                      (Ident
                                         SrcSpanInfo
                                           { srcInfoSpan =
                                               SrcSpan "tests/examples/RCategory.hs" 38 11 38 24
                                           , srcInfoPoints = []
                                           }
                                         "RCategoryCtxt")))
                                (TyVar
                                   SrcSpanInfo
                                     { srcInfoSpan =
                                         SrcSpan "tests/examples/RCategory.hs" 38 25 38 28
                                     , srcInfoPoints = []
                                     }
                                   (Ident
                                      SrcSpanInfo
                                        { srcInfoSpan =
                                            SrcSpan "tests/examples/RCategory.hs" 38 25 38 28
                                        , srcInfoPoints = []
                                        }
                                      "cat")))
                             (TyVar
                                SrcSpanInfo
                                  { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 29 38 30
                                  , srcInfoPoints = []
                                  }
                                (Ident
                                   SrcSpanInfo
                                     { srcInfoSpan =
                                         SrcSpan "tests/examples/RCategory.hs" 38 29 38 30
                                     , srcInfoPoints = []
                                     }
                                   "a")))
                          (TyVar
                             SrcSpanInfo
                               { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 31 38 32
                               , srcInfoPoints = []
                               }
                             (Ident
                                SrcSpanInfo
                                  { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 31 38 32
                                  , srcInfoPoints = []
                                  }
                                "c")))
                   , TypeA
                       SrcSpanInfo
                         { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 34 38 55
                         , srcInfoPoints = []
                         }
                       (TyApp
                          SrcSpanInfo
                            { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 34 38 55
                            , srcInfoPoints = []
                            }
                          (TyApp
                             SrcSpanInfo
                               { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 34 38 55
                               , srcInfoPoints = []
                               }
                             (TyApp
                                SrcSpanInfo
                                  { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 34 38 55
                                  , srcInfoPoints = []
                                  }
                                (TyCon
                                   SrcSpanInfo
                                     { srcInfoSpan =
                                         SrcSpan "tests/examples/RCategory.hs" 38 34 38 55
                                     , srcInfoPoints = []
                                     }
                                   (UnQual
                                      SrcSpanInfo
                                        { srcInfoSpan =
                                            SrcSpan "tests/examples/RCategory.hs" 38 34 38 47
                                        , srcInfoPoints = []
                                        }
                                      (Ident
                                         SrcSpanInfo
                                           { srcInfoSpan =
                                               SrcSpan "tests/examples/RCategory.hs" 38 34 38 47
                                           , srcInfoPoints = []
                                           }
                                         "RCategoryCtxt")))
                                (TyVar
                                   SrcSpanInfo
                                     { srcInfoSpan =
                                         SrcSpan "tests/examples/RCategory.hs" 38 48 38 51
                                     , srcInfoPoints = []
                                     }
                                   (Ident
                                      SrcSpanInfo
                                        { srcInfoSpan =
                                            SrcSpan "tests/examples/RCategory.hs" 38 48 38 51
                                        , srcInfoPoints = []
                                        }
                                      "cat")))
                             (TyVar
                                SrcSpanInfo
                                  { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 52 38 53
                                  , srcInfoPoints = []
                                  }
                                (Ident
                                   SrcSpanInfo
                                     { srcInfoSpan =
                                         SrcSpan "tests/examples/RCategory.hs" 38 52 38 53
                                     , srcInfoPoints = []
                                     }
                                   "a")))
                          (TyVar
                             SrcSpanInfo
                               { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 54 38 55
                               , srcInfoPoints = []
                               }
                             (Ident
                                SrcSpanInfo
                                  { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 54 38 55
                                  , srcInfoPoints = []
                                  }
                                "b")))
                   , TypeA
                       SrcSpanInfo
                         { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 57 38 78
                         , srcInfoPoints = []
                         }
                       (TyApp
                          SrcSpanInfo
                            { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 57 38 78
                            , srcInfoPoints = []
                            }
                          (TyApp
                             SrcSpanInfo
                               { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 57 38 78
                               , srcInfoPoints = []
                               }
                             (TyApp
                                SrcSpanInfo
                                  { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 57 38 78
                                  , srcInfoPoints = []
                                  }
                                (TyCon
                                   SrcSpanInfo
                                     { srcInfoSpan =
                                         SrcSpan "tests/examples/RCategory.hs" 38 57 38 78
                                     , srcInfoPoints = []
                                     }
                                   (UnQual
                                      SrcSpanInfo
                                        { srcInfoSpan =
                                            SrcSpan "tests/examples/RCategory.hs" 38 57 38 70
                                        , srcInfoPoints = []
                                        }
                                      (Ident
                                         SrcSpanInfo
                                           { srcInfoSpan =
                                               SrcSpan "tests/examples/RCategory.hs" 38 57 38 70
                                           , srcInfoPoints = []
                                           }
                                         "RCategoryCtxt")))
                                (TyVar
                                   SrcSpanInfo
                                     { srcInfoSpan =
                                         SrcSpan "tests/examples/RCategory.hs" 38 71 38 74
                                     , srcInfoPoints = []
                                     }
                                   (Ident
                                      SrcSpanInfo
                                        { srcInfoSpan =
                                            SrcSpan "tests/examples/RCategory.hs" 38 71 38 74
                                        , srcInfoPoints = []
                                        }
                                      "cat")))
                             (TyVar
                                SrcSpanInfo
                                  { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 75 38 76
                                  , srcInfoPoints = []
                                  }
                                (Ident
                                   SrcSpanInfo
                                     { srcInfoSpan =
                                         SrcSpan "tests/examples/RCategory.hs" 38 75 38 76
                                     , srcInfoPoints = []
                                     }
                                   "b")))
                          (TyVar
                             SrcSpanInfo
                               { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 77 38 78
                               , srcInfoPoints = []
                               }
                             (Ident
                                SrcSpanInfo
                                  { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 77 38 78
                                  , srcInfoPoints = []
                                  }
                                "c")))
                   , TypeA
                       SrcSpanInfo
                         { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 80 38 93
                         , srcInfoPoints = []
                         }
                       (TyApp
                          SrcSpanInfo
                            { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 80 38 93
                            , srcInfoPoints = []
                            }
                          (TyCon
                             SrcSpanInfo
                               { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 80 38 93
                               , srcInfoPoints = []
                               }
                             (UnQual
                                SrcSpanInfo
                                  { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 80 38 89
                                  , srcInfoPoints = []
                                  }
                                (Ident
                                   SrcSpanInfo
                                     { srcInfoSpan =
                                         SrcSpan "tests/examples/RCategory.hs" 38 80 38 89
                                     , srcInfoPoints = []
                                     }
                                   "RCategory")))
                          (TyVar
                             SrcSpanInfo
                               { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 90 38 93
                               , srcInfoPoints = []
                               }
                             (Ident
                                SrcSpanInfo
                                  { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 38 90 38 93
                                  , srcInfoPoints = []
                                  }
                                "cat")))
                   ]))
             (TyFun
                SrcSpanInfo
                  { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 39 10 39 39
                  , srcInfoPoints =
                      [ SrcSpan "tests/examples/RCategory.hs" 39 18 39 20 ]
                  }
                (TyApp
                   SrcSpanInfo
                     { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 39 10 39 17
                     , srcInfoPoints = []
                     }
                   (TyApp
                      SrcSpanInfo
                        { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 39 10 39 15
                        , srcInfoPoints = []
                        }
                      (TyVar
                         SrcSpanInfo
                           { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 39 10 39 13
                           , srcInfoPoints = []
                           }
                         (Ident
                            SrcSpanInfo
                              { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 39 10 39 13
                              , srcInfoPoints = []
                              }
                            "cat"))
                      (TyVar
                         SrcSpanInfo
                           { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 39 14 39 15
                           , srcInfoPoints = []
                           }
                         (Ident
                            SrcSpanInfo
                              { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 39 14 39 15
                              , srcInfoPoints = []
                              }
                            "b")))
                   (TyVar
                      SrcSpanInfo
                        { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 39 16 39 17
                        , srcInfoPoints = []
                        }
                      (Ident
                         SrcSpanInfo
                           { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 39 16 39 17
                           , srcInfoPoints = []
                           }
                         "c")))
                (TyFun
                   SrcSpanInfo
                     { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 39 21 39 39
                     , srcInfoPoints =
                         [ SrcSpan "tests/examples/RCategory.hs" 39 29 39 31 ]
                     }
                   (TyApp
                      SrcSpanInfo
                        { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 39 21 39 28
                        , srcInfoPoints = []
                        }
                      (TyApp
                         SrcSpanInfo
                           { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 39 21 39 26
                           , srcInfoPoints = []
                           }
                         (TyVar
                            SrcSpanInfo
                              { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 39 21 39 24
                              , srcInfoPoints = []
                              }
                            (Ident
                               SrcSpanInfo
                                 { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 39 21 39 24
                                 , srcInfoPoints = []
                                 }
                               "cat"))
                         (TyVar
                            SrcSpanInfo
                              { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 39 25 39 26
                              , srcInfoPoints = []
                              }
                            (Ident
                               SrcSpanInfo
                                 { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 39 25 39 26
                                 , srcInfoPoints = []
                                 }
                               "a")))
                      (TyVar
                         SrcSpanInfo
                           { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 39 27 39 28
                           , srcInfoPoints = []
                           }
                         (Ident
                            SrcSpanInfo
                              { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 39 27 39 28
                              , srcInfoPoints = []
                              }
                            "b")))
                   (TyApp
                      SrcSpanInfo
                        { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 39 32 39 39
                        , srcInfoPoints = []
                        }
                      (TyApp
                         SrcSpanInfo
                           { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 39 32 39 37
                           , srcInfoPoints = []
                           }
                         (TyVar
                            SrcSpanInfo
                              { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 39 32 39 35
                              , srcInfoPoints = []
                              }
                            (Ident
                               SrcSpanInfo
                                 { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 39 32 39 35
                                 , srcInfoPoints = []
                                 }
                               "cat"))
                         (TyVar
                            SrcSpanInfo
                              { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 39 36 39 37
                              , srcInfoPoints = []
                              }
                            (Ident
                               SrcSpanInfo
                                 { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 39 36 39 37
                                 , srcInfoPoints = []
                                 }
                               "a")))
                      (TyVar
                         SrcSpanInfo
                           { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 39 38 39 39
                           , srcInfoPoints = []
                           }
                         (Ident
                            SrcSpanInfo
                              { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 39 38 39 39
                              , srcInfoPoints = []
                              }
                            "c"))))))
      , PatBind
          SrcSpanInfo
            { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 40 1 40 12
            , srcInfoPoints = []
            }
          (PVar
             SrcSpanInfo
               { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 40 1 40 6
               , srcInfoPoints =
                   [ SrcSpan "tests/examples/RCategory.hs" 40 1 40 2
                   , SrcSpan "tests/examples/RCategory.hs" 40 2 40 5
                   , SrcSpan "tests/examples/RCategory.hs" 40 5 40 6
                   ]
               }
             (Symbol
                SrcSpanInfo
                  { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 40 2 40 5
                  , srcInfoPoints = []
                  }
                "<<<"))
          (UnGuardedRhs
             SrcSpanInfo
               { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 40 7 40 12
               , srcInfoPoints =
                   [ SrcSpan "tests/examples/RCategory.hs" 40 7 40 8 ]
               }
             (Var
                SrcSpanInfo
                  { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 40 9 40 12
                  , srcInfoPoints =
                      [ SrcSpan "tests/examples/RCategory.hs" 40 9 40 10
                      , SrcSpan "tests/examples/RCategory.hs" 40 10 40 11
                      , SrcSpan "tests/examples/RCategory.hs" 40 11 40 12
                      ]
                  }
                (UnQual
                   SrcSpanInfo
                     { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 40 9 40 12
                     , srcInfoPoints =
                         [ SrcSpan "tests/examples/RCategory.hs" 40 9 40 10
                         , SrcSpan "tests/examples/RCategory.hs" 40 10 40 11
                         , SrcSpan "tests/examples/RCategory.hs" 40 11 40 12
                         ]
                     }
                   (Symbol
                      SrcSpanInfo
                        { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 40 10 40 11
                        , srcInfoPoints = []
                        }
                      "."))))
          Nothing
      , TypeSig
          SrcSpanInfo
            { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 1 44 39
            , srcInfoPoints =
                [ SrcSpan "tests/examples/RCategory.hs" 43 7 43 9 ]
            }
          [ Symbol
              SrcSpanInfo
                { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 1 43 6
                , srcInfoPoints =
                    [ SrcSpan "tests/examples/RCategory.hs" 43 1 43 2
                    , SrcSpan "tests/examples/RCategory.hs" 43 2 43 5
                    , SrcSpan "tests/examples/RCategory.hs" 43 5 43 6
                    ]
                }
              ">>>"
          ]
          (TyForall
             SrcSpanInfo
               { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 10 44 39
               , srcInfoPoints = []
               }
             Nothing
             (Just
                (CxTuple
                   SrcSpanInfo
                     { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 10 44 9
                     , srcInfoPoints =
                         [ SrcSpan "tests/examples/RCategory.hs" 43 10 43 11
                         , SrcSpan "tests/examples/RCategory.hs" 43 32 43 33
                         , SrcSpan "tests/examples/RCategory.hs" 43 55 43 56
                         , SrcSpan "tests/examples/RCategory.hs" 43 78 43 79
                         , SrcSpan "tests/examples/RCategory.hs" 43 93 43 94
                         , SrcSpan "tests/examples/RCategory.hs" 44 7 44 9
                         ]
                     }
                   [ TypeA
                       SrcSpanInfo
                         { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 11 43 32
                         , srcInfoPoints = []
                         }
                       (TyApp
                          SrcSpanInfo
                            { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 11 43 32
                            , srcInfoPoints = []
                            }
                          (TyApp
                             SrcSpanInfo
                               { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 11 43 32
                               , srcInfoPoints = []
                               }
                             (TyApp
                                SrcSpanInfo
                                  { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 11 43 32
                                  , srcInfoPoints = []
                                  }
                                (TyCon
                                   SrcSpanInfo
                                     { srcInfoSpan =
                                         SrcSpan "tests/examples/RCategory.hs" 43 11 43 32
                                     , srcInfoPoints = []
                                     }
                                   (UnQual
                                      SrcSpanInfo
                                        { srcInfoSpan =
                                            SrcSpan "tests/examples/RCategory.hs" 43 11 43 24
                                        , srcInfoPoints = []
                                        }
                                      (Ident
                                         SrcSpanInfo
                                           { srcInfoSpan =
                                               SrcSpan "tests/examples/RCategory.hs" 43 11 43 24
                                           , srcInfoPoints = []
                                           }
                                         "RCategoryCtxt")))
                                (TyVar
                                   SrcSpanInfo
                                     { srcInfoSpan =
                                         SrcSpan "tests/examples/RCategory.hs" 43 25 43 28
                                     , srcInfoPoints = []
                                     }
                                   (Ident
                                      SrcSpanInfo
                                        { srcInfoSpan =
                                            SrcSpan "tests/examples/RCategory.hs" 43 25 43 28
                                        , srcInfoPoints = []
                                        }
                                      "cat")))
                             (TyVar
                                SrcSpanInfo
                                  { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 29 43 30
                                  , srcInfoPoints = []
                                  }
                                (Ident
                                   SrcSpanInfo
                                     { srcInfoSpan =
                                         SrcSpan "tests/examples/RCategory.hs" 43 29 43 30
                                     , srcInfoPoints = []
                                     }
                                   "a")))
                          (TyVar
                             SrcSpanInfo
                               { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 31 43 32
                               , srcInfoPoints = []
                               }
                             (Ident
                                SrcSpanInfo
                                  { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 31 43 32
                                  , srcInfoPoints = []
                                  }
                                "c")))
                   , TypeA
                       SrcSpanInfo
                         { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 34 43 55
                         , srcInfoPoints = []
                         }
                       (TyApp
                          SrcSpanInfo
                            { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 34 43 55
                            , srcInfoPoints = []
                            }
                          (TyApp
                             SrcSpanInfo
                               { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 34 43 55
                               , srcInfoPoints = []
                               }
                             (TyApp
                                SrcSpanInfo
                                  { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 34 43 55
                                  , srcInfoPoints = []
                                  }
                                (TyCon
                                   SrcSpanInfo
                                     { srcInfoSpan =
                                         SrcSpan "tests/examples/RCategory.hs" 43 34 43 55
                                     , srcInfoPoints = []
                                     }
                                   (UnQual
                                      SrcSpanInfo
                                        { srcInfoSpan =
                                            SrcSpan "tests/examples/RCategory.hs" 43 34 43 47
                                        , srcInfoPoints = []
                                        }
                                      (Ident
                                         SrcSpanInfo
                                           { srcInfoSpan =
                                               SrcSpan "tests/examples/RCategory.hs" 43 34 43 47
                                           , srcInfoPoints = []
                                           }
                                         "RCategoryCtxt")))
                                (TyVar
                                   SrcSpanInfo
                                     { srcInfoSpan =
                                         SrcSpan "tests/examples/RCategory.hs" 43 48 43 51
                                     , srcInfoPoints = []
                                     }
                                   (Ident
                                      SrcSpanInfo
                                        { srcInfoSpan =
                                            SrcSpan "tests/examples/RCategory.hs" 43 48 43 51
                                        , srcInfoPoints = []
                                        }
                                      "cat")))
                             (TyVar
                                SrcSpanInfo
                                  { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 52 43 53
                                  , srcInfoPoints = []
                                  }
                                (Ident
                                   SrcSpanInfo
                                     { srcInfoSpan =
                                         SrcSpan "tests/examples/RCategory.hs" 43 52 43 53
                                     , srcInfoPoints = []
                                     }
                                   "a")))
                          (TyVar
                             SrcSpanInfo
                               { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 54 43 55
                               , srcInfoPoints = []
                               }
                             (Ident
                                SrcSpanInfo
                                  { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 54 43 55
                                  , srcInfoPoints = []
                                  }
                                "b")))
                   , TypeA
                       SrcSpanInfo
                         { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 57 43 78
                         , srcInfoPoints = []
                         }
                       (TyApp
                          SrcSpanInfo
                            { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 57 43 78
                            , srcInfoPoints = []
                            }
                          (TyApp
                             SrcSpanInfo
                               { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 57 43 78
                               , srcInfoPoints = []
                               }
                             (TyApp
                                SrcSpanInfo
                                  { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 57 43 78
                                  , srcInfoPoints = []
                                  }
                                (TyCon
                                   SrcSpanInfo
                                     { srcInfoSpan =
                                         SrcSpan "tests/examples/RCategory.hs" 43 57 43 78
                                     , srcInfoPoints = []
                                     }
                                   (UnQual
                                      SrcSpanInfo
                                        { srcInfoSpan =
                                            SrcSpan "tests/examples/RCategory.hs" 43 57 43 70
                                        , srcInfoPoints = []
                                        }
                                      (Ident
                                         SrcSpanInfo
                                           { srcInfoSpan =
                                               SrcSpan "tests/examples/RCategory.hs" 43 57 43 70
                                           , srcInfoPoints = []
                                           }
                                         "RCategoryCtxt")))
                                (TyVar
                                   SrcSpanInfo
                                     { srcInfoSpan =
                                         SrcSpan "tests/examples/RCategory.hs" 43 71 43 74
                                     , srcInfoPoints = []
                                     }
                                   (Ident
                                      SrcSpanInfo
                                        { srcInfoSpan =
                                            SrcSpan "tests/examples/RCategory.hs" 43 71 43 74
                                        , srcInfoPoints = []
                                        }
                                      "cat")))
                             (TyVar
                                SrcSpanInfo
                                  { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 75 43 76
                                  , srcInfoPoints = []
                                  }
                                (Ident
                                   SrcSpanInfo
                                     { srcInfoSpan =
                                         SrcSpan "tests/examples/RCategory.hs" 43 75 43 76
                                     , srcInfoPoints = []
                                     }
                                   "b")))
                          (TyVar
                             SrcSpanInfo
                               { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 77 43 78
                               , srcInfoPoints = []
                               }
                             (Ident
                                SrcSpanInfo
                                  { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 77 43 78
                                  , srcInfoPoints = []
                                  }
                                "c")))
                   , TypeA
                       SrcSpanInfo
                         { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 80 43 93
                         , srcInfoPoints = []
                         }
                       (TyApp
                          SrcSpanInfo
                            { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 80 43 93
                            , srcInfoPoints = []
                            }
                          (TyCon
                             SrcSpanInfo
                               { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 80 43 93
                               , srcInfoPoints = []
                               }
                             (UnQual
                                SrcSpanInfo
                                  { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 80 43 89
                                  , srcInfoPoints = []
                                  }
                                (Ident
                                   SrcSpanInfo
                                     { srcInfoSpan =
                                         SrcSpan "tests/examples/RCategory.hs" 43 80 43 89
                                     , srcInfoPoints = []
                                     }
                                   "RCategory")))
                          (TyVar
                             SrcSpanInfo
                               { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 90 43 93
                               , srcInfoPoints = []
                               }
                             (Ident
                                SrcSpanInfo
                                  { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 43 90 43 93
                                  , srcInfoPoints = []
                                  }
                                "cat")))
                   ]))
             (TyFun
                SrcSpanInfo
                  { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 44 10 44 39
                  , srcInfoPoints =
                      [ SrcSpan "tests/examples/RCategory.hs" 44 18 44 20 ]
                  }
                (TyApp
                   SrcSpanInfo
                     { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 44 10 44 17
                     , srcInfoPoints = []
                     }
                   (TyApp
                      SrcSpanInfo
                        { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 44 10 44 15
                        , srcInfoPoints = []
                        }
                      (TyVar
                         SrcSpanInfo
                           { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 44 10 44 13
                           , srcInfoPoints = []
                           }
                         (Ident
                            SrcSpanInfo
                              { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 44 10 44 13
                              , srcInfoPoints = []
                              }
                            "cat"))
                      (TyVar
                         SrcSpanInfo
                           { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 44 14 44 15
                           , srcInfoPoints = []
                           }
                         (Ident
                            SrcSpanInfo
                              { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 44 14 44 15
                              , srcInfoPoints = []
                              }
                            "a")))
                   (TyVar
                      SrcSpanInfo
                        { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 44 16 44 17
                        , srcInfoPoints = []
                        }
                      (Ident
                         SrcSpanInfo
                           { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 44 16 44 17
                           , srcInfoPoints = []
                           }
                         "b")))
                (TyFun
                   SrcSpanInfo
                     { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 44 21 44 39
                     , srcInfoPoints =
                         [ SrcSpan "tests/examples/RCategory.hs" 44 29 44 31 ]
                     }
                   (TyApp
                      SrcSpanInfo
                        { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 44 21 44 28
                        , srcInfoPoints = []
                        }
                      (TyApp
                         SrcSpanInfo
                           { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 44 21 44 26
                           , srcInfoPoints = []
                           }
                         (TyVar
                            SrcSpanInfo
                              { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 44 21 44 24
                              , srcInfoPoints = []
                              }
                            (Ident
                               SrcSpanInfo
                                 { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 44 21 44 24
                                 , srcInfoPoints = []
                                 }
                               "cat"))
                         (TyVar
                            SrcSpanInfo
                              { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 44 25 44 26
                              , srcInfoPoints = []
                              }
                            (Ident
                               SrcSpanInfo
                                 { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 44 25 44 26
                                 , srcInfoPoints = []
                                 }
                               "b")))
                      (TyVar
                         SrcSpanInfo
                           { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 44 27 44 28
                           , srcInfoPoints = []
                           }
                         (Ident
                            SrcSpanInfo
                              { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 44 27 44 28
                              , srcInfoPoints = []
                              }
                            "c")))
                   (TyApp
                      SrcSpanInfo
                        { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 44 32 44 39
                        , srcInfoPoints = []
                        }
                      (TyApp
                         SrcSpanInfo
                           { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 44 32 44 37
                           , srcInfoPoints = []
                           }
                         (TyVar
                            SrcSpanInfo
                              { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 44 32 44 35
                              , srcInfoPoints = []
                              }
                            (Ident
                               SrcSpanInfo
                                 { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 44 32 44 35
                                 , srcInfoPoints = []
                                 }
                               "cat"))
                         (TyVar
                            SrcSpanInfo
                              { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 44 36 44 37
                              , srcInfoPoints = []
                              }
                            (Ident
                               SrcSpanInfo
                                 { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 44 36 44 37
                                 , srcInfoPoints = []
                                 }
                               "a")))
                      (TyVar
                         SrcSpanInfo
                           { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 44 38 44 39
                           , srcInfoPoints = []
                           }
                         (Ident
                            SrcSpanInfo
                              { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 44 38 44 39
                              , srcInfoPoints = []
                              }
                            "c"))))))
      , FunBind
          SrcSpanInfo
            { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 45 1 45 16
            , srcInfoPoints = []
            }
          [ InfixMatch
              SrcSpanInfo
                { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 45 1 45 16
                , srcInfoPoints = []
                }
              (PVar
                 SrcSpanInfo
                   { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 45 1 45 2
                   , srcInfoPoints = []
                   }
                 (Ident
                    SrcSpanInfo
                      { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 45 1 45 2
                      , srcInfoPoints = []
                      }
                    "f"))
              (Symbol
                 SrcSpanInfo
                   { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 45 3 45 6
                   , srcInfoPoints = []
                   }
                 ">>>")
              [ PVar
                  SrcSpanInfo
                    { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 45 7 45 8
                    , srcInfoPoints = []
                    }
                  (Ident
                     SrcSpanInfo
                       { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 45 7 45 8
                       , srcInfoPoints = []
                       }
                     "g")
              ]
              (UnGuardedRhs
                 SrcSpanInfo
                   { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 45 9 45 16
                   , srcInfoPoints =
                       [ SrcSpan "tests/examples/RCategory.hs" 45 9 45 10 ]
                   }
                 (InfixApp
                    SrcSpanInfo
                      { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 45 11 45 16
                      , srcInfoPoints = []
                      }
                    (Var
                       SrcSpanInfo
                         { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 45 11 45 12
                         , srcInfoPoints = []
                         }
                       (UnQual
                          SrcSpanInfo
                            { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 45 11 45 12
                            , srcInfoPoints = []
                            }
                          (Ident
                             SrcSpanInfo
                               { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 45 11 45 12
                               , srcInfoPoints = []
                               }
                             "g")))
                    (QVarOp
                       SrcSpanInfo
                         { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 45 13 45 14
                         , srcInfoPoints = []
                         }
                       (UnQual
                          SrcSpanInfo
                            { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 45 13 45 14
                            , srcInfoPoints = []
                            }
                          (Symbol
                             SrcSpanInfo
                               { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 45 13 45 14
                               , srcInfoPoints = []
                               }
                             ".")))
                    (Var
                       SrcSpanInfo
                         { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 45 15 45 16
                         , srcInfoPoints = []
                         }
                       (UnQual
                          SrcSpanInfo
                            { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 45 15 45 16
                            , srcInfoPoints = []
                            }
                          (Ident
                             SrcSpanInfo
                               { srcInfoSpan = SrcSpan "tests/examples/RCategory.hs" 45 15 45 16
                               , srcInfoPoints = []
                               }
                             "f")))))
              Nothing
          ]
      ]
  , [ Comment
        False
        (SrcSpan "tests/examples/RCategory.hs" 12 1 12 29)
        " | A class for categories."
    , Comment
        False
        (SrcSpan "tests/examples/RCategory.hs" 13 1 13 36)
        "   id and (.) must form a monoid."
    , Comment
        False
        (SrcSpan "tests/examples/RCategory.hs" 17 3 17 29)
        " | the identity morphism"
    , Comment
        False
        (SrcSpan "tests/examples/RCategory.hs" 21 3 21 28)
        " | morphism composition"
    , Comment
        False
        (SrcSpan "tests/examples/RCategory.hs" 37 1 37 31)
        " | Right-to-left composition"
    , Comment
        False
        (SrcSpan "tests/examples/RCategory.hs" 42 1 42 31)
        " | Left-to-right composition"
    ]
  )