ParseOk
  ( Module
      SrcSpanInfo
        { srcInfoSpan =
            SrcSpan "tests/examples/ForeignImportJavascript.hs" 1 1 5 1
        , srcInfoPoints =
            [ SrcSpan "tests/examples/ForeignImportJavascript.hs" 1 1 1 1
            , SrcSpan "tests/examples/ForeignImportJavascript.hs" 3 1 3 1
            , SrcSpan "tests/examples/ForeignImportJavascript.hs" 3 1 3 1
            , SrcSpan "tests/examples/ForeignImportJavascript.hs" 3 1 3 1
            , SrcSpan "tests/examples/ForeignImportJavascript.hs" 5 1 5 1
            , SrcSpan "tests/examples/ForeignImportJavascript.hs" 5 1 5 1
            ]
        }
      Nothing
      [ LanguagePragma
          SrcSpanInfo
            { srcInfoSpan =
                SrcSpan "tests/examples/ForeignImportJavascript.hs" 1 1 1 31
            , srcInfoPoints =
                [ SrcSpan "tests/examples/ForeignImportJavascript.hs" 1 1 1 13
                , SrcSpan "tests/examples/ForeignImportJavascript.hs" 1 28 1 31
                ]
            }
          [ Ident
              SrcSpanInfo
                { srcInfoSpan =
                    SrcSpan "tests/examples/ForeignImportJavascript.hs" 1 14 1 27
                , srcInfoPoints = []
                }
              "JavascriptFFI"
          ]
      ]
      []
      [ ForImp
          SrcSpanInfo
            { srcInfoSpan =
                SrcSpan "tests/examples/ForeignImportJavascript.hs" 3 1 4 47
            , srcInfoPoints =
                [ SrcSpan "tests/examples/ForeignImportJavascript.hs" 3 1 3 8
                , SrcSpan "tests/examples/ForeignImportJavascript.hs" 3 9 3 15
                , SrcSpan "tests/examples/ForeignImportJavascript.hs" 3 34 3 57
                , SrcSpan "tests/examples/ForeignImportJavascript.hs" 4 28 4 30
                ]
            }
          (JavaScript
             SrcSpanInfo
               { srcInfoSpan =
                   SrcSpan "tests/examples/ForeignImportJavascript.hs" 3 16 3 26
               , srcInfoPoints = []
               })
          (Just
             (PlayRisky
                SrcSpanInfo
                  { srcInfoSpan =
                      SrcSpan "tests/examples/ForeignImportJavascript.hs" 3 27 3 33
                  , srcInfoPoints = []
                  }))
          (Just "somethingUseful_ = $1")
          (Ident
             SrcSpanInfo
               { srcInfoSpan =
                   SrcSpan "tests/examples/ForeignImportJavascript.hs" 4 5 4 27
               , srcInfoPoints = []
               }
             "js_set_somethingUseful")
          (TyFun
             SrcSpanInfo
               { srcInfoSpan =
                   SrcSpan "tests/examples/ForeignImportJavascript.hs" 4 31 4 47
               , srcInfoPoints =
                   [ SrcSpan "tests/examples/ForeignImportJavascript.hs" 4 39 4 41 ]
               }
             (TyApp
                SrcSpanInfo
                  { srcInfoSpan =
                      SrcSpan "tests/examples/ForeignImportJavascript.hs" 4 31 4 38
                  , srcInfoPoints = []
                  }
                (TyCon
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/ForeignImportJavascript.hs" 4 31 4 36
                     , srcInfoPoints = []
                     }
                   (UnQual
                      SrcSpanInfo
                        { srcInfoSpan =
                            SrcSpan "tests/examples/ForeignImportJavascript.hs" 4 31 4 36
                        , srcInfoPoints = []
                        }
                      (Ident
                         SrcSpanInfo
                           { srcInfoSpan =
                               SrcSpan "tests/examples/ForeignImportJavascript.hs" 4 31 4 36
                           , srcInfoPoints = []
                           }
                         "JSFun")))
                (TyVar
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/ForeignImportJavascript.hs" 4 37 4 38
                     , srcInfoPoints = []
                     }
                   (Ident
                      SrcSpanInfo
                        { srcInfoSpan =
                            SrcSpan "tests/examples/ForeignImportJavascript.hs" 4 37 4 38
                        , srcInfoPoints = []
                        }
                      "a")))
             (TyApp
                SrcSpanInfo
                  { srcInfoSpan =
                      SrcSpan "tests/examples/ForeignImportJavascript.hs" 4 42 4 47
                  , srcInfoPoints = []
                  }
                (TyCon
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/ForeignImportJavascript.hs" 4 42 4 44
                     , srcInfoPoints = []
                     }
                   (UnQual
                      SrcSpanInfo
                        { srcInfoSpan =
                            SrcSpan "tests/examples/ForeignImportJavascript.hs" 4 42 4 44
                        , srcInfoPoints = []
                        }
                      (Ident
                         SrcSpanInfo
                           { srcInfoSpan =
                               SrcSpan "tests/examples/ForeignImportJavascript.hs" 4 42 4 44
                           , srcInfoPoints = []
                           }
                         "IO")))
                (TyCon
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/ForeignImportJavascript.hs" 4 45 4 47
                     , srcInfoPoints =
                         [ SrcSpan "tests/examples/ForeignImportJavascript.hs" 4 45 4 46
                         , SrcSpan "tests/examples/ForeignImportJavascript.hs" 4 46 4 47
                         ]
                     }
                   (Special
                      SrcSpanInfo
                        { srcInfoSpan =
                            SrcSpan "tests/examples/ForeignImportJavascript.hs" 4 45 4 47
                        , srcInfoPoints =
                            [ SrcSpan "tests/examples/ForeignImportJavascript.hs" 4 45 4 46
                            , SrcSpan "tests/examples/ForeignImportJavascript.hs" 4 46 4 47
                            ]
                        }
                      (UnitCon
                         SrcSpanInfo
                           { srcInfoSpan =
                               SrcSpan "tests/examples/ForeignImportJavascript.hs" 4 45 4 47
                           , srcInfoPoints =
                               [ SrcSpan "tests/examples/ForeignImportJavascript.hs" 4 45 4 46
                               , SrcSpan "tests/examples/ForeignImportJavascript.hs" 4 46 4 47
                               ]
                           })))))
      ]
  , []
  )