ParseOk
  ( Module
      SrcSpanInfo
        { srcInfoSpan = SrcSpan "tests/examples/MultiCtxt.hs" 1 1 7 1
        , srcInfoPoints =
            [ SrcSpan "tests/examples/MultiCtxt.hs" 1 1 1 1
            , SrcSpan "tests/examples/MultiCtxt.hs" 3 1 3 1
            , SrcSpan "tests/examples/MultiCtxt.hs" 3 1 3 1
            , SrcSpan "tests/examples/MultiCtxt.hs" 5 1 5 1
            , SrcSpan "tests/examples/MultiCtxt.hs" 6 1 6 1
            , SrcSpan "tests/examples/MultiCtxt.hs" 7 1 7 1
            , SrcSpan "tests/examples/MultiCtxt.hs" 7 1 7 1
            ]
        }
      (Just
         (ModuleHead
            SrcSpanInfo
              { srcInfoSpan = SrcSpan "tests/examples/MultiCtxt.hs" 3 1 3 23
              , srcInfoPoints =
                  [ SrcSpan "tests/examples/MultiCtxt.hs" 3 1 3 7
                  , SrcSpan "tests/examples/MultiCtxt.hs" 3 18 3 23
                  ]
              }
            (ModuleName
               SrcSpanInfo
                 { srcInfoSpan = SrcSpan "tests/examples/MultiCtxt.hs" 3 8 3 17
                 , srcInfoPoints = []
                 }
               "MultiCtxt")
            Nothing
            Nothing))
      [ LanguagePragma
          SrcSpanInfo
            { srcInfoSpan = SrcSpan "tests/examples/MultiCtxt.hs" 1 1 1 28
            , srcInfoPoints =
                [ SrcSpan "tests/examples/MultiCtxt.hs" 1 1 1 13
                , SrcSpan "tests/examples/MultiCtxt.hs" 1 25 1 28
                ]
            }
          [ Ident
              SrcSpanInfo
                { srcInfoSpan = SrcSpan "tests/examples/MultiCtxt.hs" 1 14 1 24
                , srcInfoPoints = []
                }
              "RankNTypes"
          ]
      ]
      []
      [ TypeSig
          SrcSpanInfo
            { srcInfoSpan = SrcSpan "tests/examples/MultiCtxt.hs" 5 1 5 37
            , srcInfoPoints =
                [ SrcSpan "tests/examples/MultiCtxt.hs" 5 13 5 15 ]
            }
          [ Ident
              SrcSpanInfo
                { srcInfoSpan = SrcSpan "tests/examples/MultiCtxt.hs" 5 1 5 12
                , srcInfoPoints = []
                }
              "multipleCtx"
          ]
          (TyForall
             SrcSpanInfo
               { srcInfoSpan = SrcSpan "tests/examples/MultiCtxt.hs" 5 16 5 37
               , srcInfoPoints = []
               }
             Nothing
             (Just
                (CxSingle
                   SrcSpanInfo
                     { srcInfoSpan = SrcSpan "tests/examples/MultiCtxt.hs" 5 16 5 23
                     , srcInfoPoints =
                         [ SrcSpan "tests/examples/MultiCtxt.hs" 5 21 5 23 ]
                     }
                   (ClassA
                      SrcSpanInfo
                        { srcInfoSpan = SrcSpan "tests/examples/MultiCtxt.hs" 5 16 5 23
                        , srcInfoPoints =
                            [ SrcSpan "tests/examples/MultiCtxt.hs" 5 21 5 23 ]
                        }
                      (UnQual
                         SrcSpanInfo
                           { srcInfoSpan = SrcSpan "tests/examples/MultiCtxt.hs" 5 16 5 18
                           , srcInfoPoints = []
                           }
                         (Ident
                            SrcSpanInfo
                              { srcInfoSpan = SrcSpan "tests/examples/MultiCtxt.hs" 5 16 5 18
                              , srcInfoPoints = []
                              }
                            "Eq"))
                      [ TyVar
                          SrcSpanInfo
                            { srcInfoSpan = SrcSpan "tests/examples/MultiCtxt.hs" 5 19 5 20
                            , srcInfoPoints = []
                            }
                          (Ident
                             SrcSpanInfo
                               { srcInfoSpan = SrcSpan "tests/examples/MultiCtxt.hs" 5 19 5 20
                               , srcInfoPoints = []
                               }
                             "a")
                      ])))
             (TyParen
                SrcSpanInfo
                  { srcInfoSpan = SrcSpan "tests/examples/MultiCtxt.hs" 5 24 5 37
                  , srcInfoPoints =
                      [ SrcSpan "tests/examples/MultiCtxt.hs" 5 24 5 25
                      , SrcSpan "tests/examples/MultiCtxt.hs" 5 36 5 37
                      ]
                  }
                (TyForall
                   SrcSpanInfo
                     { srcInfoSpan = SrcSpan "tests/examples/MultiCtxt.hs" 5 25 5 36
                     , srcInfoPoints = []
                     }
                   Nothing
                   (Just
                      (CxSingle
                         SrcSpanInfo
                           { srcInfoSpan = SrcSpan "tests/examples/MultiCtxt.hs" 5 25 5 34
                           , srcInfoPoints =
                               [ SrcSpan "tests/examples/MultiCtxt.hs" 5 32 5 34 ]
                           }
                         (ClassA
                            SrcSpanInfo
                              { srcInfoSpan = SrcSpan "tests/examples/MultiCtxt.hs" 5 25 5 34
                              , srcInfoPoints =
                                  [ SrcSpan "tests/examples/MultiCtxt.hs" 5 32 5 34 ]
                              }
                            (UnQual
                               SrcSpanInfo
                                 { srcInfoSpan = SrcSpan "tests/examples/MultiCtxt.hs" 5 25 5 29
                                 , srcInfoPoints = []
                                 }
                               (Ident
                                  SrcSpanInfo
                                    { srcInfoSpan = SrcSpan "tests/examples/MultiCtxt.hs" 5 25 5 29
                                    , srcInfoPoints = []
                                    }
                                  "Show"))
                            [ TyVar
                                SrcSpanInfo
                                  { srcInfoSpan = SrcSpan "tests/examples/MultiCtxt.hs" 5 30 5 31
                                  , srcInfoPoints = []
                                  }
                                (Ident
                                   SrcSpanInfo
                                     { srcInfoSpan = SrcSpan "tests/examples/MultiCtxt.hs" 5 30 5 31
                                     , srcInfoPoints = []
                                     }
                                   "a")
                            ])))
                   (TyVar
                      SrcSpanInfo
                        { srcInfoSpan = SrcSpan "tests/examples/MultiCtxt.hs" 5 35 5 36
                        , srcInfoPoints = []
                        }
                      (Ident
                         SrcSpanInfo
                           { srcInfoSpan = SrcSpan "tests/examples/MultiCtxt.hs" 5 35 5 36
                           , srcInfoPoints = []
                           }
                         "a")))))
      , PatBind
          SrcSpanInfo
            { srcInfoSpan = SrcSpan "tests/examples/MultiCtxt.hs" 6 1 6 24
            , srcInfoPoints = []
            }
          (PVar
             SrcSpanInfo
               { srcInfoSpan = SrcSpan "tests/examples/MultiCtxt.hs" 6 1 6 12
               , srcInfoPoints = []
               }
             (Ident
                SrcSpanInfo
                  { srcInfoSpan = SrcSpan "tests/examples/MultiCtxt.hs" 6 1 6 12
                  , srcInfoPoints = []
                  }
                "multipleCtx"))
          (UnGuardedRhs
             SrcSpanInfo
               { srcInfoSpan = SrcSpan "tests/examples/MultiCtxt.hs" 6 13 6 24
               , srcInfoPoints =
                   [ SrcSpan "tests/examples/MultiCtxt.hs" 6 13 6 14 ]
               }
             (Var
                SrcSpanInfo
                  { srcInfoSpan = SrcSpan "tests/examples/MultiCtxt.hs" 6 15 6 24
                  , srcInfoPoints = []
                  }
                (UnQual
                   SrcSpanInfo
                     { srcInfoSpan = SrcSpan "tests/examples/MultiCtxt.hs" 6 15 6 24
                     , srcInfoPoints = []
                     }
                   (Ident
                      SrcSpanInfo
                        { srcInfoSpan = SrcSpan "tests/examples/MultiCtxt.hs" 6 15 6 24
                        , srcInfoPoints = []
                        }
                      "undefined"))))
          Nothing
      ]
  , []
  )