ParseOk
  ( Module
      SrcSpanInfo
        { srcInfoSpan =
            SrcSpan "tests/examples/QuasiQuoteSplice.hs" 1 1 10 1
        , srcInfoPoints =
            [ SrcSpan "tests/examples/QuasiQuoteSplice.hs" 1 1 1 1
            , SrcSpan "tests/examples/QuasiQuoteSplice.hs" 2 1 2 1
            , SrcSpan "tests/examples/QuasiQuoteSplice.hs" 3 1 3 1
            , SrcSpan "tests/examples/QuasiQuoteSplice.hs" 3 1 3 1
            , SrcSpan "tests/examples/QuasiQuoteSplice.hs" 3 1 3 1
            , SrcSpan "tests/examples/QuasiQuoteSplice.hs" 5 1 5 1
            , SrcSpan "tests/examples/QuasiQuoteSplice.hs" 7 1 7 1
            , SrcSpan "tests/examples/QuasiQuoteSplice.hs" 10 1 10 1
            , SrcSpan "tests/examples/QuasiQuoteSplice.hs" 10 1 10 1
            ]
        }
      Nothing
      [ LanguagePragma
          SrcSpanInfo
            { srcInfoSpan =
                SrcSpan "tests/examples/QuasiQuoteSplice.hs" 1 1 1 45
            , srcInfoPoints =
                [ SrcSpan "tests/examples/QuasiQuoteSplice.hs" 1 1 1 13
                , SrcSpan "tests/examples/QuasiQuoteSplice.hs" 1 29 1 30
                , SrcSpan "tests/examples/QuasiQuoteSplice.hs" 1 42 1 45
                ]
            }
          [ Ident
              SrcSpanInfo
                { srcInfoSpan =
                    SrcSpan "tests/examples/QuasiQuoteSplice.hs" 1 14 1 29
                , srcInfoPoints = []
                }
              "TemplateHaskell"
          , Ident
              SrcSpanInfo
                { srcInfoSpan =
                    SrcSpan "tests/examples/QuasiQuoteSplice.hs" 1 31 1 41
                , srcInfoPoints = []
                }
              "RankNTypes"
          ]
      , OptionsPragma
          SrcSpanInfo
            { srcInfoSpan =
                SrcSpan "tests/examples/QuasiQuoteSplice.hs" 2 1 2 34
            , srcInfoPoints =
                [ SrcSpan "tests/examples/QuasiQuoteSplice.hs" 2 1 2 31
                , SrcSpan "tests/examples/QuasiQuoteSplice.hs" 2 31 2 34
                ]
            }
          (Just GHC)
          "-F -pgmFtrhsx "
      ]
      [ ImportDecl
          { importAnn =
              SrcSpanInfo
                { srcInfoSpan =
                    SrcSpan "tests/examples/QuasiQuoteSplice.hs" 3 1 3 27
                , srcInfoPoints =
                    [ SrcSpan "tests/examples/QuasiQuoteSplice.hs" 3 1 3 7 ]
                }
          , importModule =
              ModuleName
                SrcSpanInfo
                  { srcInfoSpan =
                      SrcSpan "tests/examples/QuasiQuoteSplice.hs" 3 8 3 27
                  , srcInfoPoints = []
                  }
                "Language.Haskell.TH"
          , importQualified = False
          , importSrc = False
          , importSafe = False
          , importPkg = Nothing
          , importAs = Nothing
          , importSpecs = Nothing
          }
      ]
      [ DataDecl
          SrcSpanInfo
            { srcInfoSpan =
                SrcSpan "tests/examples/QuasiQuoteSplice.hs" 5 1 5 27
            , srcInfoPoints =
                [ SrcSpan "tests/examples/QuasiQuoteSplice.hs" 5 23 5 24 ]
            }
          (DataType
             SrcSpanInfo
               { srcInfoSpan =
                   SrcSpan "tests/examples/QuasiQuoteSplice.hs" 5 1 5 5
               , srcInfoPoints = []
               })
          Nothing
          (DHApp
             SrcSpanInfo
               { srcInfoSpan =
                   SrcSpan "tests/examples/QuasiQuoteSplice.hs" 5 6 5 22
               , srcInfoPoints = []
               }
             (DHApp
                SrcSpanInfo
                  { srcInfoSpan =
                      SrcSpan "tests/examples/QuasiQuoteSplice.hs" 5 6 5 20
                  , srcInfoPoints = []
                  }
                (DHead
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/QuasiQuoteSplice.hs" 5 6 5 18
                     , srcInfoPoints = []
                     }
                   (Ident
                      SrcSpanInfo
                        { srcInfoSpan =
                            SrcSpan "tests/examples/QuasiQuoteSplice.hs" 5 6 5 18
                        , srcInfoPoints = []
                        }
                      "PageFunction"))
                (UnkindedVar
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/QuasiQuoteSplice.hs" 5 19 5 20
                     , srcInfoPoints = []
                     }
                   (Ident
                      SrcSpanInfo
                        { srcInfoSpan =
                            SrcSpan "tests/examples/QuasiQuoteSplice.hs" 5 19 5 20
                        , srcInfoPoints = []
                        }
                      "m")))
             (UnkindedVar
                SrcSpanInfo
                  { srcInfoSpan =
                      SrcSpan "tests/examples/QuasiQuoteSplice.hs" 5 21 5 22
                  , srcInfoPoints = []
                  }
                (Ident
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/QuasiQuoteSplice.hs" 5 21 5 22
                     , srcInfoPoints = []
                     }
                   "a")))
          [ QualConDecl
              SrcSpanInfo
                { srcInfoSpan =
                    SrcSpan "tests/examples/QuasiQuoteSplice.hs" 5 25 5 27
                , srcInfoPoints = []
                }
              Nothing
              Nothing
              (ConDecl
                 SrcSpanInfo
                   { srcInfoSpan =
                       SrcSpan "tests/examples/QuasiQuoteSplice.hs" 5 25 5 27
                   , srcInfoPoints = []
                   }
                 (Ident
                    SrcSpanInfo
                      { srcInfoSpan =
                          SrcSpan "tests/examples/QuasiQuoteSplice.hs" 5 25 5 27
                      , srcInfoPoints = []
                      }
                    "PF")
                 [])
          ]
          Nothing
      , PatBind
          SrcSpanInfo
            { srcInfoSpan =
                SrcSpan "tests/examples/QuasiQuoteSplice.hs" 7 1 8 75
            , srcInfoPoints = []
            }
          (PVar
             SrcSpanInfo
               { srcInfoSpan =
                   SrcSpan "tests/examples/QuasiQuoteSplice.hs" 7 1 7 5
               , srcInfoPoints = []
               }
             (Ident
                SrcSpanInfo
                  { srcInfoSpan =
                      SrcSpan "tests/examples/QuasiQuoteSplice.hs" 7 1 7 5
                  , srcInfoPoints = []
                  }
                "main"))
          (UnGuardedRhs
             SrcSpanInfo
               { srcInfoSpan =
                   SrcSpan "tests/examples/QuasiQuoteSplice.hs" 7 6 8 75
               , srcInfoPoints =
                   [ SrcSpan "tests/examples/QuasiQuoteSplice.hs" 7 6 7 7 ]
               }
             (Let
                SrcSpanInfo
                  { srcInfoSpan =
                      SrcSpan "tests/examples/QuasiQuoteSplice.hs" 7 8 8 75
                  , srcInfoPoints =
                      [ SrcSpan "tests/examples/QuasiQuoteSplice.hs" 7 8 7 11
                      , SrcSpan "tests/examples/QuasiQuoteSplice.hs" 7 27 7 29
                      ]
                  }
                (BDecls
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/QuasiQuoteSplice.hs" 7 12 7 26
                     , srcInfoPoints =
                         [ SrcSpan "tests/examples/QuasiQuoteSplice.hs" 7 12 7 12
                         , SrcSpan "tests/examples/QuasiQuoteSplice.hs" 7 27 7 27
                         ]
                     }
                   [ PatBind
                       SrcSpanInfo
                         { srcInfoSpan =
                             SrcSpan "tests/examples/QuasiQuoteSplice.hs" 7 12 7 26
                         , srcInfoPoints = []
                         }
                       (PVar
                          SrcSpanInfo
                            { srcInfoSpan =
                                SrcSpan "tests/examples/QuasiQuoteSplice.hs" 7 12 7 13
                            , srcInfoPoints = []
                            }
                          (Ident
                             SrcSpanInfo
                               { srcInfoSpan =
                                   SrcSpan "tests/examples/QuasiQuoteSplice.hs" 7 12 7 13
                               , srcInfoPoints = []
                               }
                             "a"))
                       (UnGuardedRhs
                          SrcSpanInfo
                            { srcInfoSpan =
                                SrcSpan "tests/examples/QuasiQuoteSplice.hs" 7 14 7 26
                            , srcInfoPoints =
                                [ SrcSpan "tests/examples/QuasiQuoteSplice.hs" 7 14 7 15 ]
                            }
                          (App
                             SrcSpanInfo
                               { srcInfoSpan =
                                   SrcSpan "tests/examples/QuasiQuoteSplice.hs" 7 16 7 26
                               , srcInfoPoints = []
                               }
                             (Var
                                SrcSpanInfo
                                  { srcInfoSpan =
                                      SrcSpan "tests/examples/QuasiQuoteSplice.hs" 7 16 7 22
                                  , srcInfoPoints = []
                                  }
                                (UnQual
                                   SrcSpanInfo
                                     { srcInfoSpan =
                                         SrcSpan "tests/examples/QuasiQuoteSplice.hs" 7 16 7 22
                                     , srcInfoPoints = []
                                     }
                                   (Ident
                                      SrcSpanInfo
                                        { srcInfoSpan =
                                            SrcSpan "tests/examples/QuasiQuoteSplice.hs" 7 16 7 22
                                        , srcInfoPoints = []
                                        }
                                      "mkName")))
                             (Lit
                                SrcSpanInfo
                                  { srcInfoSpan =
                                      SrcSpan "tests/examples/QuasiQuoteSplice.hs" 7 23 7 26
                                  , srcInfoPoints = []
                                  }
                                (String
                                   SrcSpanInfo
                                     { srcInfoSpan =
                                         SrcSpan "tests/examples/QuasiQuoteSplice.hs" 7 23 7 26
                                     , srcInfoPoints = []
                                     }
                                   "a"
                                   "a"))))
                       Nothing
                   ])
                (InfixApp
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/QuasiQuoteSplice.hs" 8 8 8 75
                     , srcInfoPoints = []
                     }
                   (App
                      SrcSpanInfo
                        { srcInfoSpan =
                            SrcSpan "tests/examples/QuasiQuoteSplice.hs" 8 8 8 65
                        , srcInfoPoints = []
                        }
                      (Var
                         SrcSpanInfo
                           { srcInfoSpan =
                               SrcSpan "tests/examples/QuasiQuoteSplice.hs" 8 8 8 12
                           , srcInfoPoints = []
                           }
                         (UnQual
                            SrcSpanInfo
                              { srcInfoSpan =
                                  SrcSpan "tests/examples/QuasiQuoteSplice.hs" 8 8 8 12
                              , srcInfoPoints = []
                              }
                            (Ident
                               SrcSpanInfo
                                 { srcInfoSpan =
                                     SrcSpan "tests/examples/QuasiQuoteSplice.hs" 8 8 8 12
                                 , srcInfoPoints = []
                                 }
                               "runQ")))
                      (BracketExp
                         SrcSpanInfo
                           { srcInfoSpan =
                               SrcSpan "tests/examples/QuasiQuoteSplice.hs" 8 13 8 65
                           , srcInfoPoints =
                               [ SrcSpan "tests/examples/QuasiQuoteSplice.hs" 8 13 8 16
                               , SrcSpan "tests/examples/QuasiQuoteSplice.hs" 8 63 8 65
                               ]
                           }
                         (TypeBracket
                            SrcSpanInfo
                              { srcInfoSpan =
                                  SrcSpan "tests/examples/QuasiQuoteSplice.hs" 8 13 8 65
                              , srcInfoPoints =
                                  [ SrcSpan "tests/examples/QuasiQuoteSplice.hs" 8 13 8 16
                                  , SrcSpan "tests/examples/QuasiQuoteSplice.hs" 8 63 8 65
                                  ]
                              }
                            (TyForall
                               SrcSpanInfo
                                 { srcInfoSpan =
                                     SrcSpan "tests/examples/QuasiQuoteSplice.hs" 8 17 8 62
                                 , srcInfoPoints =
                                     [ SrcSpan "tests/examples/QuasiQuoteSplice.hs" 8 17 8 23
                                     , SrcSpan "tests/examples/QuasiQuoteSplice.hs" 8 25 8 26
                                     ]
                                 }
                               (Just
                                  [ UnkindedVar
                                      SrcSpanInfo
                                        { srcInfoSpan =
                                            SrcSpan "tests/examples/QuasiQuoteSplice.hs" 8 24 8 25
                                        , srcInfoPoints = []
                                        }
                                      (Ident
                                         SrcSpanInfo
                                           { srcInfoSpan =
                                               SrcSpan
                                                 "tests/examples/QuasiQuoteSplice.hs" 8 24 8 25
                                           , srcInfoPoints = []
                                           }
                                         "m")
                                  ])
                               Nothing
                               (TyApp
                                  SrcSpanInfo
                                    { srcInfoSpan =
                                        SrcSpan "tests/examples/QuasiQuoteSplice.hs" 8 27 8 62
                                    , srcInfoPoints = []
                                    }
                                  (TyApp
                                     SrcSpanInfo
                                       { srcInfoSpan =
                                           SrcSpan "tests/examples/QuasiQuoteSplice.hs" 8 27 8 41
                                       , srcInfoPoints = []
                                       }
                                     (TyCon
                                        SrcSpanInfo
                                          { srcInfoSpan =
                                              SrcSpan "tests/examples/QuasiQuoteSplice.hs" 8 27 8 39
                                          , srcInfoPoints = []
                                          }
                                        (UnQual
                                           SrcSpanInfo
                                             { srcInfoSpan =
                                                 SrcSpan
                                                   "tests/examples/QuasiQuoteSplice.hs" 8 27 8 39
                                             , srcInfoPoints = []
                                             }
                                           (Ident
                                              SrcSpanInfo
                                                { srcInfoSpan =
                                                    SrcSpan
                                                      "tests/examples/QuasiQuoteSplice.hs" 8 27 8 39
                                                , srcInfoPoints = []
                                                }
                                              "PageFunction")))
                                     (TyVar
                                        SrcSpanInfo
                                          { srcInfoSpan =
                                              SrcSpan "tests/examples/QuasiQuoteSplice.hs" 8 40 8 41
                                          , srcInfoPoints = []
                                          }
                                        (Ident
                                           SrcSpanInfo
                                             { srcInfoSpan =
                                                 SrcSpan
                                                   "tests/examples/QuasiQuoteSplice.hs" 8 40 8 41
                                             , srcInfoPoints = []
                                             }
                                           "m")))
                                  (TySplice
                                     SrcSpanInfo
                                       { srcInfoSpan =
                                           SrcSpan "tests/examples/QuasiQuoteSplice.hs" 8 42 8 62
                                       , srcInfoPoints =
                                           [ SrcSpan "tests/examples/QuasiQuoteSplice.hs" 8 42 8 44
                                           , SrcSpan "tests/examples/QuasiQuoteSplice.hs" 8 61 8 62
                                           ]
                                       }
                                     (ParenSplice
                                        SrcSpanInfo
                                          { srcInfoSpan =
                                              SrcSpan "tests/examples/QuasiQuoteSplice.hs" 8 42 8 62
                                          , srcInfoPoints =
                                              [ SrcSpan
                                                  "tests/examples/QuasiQuoteSplice.hs" 8 42 8 44
                                              , SrcSpan
                                                  "tests/examples/QuasiQuoteSplice.hs" 8 61 8 62
                                              ]
                                          }
                                        (App
                                           SrcSpanInfo
                                             { srcInfoSpan =
                                                 SrcSpan
                                                   "tests/examples/QuasiQuoteSplice.hs" 8 44 8 61
                                             , srcInfoPoints = []
                                             }
                                           (Var
                                              SrcSpanInfo
                                                { srcInfoSpan =
                                                    SrcSpan
                                                      "tests/examples/QuasiQuoteSplice.hs" 8 44 8 48
                                                , srcInfoPoints = []
                                                }
                                              (UnQual
                                                 SrcSpanInfo
                                                   { srcInfoSpan =
                                                       SrcSpan
                                                         "tests/examples/QuasiQuoteSplice.hs"
                                                         8
                                                         44
                                                         8
                                                         48
                                                   , srcInfoPoints = []
                                                   }
                                                 (Ident
                                                    SrcSpanInfo
                                                      { srcInfoSpan =
                                                          SrcSpan
                                                            "tests/examples/QuasiQuoteSplice.hs"
                                                            8
                                                            44
                                                            8
                                                            48
                                                      , srcInfoPoints = []
                                                      }
                                                    "conT")))
                                           (Paren
                                              SrcSpanInfo
                                                { srcInfoSpan =
                                                    SrcSpan
                                                      "tests/examples/QuasiQuoteSplice.hs" 8 49 8 61
                                                , srcInfoPoints =
                                                    [ SrcSpan
                                                        "tests/examples/QuasiQuoteSplice.hs"
                                                        8
                                                        49
                                                        8
                                                        50
                                                    , SrcSpan
                                                        "tests/examples/QuasiQuoteSplice.hs"
                                                        8
                                                        60
                                                        8
                                                        61
                                                    ]
                                                }
                                              (App
                                                 SrcSpanInfo
                                                   { srcInfoSpan =
                                                       SrcSpan
                                                         "tests/examples/QuasiQuoteSplice.hs"
                                                         8
                                                         50
                                                         8
                                                         60
                                                   , srcInfoPoints = []
                                                   }
                                                 (Var
                                                    SrcSpanInfo
                                                      { srcInfoSpan =
                                                          SrcSpan
                                                            "tests/examples/QuasiQuoteSplice.hs"
                                                            8
                                                            50
                                                            8
                                                            56
                                                      , srcInfoPoints = []
                                                      }
                                                    (UnQual
                                                       SrcSpanInfo
                                                         { srcInfoSpan =
                                                             SrcSpan
                                                               "tests/examples/QuasiQuoteSplice.hs"
                                                               8
                                                               50
                                                               8
                                                               56
                                                         , srcInfoPoints = []
                                                         }
                                                       (Ident
                                                          SrcSpanInfo
                                                            { srcInfoSpan =
                                                                SrcSpan
                                                                  "tests/examples/QuasiQuoteSplice.hs"
                                                                  8
                                                                  50
                                                                  8
                                                                  56
                                                            , srcInfoPoints = []
                                                            }
                                                          "mkName")))
                                                 (Lit
                                                    SrcSpanInfo
                                                      { srcInfoSpan =
                                                          SrcSpan
                                                            "tests/examples/QuasiQuoteSplice.hs"
                                                            8
                                                            57
                                                            8
                                                            60
                                                      , srcInfoPoints = []
                                                      }
                                                    (String
                                                       SrcSpanInfo
                                                         { srcInfoSpan =
                                                             SrcSpan
                                                               "tests/examples/QuasiQuoteSplice.hs"
                                                               8
                                                               57
                                                               8
                                                               60
                                                         , srcInfoPoints = []
                                                         }
                                                       "a"
                                                       "a"))))))))))))
                   (QVarOp
                      SrcSpanInfo
                        { srcInfoSpan =
                            SrcSpan "tests/examples/QuasiQuoteSplice.hs" 8 66 8 69
                        , srcInfoPoints = []
                        }
                      (UnQual
                         SrcSpanInfo
                           { srcInfoSpan =
                               SrcSpan "tests/examples/QuasiQuoteSplice.hs" 8 66 8 69
                           , srcInfoPoints = []
                           }
                         (Symbol
                            SrcSpanInfo
                              { srcInfoSpan =
                                  SrcSpan "tests/examples/QuasiQuoteSplice.hs" 8 66 8 69
                              , srcInfoPoints = []
                              }
                            ">>=")))
                   (Var
                      SrcSpanInfo
                        { srcInfoSpan =
                            SrcSpan "tests/examples/QuasiQuoteSplice.hs" 8 70 8 75
                        , srcInfoPoints = []
                        }
                      (UnQual
                         SrcSpanInfo
                           { srcInfoSpan =
                               SrcSpan "tests/examples/QuasiQuoteSplice.hs" 8 70 8 75
                           , srcInfoPoints = []
                           }
                         (Ident
                            SrcSpanInfo
                              { srcInfoSpan =
                                  SrcSpan "tests/examples/QuasiQuoteSplice.hs" 8 70 8 75
                              , srcInfoPoints = []
                              }
                            "print"))))))
          Nothing
      ]
  , []
  )