ParseOk
  ( Module
      SrcSpanInfo
        { srcInfoSpan = SrcSpan "tests/examples/RecursiveDo.hs" 1 1 6 1
        , srcInfoPoints =
            [ SrcSpan "tests/examples/RecursiveDo.hs" 1 1 1 1
            , SrcSpan "tests/examples/RecursiveDo.hs" 2 1 2 1
            , SrcSpan "tests/examples/RecursiveDo.hs" 2 1 2 1
            , SrcSpan "tests/examples/RecursiveDo.hs" 2 1 2 1
            , SrcSpan "tests/examples/RecursiveDo.hs" 6 1 6 1
            , SrcSpan "tests/examples/RecursiveDo.hs" 6 1 6 1
            ]
        }
      Nothing
      [ LanguagePragma
          SrcSpanInfo
            { srcInfoSpan = SrcSpan "tests/examples/RecursiveDo.hs" 1 1 1 29
            , srcInfoPoints =
                [ SrcSpan "tests/examples/RecursiveDo.hs" 1 1 1 13
                , SrcSpan "tests/examples/RecursiveDo.hs" 1 26 1 29
                ]
            }
          [ Ident
              SrcSpanInfo
                { srcInfoSpan = SrcSpan "tests/examples/RecursiveDo.hs" 1 14 1 25
                , srcInfoPoints = []
                }
              "RecursiveDo"
          ]
      ]
      []
      [ PatBind
          SrcSpanInfo
            { srcInfoSpan = SrcSpan "tests/examples/RecursiveDo.hs" 2 1 4 27
            , srcInfoPoints = []
            }
          (PVar
             SrcSpanInfo
               { srcInfoSpan = SrcSpan "tests/examples/RecursiveDo.hs" 2 1 2 9
               , srcInfoPoints = []
               }
             (Ident
                SrcSpanInfo
                  { srcInfoSpan = SrcSpan "tests/examples/RecursiveDo.hs" 2 1 2 9
                  , srcInfoPoints = []
                  }
                "justOnes"))
          (UnGuardedRhs
             SrcSpanInfo
               { srcInfoSpan = SrcSpan "tests/examples/RecursiveDo.hs" 2 10 4 27
               , srcInfoPoints =
                   [ SrcSpan "tests/examples/RecursiveDo.hs" 2 10 2 11 ]
               }
             (Do
                SrcSpanInfo
                  { srcInfoSpan = SrcSpan "tests/examples/RecursiveDo.hs" 2 12 4 27
                  , srcInfoPoints =
                      [ SrcSpan "tests/examples/RecursiveDo.hs" 2 12 2 14
                      , SrcSpan "tests/examples/RecursiveDo.hs" 3 5 3 5
                      , SrcSpan "tests/examples/RecursiveDo.hs" 4 5 4 5
                      , SrcSpan "tests/examples/RecursiveDo.hs" 6 1 6 0
                      ]
                  }
                [ RecStmt
                    SrcSpanInfo
                      { srcInfoSpan = SrcSpan "tests/examples/RecursiveDo.hs" 3 5 3 26
                      , srcInfoPoints =
                          [ SrcSpan "tests/examples/RecursiveDo.hs" 3 5 3 8
                          , SrcSpan "tests/examples/RecursiveDo.hs" 3 9 3 9
                          , SrcSpan "tests/examples/RecursiveDo.hs" 4 5 4 0
                          ]
                      }
                    [ Generator
                        SrcSpanInfo
                          { srcInfoSpan = SrcSpan "tests/examples/RecursiveDo.hs" 3 9 3 26
                          , srcInfoPoints =
                              [ SrcSpan "tests/examples/RecursiveDo.hs" 3 12 3 14 ]
                          }
                        (PVar
                           SrcSpanInfo
                             { srcInfoSpan = SrcSpan "tests/examples/RecursiveDo.hs" 3 9 3 11
                             , srcInfoPoints = []
                             }
                           (Ident
                              SrcSpanInfo
                                { srcInfoSpan = SrcSpan "tests/examples/RecursiveDo.hs" 3 9 3 11
                                , srcInfoPoints = []
                                }
                              "xs"))
                        (App
                           SrcSpanInfo
                             { srcInfoSpan = SrcSpan "tests/examples/RecursiveDo.hs" 3 15 3 26
                             , srcInfoPoints = []
                             }
                           (Con
                              SrcSpanInfo
                                { srcInfoSpan = SrcSpan "tests/examples/RecursiveDo.hs" 3 15 3 19
                                , srcInfoPoints = []
                                }
                              (UnQual
                                 SrcSpanInfo
                                   { srcInfoSpan = SrcSpan "tests/examples/RecursiveDo.hs" 3 15 3 19
                                   , srcInfoPoints = []
                                   }
                                 (Ident
                                    SrcSpanInfo
                                      { srcInfoSpan =
                                          SrcSpan "tests/examples/RecursiveDo.hs" 3 15 3 19
                                      , srcInfoPoints = []
                                      }
                                    "Just")))
                           (Paren
                              SrcSpanInfo
                                { srcInfoSpan = SrcSpan "tests/examples/RecursiveDo.hs" 3 20 3 26
                                , srcInfoPoints =
                                    [ SrcSpan "tests/examples/RecursiveDo.hs" 3 20 3 21
                                    , SrcSpan "tests/examples/RecursiveDo.hs" 3 25 3 26
                                    ]
                                }
                              (InfixApp
                                 SrcSpanInfo
                                   { srcInfoSpan = SrcSpan "tests/examples/RecursiveDo.hs" 3 21 3 25
                                   , srcInfoPoints = []
                                   }
                                 (Lit
                                    SrcSpanInfo
                                      { srcInfoSpan =
                                          SrcSpan "tests/examples/RecursiveDo.hs" 3 21 3 22
                                      , srcInfoPoints = []
                                      }
                                    (Int
                                       SrcSpanInfo
                                         { srcInfoSpan =
                                             SrcSpan "tests/examples/RecursiveDo.hs" 3 21 3 22
                                         , srcInfoPoints = []
                                         }
                                       1
                                       "1"))
                                 (QConOp
                                    SrcSpanInfo
                                      { srcInfoSpan =
                                          SrcSpan "tests/examples/RecursiveDo.hs" 3 22 3 23
                                      , srcInfoPoints = []
                                      }
                                    (Special
                                       SrcSpanInfo
                                         { srcInfoSpan =
                                             SrcSpan "tests/examples/RecursiveDo.hs" 3 22 3 23
                                         , srcInfoPoints = []
                                         }
                                       (Cons
                                          SrcSpanInfo
                                            { srcInfoSpan =
                                                SrcSpan "tests/examples/RecursiveDo.hs" 3 22 3 23
                                            , srcInfoPoints = []
                                            })))
                                 (Var
                                    SrcSpanInfo
                                      { srcInfoSpan =
                                          SrcSpan "tests/examples/RecursiveDo.hs" 3 23 3 25
                                      , srcInfoPoints = []
                                      }
                                    (UnQual
                                       SrcSpanInfo
                                         { srcInfoSpan =
                                             SrcSpan "tests/examples/RecursiveDo.hs" 3 23 3 25
                                         , srcInfoPoints = []
                                         }
                                       (Ident
                                          SrcSpanInfo
                                            { srcInfoSpan =
                                                SrcSpan "tests/examples/RecursiveDo.hs" 3 23 3 25
                                            , srcInfoPoints = []
                                            }
                                          "xs"))))))
                    ]
                , Qualifier
                    SrcSpanInfo
                      { srcInfoSpan = SrcSpan "tests/examples/RecursiveDo.hs" 4 5 4 27
                      , srcInfoPoints = []
                      }
                    (App
                       SrcSpanInfo
                         { srcInfoSpan = SrcSpan "tests/examples/RecursiveDo.hs" 4 5 4 27
                         , srcInfoPoints = []
                         }
                       (Var
                          SrcSpanInfo
                            { srcInfoSpan = SrcSpan "tests/examples/RecursiveDo.hs" 4 5 4 11
                            , srcInfoPoints = []
                            }
                          (UnQual
                             SrcSpanInfo
                               { srcInfoSpan = SrcSpan "tests/examples/RecursiveDo.hs" 4 5 4 11
                               , srcInfoPoints = []
                               }
                             (Ident
                                SrcSpanInfo
                                  { srcInfoSpan = SrcSpan "tests/examples/RecursiveDo.hs" 4 5 4 11
                                  , srcInfoPoints = []
                                  }
                                "return")))
                       (Paren
                          SrcSpanInfo
                            { srcInfoSpan = SrcSpan "tests/examples/RecursiveDo.hs" 4 12 4 27
                            , srcInfoPoints =
                                [ SrcSpan "tests/examples/RecursiveDo.hs" 4 12 4 13
                                , SrcSpan "tests/examples/RecursiveDo.hs" 4 26 4 27
                                ]
                            }
                          (App
                             SrcSpanInfo
                               { srcInfoSpan = SrcSpan "tests/examples/RecursiveDo.hs" 4 13 4 26
                               , srcInfoPoints = []
                               }
                             (App
                                SrcSpanInfo
                                  { srcInfoSpan = SrcSpan "tests/examples/RecursiveDo.hs" 4 13 4 23
                                  , srcInfoPoints = []
                                  }
                                (Var
                                   SrcSpanInfo
                                     { srcInfoSpan =
                                         SrcSpan "tests/examples/RecursiveDo.hs" 4 13 4 16
                                     , srcInfoPoints = []
                                     }
                                   (UnQual
                                      SrcSpanInfo
                                        { srcInfoSpan =
                                            SrcSpan "tests/examples/RecursiveDo.hs" 4 13 4 16
                                        , srcInfoPoints = []
                                        }
                                      (Ident
                                         SrcSpanInfo
                                           { srcInfoSpan =
                                               SrcSpan "tests/examples/RecursiveDo.hs" 4 13 4 16
                                           , srcInfoPoints = []
                                           }
                                         "map")))
                                (Var
                                   SrcSpanInfo
                                     { srcInfoSpan =
                                         SrcSpan "tests/examples/RecursiveDo.hs" 4 17 4 23
                                     , srcInfoPoints = []
                                     }
                                   (UnQual
                                      SrcSpanInfo
                                        { srcInfoSpan =
                                            SrcSpan "tests/examples/RecursiveDo.hs" 4 17 4 23
                                        , srcInfoPoints = []
                                        }
                                      (Ident
                                         SrcSpanInfo
                                           { srcInfoSpan =
                                               SrcSpan "tests/examples/RecursiveDo.hs" 4 17 4 23
                                           , srcInfoPoints = []
                                           }
                                         "negate"))))
                             (Var
                                SrcSpanInfo
                                  { srcInfoSpan = SrcSpan "tests/examples/RecursiveDo.hs" 4 24 4 26
                                  , srcInfoPoints = []
                                  }
                                (UnQual
                                   SrcSpanInfo
                                     { srcInfoSpan =
                                         SrcSpan "tests/examples/RecursiveDo.hs" 4 24 4 26
                                     , srcInfoPoints = []
                                     }
                                   (Ident
                                      SrcSpanInfo
                                        { srcInfoSpan =
                                            SrcSpan "tests/examples/RecursiveDo.hs" 4 24 4 26
                                        , srcInfoPoints = []
                                        }
                                      "xs"))))))
                ]))
          Nothing
      ]
  , []
  )