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