ParseOk
  ( Module
      SrcSpanInfo
        { srcInfoSpan = SrcSpan "tests/examples/THTypes.hs" 1 1 12 1
        , srcInfoPoints =
            [ SrcSpan "tests/examples/THTypes.hs" 1 1 1 1
            , SrcSpan "tests/examples/THTypes.hs" 2 1 2 1
            , SrcSpan "tests/examples/THTypes.hs" 3 1 3 1
            , SrcSpan "tests/examples/THTypes.hs" 4 1 4 1
            , SrcSpan "tests/examples/THTypes.hs" 4 1 4 1
            , SrcSpan "tests/examples/THTypes.hs" 6 1 6 1
            , SrcSpan "tests/examples/THTypes.hs" 8 1 8 1
            , SrcSpan "tests/examples/THTypes.hs" 9 1 9 1
            , SrcSpan "tests/examples/THTypes.hs" 11 1 11 1
            , SrcSpan "tests/examples/THTypes.hs" 12 1 12 1
            , SrcSpan "tests/examples/THTypes.hs" 12 1 12 1
            ]
        }
      (Just
         (ModuleHead
            SrcSpanInfo
              { srcInfoSpan = SrcSpan "tests/examples/THTypes.hs" 4 1 4 21
              , srcInfoPoints =
                  [ SrcSpan "tests/examples/THTypes.hs" 4 1 4 7
                  , SrcSpan "tests/examples/THTypes.hs" 4 16 4 21
                  ]
              }
            (ModuleName
               SrcSpanInfo
                 { srcInfoSpan = SrcSpan "tests/examples/THTypes.hs" 4 8 4 15
                 , srcInfoPoints = []
                 }
               "THTypes")
            Nothing
            Nothing))
      [ LanguagePragma
          SrcSpanInfo
            { srcInfoSpan = SrcSpan "tests/examples/THTypes.hs" 1 1 1 35
            , srcInfoPoints =
                [ SrcSpan "tests/examples/THTypes.hs" 1 1 1 13
                , SrcSpan "tests/examples/THTypes.hs" 1 32 1 35
                ]
            }
          [ Ident
              SrcSpanInfo
                { srcInfoSpan = SrcSpan "tests/examples/THTypes.hs" 1 14 1 31
                , srcInfoPoints = []
                }
              "FlexibleInstances"
          ]
      , LanguagePragma
          SrcSpanInfo
            { srcInfoSpan = SrcSpan "tests/examples/THTypes.hs" 2 1 2 33
            , srcInfoPoints =
                [ SrcSpan "tests/examples/THTypes.hs" 2 1 2 13
                , SrcSpan "tests/examples/THTypes.hs" 2 30 2 33
                ]
            }
          [ Ident
              SrcSpanInfo
                { srcInfoSpan = SrcSpan "tests/examples/THTypes.hs" 2 14 2 29
                , srcInfoPoints = []
                }
              "TemplateHaskell"
          ]
      , LanguagePragma
          SrcSpanInfo
            { srcInfoSpan = SrcSpan "tests/examples/THTypes.hs" 3 1 3 29
            , srcInfoPoints =
                [ SrcSpan "tests/examples/THTypes.hs" 3 1 3 13
                , SrcSpan "tests/examples/THTypes.hs" 3 26 3 29
                ]
            }
          [ Ident
              SrcSpanInfo
                { srcInfoSpan = SrcSpan "tests/examples/THTypes.hs" 3 14 3 25
                , srcInfoPoints = []
                }
              "QuasiQuotes"
          ]
      ]
      [ ImportDecl
          { importAnn =
              SrcSpanInfo
                { srcInfoSpan = SrcSpan "tests/examples/THTypes.hs" 6 1 6 27
                , srcInfoPoints = [ SrcSpan "tests/examples/THTypes.hs" 6 1 6 7 ]
                }
          , importModule =
              ModuleName
                SrcSpanInfo
                  { srcInfoSpan = SrcSpan "tests/examples/THTypes.hs" 6 8 6 27
                  , srcInfoPoints = []
                  }
                "Language.Haskell.TH"
          , importQualified = False
          , importSrc = False
          , importSafe = False
          , importPkg = Nothing
          , importAs = Nothing
          , importSpecs = Nothing
          }
      ]
      [ TypeSig
          SrcSpanInfo
            { srcInfoSpan = SrcSpan "tests/examples/THTypes.hs" 8 1 8 11
            , srcInfoPoints = [ SrcSpan "tests/examples/THTypes.hs" 8 3 8 5 ]
            }
          [ Ident
              SrcSpanInfo
                { srcInfoSpan = SrcSpan "tests/examples/THTypes.hs" 8 1 8 2
                , srcInfoPoints = []
                }
              "x"
          ]
          (TyCon
             SrcSpanInfo
               { srcInfoSpan = SrcSpan "tests/examples/THTypes.hs" 8 6 8 11
               , srcInfoPoints = []
               }
             (UnQual
                SrcSpanInfo
                  { srcInfoSpan = SrcSpan "tests/examples/THTypes.hs" 8 6 8 11
                  , srcInfoPoints = []
                  }
                (Ident
                   SrcSpanInfo
                     { srcInfoSpan = SrcSpan "tests/examples/THTypes.hs" 8 6 8 11
                     , srcInfoPoints = []
                     }
                   "DecsQ")))
      , PatBind
          SrcSpanInfo
            { srcInfoSpan = SrcSpan "tests/examples/THTypes.hs" 9 1 9 48
            , srcInfoPoints = []
            }
          (PVar
             SrcSpanInfo
               { srcInfoSpan = SrcSpan "tests/examples/THTypes.hs" 9 1 9 2
               , srcInfoPoints = []
               }
             (Ident
                SrcSpanInfo
                  { srcInfoSpan = SrcSpan "tests/examples/THTypes.hs" 9 1 9 2
                  , srcInfoPoints = []
                  }
                "x"))
          (UnGuardedRhs
             SrcSpanInfo
               { srcInfoSpan = SrcSpan "tests/examples/THTypes.hs" 9 3 9 48
               , srcInfoPoints = [ SrcSpan "tests/examples/THTypes.hs" 9 3 9 4 ]
               }
             (BracketExp
                SrcSpanInfo
                  { srcInfoSpan = SrcSpan "tests/examples/THTypes.hs" 9 5 9 48
                  , srcInfoPoints =
                      [ SrcSpan "tests/examples/THTypes.hs" 9 5 9 8
                      , SrcSpan "tests/examples/THTypes.hs" 9 46 9 48
                      ]
                  }
                (DeclBracket
                   SrcSpanInfo
                     { srcInfoSpan = SrcSpan "tests/examples/THTypes.hs" 9 5 9 48
                     , srcInfoPoints =
                         [ SrcSpan "tests/examples/THTypes.hs" 9 9 9 9
                         , SrcSpan "tests/examples/THTypes.hs" 9 46 9 46
                         , SrcSpan "tests/examples/THTypes.hs" 9 46 9 48
                         ]
                     }
                   [ InstDecl
                       SrcSpanInfo
                         { srcInfoSpan = SrcSpan "tests/examples/THTypes.hs" 9 9 9 45
                         , srcInfoPoints = [ SrcSpan "tests/examples/THTypes.hs" 9 9 9 17 ]
                         }
                       Nothing
                       (IRule
                          SrcSpanInfo
                            { srcInfoSpan = SrcSpan "tests/examples/THTypes.hs" 9 18 9 45
                            , srcInfoPoints = []
                            }
                          Nothing
                          Nothing
                          (IHApp
                             SrcSpanInfo
                               { srcInfoSpan = SrcSpan "tests/examples/THTypes.hs" 9 18 9 45
                               , srcInfoPoints = []
                               }
                             (IHCon
                                SrcSpanInfo
                                  { srcInfoSpan = SrcSpan "tests/examples/THTypes.hs" 9 18 9 22
                                  , srcInfoPoints = []
                                  }
                                (UnQual
                                   SrcSpanInfo
                                     { srcInfoSpan = SrcSpan "tests/examples/THTypes.hs" 9 18 9 22
                                     , srcInfoPoints = []
                                     }
                                   (Ident
                                      SrcSpanInfo
                                        { srcInfoSpan =
                                            SrcSpan "tests/examples/THTypes.hs" 9 18 9 22
                                        , srcInfoPoints = []
                                        }
                                      "Show")))
                             (TySplice
                                SrcSpanInfo
                                  { srcInfoSpan = SrcSpan "tests/examples/THTypes.hs" 9 23 9 45
                                  , srcInfoPoints =
                                      [ SrcSpan "tests/examples/THTypes.hs" 9 23 9 25
                                      , SrcSpan "tests/examples/THTypes.hs" 9 44 9 45
                                      ]
                                  }
                                (ParenSplice
                                   SrcSpanInfo
                                     { srcInfoSpan = SrcSpan "tests/examples/THTypes.hs" 9 23 9 45
                                     , srcInfoPoints =
                                         [ SrcSpan "tests/examples/THTypes.hs" 9 23 9 25
                                         , SrcSpan "tests/examples/THTypes.hs" 9 44 9 45
                                         ]
                                     }
                                   (App
                                      SrcSpanInfo
                                        { srcInfoSpan =
                                            SrcSpan "tests/examples/THTypes.hs" 9 25 9 44
                                        , srcInfoPoints = []
                                        }
                                      (Var
                                         SrcSpanInfo
                                           { srcInfoSpan =
                                               SrcSpan "tests/examples/THTypes.hs" 9 25 9 29
                                           , srcInfoPoints = []
                                           }
                                         (UnQual
                                            SrcSpanInfo
                                              { srcInfoSpan =
                                                  SrcSpan "tests/examples/THTypes.hs" 9 25 9 29
                                              , srcInfoPoints = []
                                              }
                                            (Ident
                                               SrcSpanInfo
                                                 { srcInfoSpan =
                                                     SrcSpan "tests/examples/THTypes.hs" 9 25 9 29
                                                 , srcInfoPoints = []
                                                 }
                                               "conT")))
                                      (Paren
                                         SrcSpanInfo
                                           { srcInfoSpan =
                                               SrcSpan "tests/examples/THTypes.hs" 9 30 9 44
                                           , srcInfoPoints =
                                               [ SrcSpan "tests/examples/THTypes.hs" 9 30 9 31
                                               , SrcSpan "tests/examples/THTypes.hs" 9 43 9 44
                                               ]
                                           }
                                         (App
                                            SrcSpanInfo
                                              { srcInfoSpan =
                                                  SrcSpan "tests/examples/THTypes.hs" 9 31 9 43
                                              , srcInfoPoints = []
                                              }
                                            (Var
                                               SrcSpanInfo
                                                 { srcInfoSpan =
                                                     SrcSpan "tests/examples/THTypes.hs" 9 31 9 37
                                                 , srcInfoPoints = []
                                                 }
                                               (UnQual
                                                  SrcSpanInfo
                                                    { srcInfoSpan =
                                                        SrcSpan
                                                          "tests/examples/THTypes.hs" 9 31 9 37
                                                    , srcInfoPoints = []
                                                    }
                                                  (Ident
                                                     SrcSpanInfo
                                                       { srcInfoSpan =
                                                           SrcSpan
                                                             "tests/examples/THTypes.hs" 9 31 9 37
                                                       , srcInfoPoints = []
                                                       }
                                                     "mkName")))
                                            (Lit
                                               SrcSpanInfo
                                                 { srcInfoSpan =
                                                     SrcSpan "tests/examples/THTypes.hs" 9 38 9 43
                                                 , srcInfoPoints = []
                                                 }
                                               (String
                                                  SrcSpanInfo
                                                    { srcInfoSpan =
                                                        SrcSpan
                                                          "tests/examples/THTypes.hs" 9 38 9 43
                                                    , srcInfoPoints = []
                                                    }
                                                  "Int"
                                                  "Int")))))))))
                       Nothing
                   ])))
          Nothing
      , FunBind
          SrcSpanInfo
            { srcInfoSpan = SrcSpan "tests/examples/THTypes.hs" 11 1 11 19
            , srcInfoPoints = []
            }
          [ Match
              SrcSpanInfo
                { srcInfoSpan = SrcSpan "tests/examples/THTypes.hs" 11 1 11 19
                , srcInfoPoints = []
                }
              (Ident
                 SrcSpanInfo
                   { srcInfoSpan = SrcSpan "tests/examples/THTypes.hs" 11 1 11 5
                   , srcInfoPoints = []
                   }
                 "unit")
              [ PVar
                  SrcSpanInfo
                    { srcInfoSpan = SrcSpan "tests/examples/THTypes.hs" 11 6 11 7
                    , srcInfoPoints = []
                    }
                  (Ident
                     SrcSpanInfo
                       { srcInfoSpan = SrcSpan "tests/examples/THTypes.hs" 11 6 11 7
                       , srcInfoPoints = []
                       }
                     "x")
              ]
              (UnGuardedRhs
                 SrcSpanInfo
                   { srcInfoSpan = SrcSpan "tests/examples/THTypes.hs" 11 8 11 19
                   , srcInfoPoints = [ SrcSpan "tests/examples/THTypes.hs" 11 8 11 9 ]
                   }
                 (BracketExp
                    SrcSpanInfo
                      { srcInfoSpan = SrcSpan "tests/examples/THTypes.hs" 11 10 11 19
                      , srcInfoPoints =
                          [ SrcSpan "tests/examples/THTypes.hs" 11 10 11 13
                          , SrcSpan "tests/examples/THTypes.hs" 11 17 11 19
                          ]
                      }
                    (TypeBracket
                       SrcSpanInfo
                         { srcInfoSpan = SrcSpan "tests/examples/THTypes.hs" 11 10 11 19
                         , srcInfoPoints =
                             [ SrcSpan "tests/examples/THTypes.hs" 11 10 11 13
                             , SrcSpan "tests/examples/THTypes.hs" 11 17 11 19
                             ]
                         }
                       (TySplice
                          SrcSpanInfo
                            { srcInfoSpan = SrcSpan "tests/examples/THTypes.hs" 11 14 11 16
                            , srcInfoPoints = []
                            }
                          (IdSplice
                             SrcSpanInfo
                               { srcInfoSpan = SrcSpan "tests/examples/THTypes.hs" 11 14 11 16
                               , srcInfoPoints = []
                               }
                             "x")))))
              Nothing
          ]
      ]
  , []
  )