ParseOk
  ( Module
      SrcSpanInfo
        { srcInfoSpan = SrcSpan "tests/examples/ExprHole.hs" 2 1 11 1
        , srcInfoPoints =
            [ SrcSpan "tests/examples/ExprHole.hs" 2 1 2 1
            , SrcSpan "tests/examples/ExprHole.hs" 2 1 2 1
            , SrcSpan "tests/examples/ExprHole.hs" 2 1 2 1
            , SrcSpan "tests/examples/ExprHole.hs" 4 1 4 1
            , SrcSpan "tests/examples/ExprHole.hs" 6 1 6 1
            , SrcSpan "tests/examples/ExprHole.hs" 8 1 8 1
            , SrcSpan "tests/examples/ExprHole.hs" 11 1 11 1
            , SrcSpan "tests/examples/ExprHole.hs" 11 1 11 1
            ]
        }
      Nothing
      []
      []
      [ PatBind
          SrcSpanInfo
            { srcInfoSpan = SrcSpan "tests/examples/ExprHole.hs" 2 1 2 8
            , srcInfoPoints = []
            }
          (PVar
             SrcSpanInfo
               { srcInfoSpan = SrcSpan "tests/examples/ExprHole.hs" 2 1 2 4
               , srcInfoPoints = []
               }
             (Ident
                SrcSpanInfo
                  { srcInfoSpan = SrcSpan "tests/examples/ExprHole.hs" 2 1 2 4
                  , srcInfoPoints = []
                  }
                "foo"))
          (UnGuardedRhs
             SrcSpanInfo
               { srcInfoSpan = SrcSpan "tests/examples/ExprHole.hs" 2 5 2 8
               , srcInfoPoints = [ SrcSpan "tests/examples/ExprHole.hs" 2 5 2 6 ]
               }
             (ExprHole
                SrcSpanInfo
                  { srcInfoSpan = SrcSpan "tests/examples/ExprHole.hs" 2 7 2 8
                  , srcInfoPoints = []
                  }))
          Nothing
      , PatBind
          SrcSpanInfo
            { srcInfoSpan = SrcSpan "tests/examples/ExprHole.hs" 4 1 4 10
            , srcInfoPoints = []
            }
          (PVar
             SrcSpanInfo
               { srcInfoSpan = SrcSpan "tests/examples/ExprHole.hs" 4 1 4 4
               , srcInfoPoints = []
               }
             (Ident
                SrcSpanInfo
                  { srcInfoSpan = SrcSpan "tests/examples/ExprHole.hs" 4 1 4 4
                  , srcInfoPoints = []
                  }
                "foo"))
          (UnGuardedRhs
             SrcSpanInfo
               { srcInfoSpan = SrcSpan "tests/examples/ExprHole.hs" 4 5 4 10
               , srcInfoPoints = [ SrcSpan "tests/examples/ExprHole.hs" 4 5 4 6 ]
               }
             (App
                SrcSpanInfo
                  { srcInfoSpan = SrcSpan "tests/examples/ExprHole.hs" 4 7 4 10
                  , srcInfoPoints = []
                  }
                (ExprHole
                   SrcSpanInfo
                     { srcInfoSpan = SrcSpan "tests/examples/ExprHole.hs" 4 7 4 8
                     , srcInfoPoints = []
                     })
                (Var
                   SrcSpanInfo
                     { srcInfoSpan = SrcSpan "tests/examples/ExprHole.hs" 4 9 4 10
                     , srcInfoPoints = []
                     }
                   (UnQual
                      SrcSpanInfo
                        { srcInfoSpan = SrcSpan "tests/examples/ExprHole.hs" 4 9 4 10
                        , srcInfoPoints = []
                        }
                      (Ident
                         SrcSpanInfo
                           { srcInfoSpan = SrcSpan "tests/examples/ExprHole.hs" 4 9 4 10
                           , srcInfoPoints = []
                           }
                         "x")))))
          Nothing
      , PatBind
          SrcSpanInfo
            { srcInfoSpan = SrcSpan "tests/examples/ExprHole.hs" 6 1 6 11
            , srcInfoPoints = []
            }
          (PVar
             SrcSpanInfo
               { srcInfoSpan = SrcSpan "tests/examples/ExprHole.hs" 6 1 6 4
               , srcInfoPoints = []
               }
             (Ident
                SrcSpanInfo
                  { srcInfoSpan = SrcSpan "tests/examples/ExprHole.hs" 6 1 6 4
                  , srcInfoPoints = []
                  }
                "foo"))
          (UnGuardedRhs
             SrcSpanInfo
               { srcInfoSpan = SrcSpan "tests/examples/ExprHole.hs" 6 5 6 11
               , srcInfoPoints = [ SrcSpan "tests/examples/ExprHole.hs" 6 5 6 6 ]
               }
             (ExprHole
                SrcSpanInfo
                  { srcInfoSpan = SrcSpan "tests/examples/ExprHole.hs" 6 10 6 11
                  , srcInfoPoints = []
                  }))
          Nothing
      , FunBind
          SrcSpanInfo
            { srcInfoSpan = SrcSpan "tests/examples/ExprHole.hs" 8 1 10 14
            , srcInfoPoints = [ SrcSpan "tests/examples/ExprHole.hs" 9 3 9 8 ]
            }
          [ Match
              SrcSpanInfo
                { srcInfoSpan = SrcSpan "tests/examples/ExprHole.hs" 8 1 10 14
                , srcInfoPoints = [ SrcSpan "tests/examples/ExprHole.hs" 9 3 9 8 ]
                }
              (Ident
                 SrcSpanInfo
                   { srcInfoSpan = SrcSpan "tests/examples/ExprHole.hs" 8 1 8 4
                   , srcInfoPoints = []
                   }
                 "foo")
              [ PVar
                  SrcSpanInfo
                    { srcInfoSpan = SrcSpan "tests/examples/ExprHole.hs" 8 5 8 6
                    , srcInfoPoints = []
                    }
                  (Ident
                     SrcSpanInfo
                       { srcInfoSpan = SrcSpan "tests/examples/ExprHole.hs" 8 5 8 6
                       , srcInfoPoints = []
                       }
                     "x")
              ]
              (UnGuardedRhs
                 SrcSpanInfo
                   { srcInfoSpan = SrcSpan "tests/examples/ExprHole.hs" 8 7 8 12
                   , srcInfoPoints = [ SrcSpan "tests/examples/ExprHole.hs" 8 7 8 8 ]
                   }
                 (Var
                    SrcSpanInfo
                      { srcInfoSpan = SrcSpan "tests/examples/ExprHole.hs" 8 9 8 12
                      , srcInfoPoints = []
                      }
                    (UnQual
                       SrcSpanInfo
                         { srcInfoSpan = SrcSpan "tests/examples/ExprHole.hs" 8 9 8 12
                         , srcInfoPoints = []
                         }
                       (Ident
                          SrcSpanInfo
                            { srcInfoSpan = SrcSpan "tests/examples/ExprHole.hs" 8 9 8 12
                            , srcInfoPoints = []
                            }
                          "baz"))))
              (Just
                 (BDecls
                    SrcSpanInfo
                      { srcInfoSpan = SrcSpan "tests/examples/ExprHole.hs" 10 5 10 14
                      , srcInfoPoints =
                          [ SrcSpan "tests/examples/ExprHole.hs" 10 5 10 5
                          , SrcSpan "tests/examples/ExprHole.hs" 11 1 11 0
                          ]
                      }
                    [ FunBind
                        SrcSpanInfo
                          { srcInfoSpan = SrcSpan "tests/examples/ExprHole.hs" 10 5 10 14
                          , srcInfoPoints = []
                          }
                        [ Match
                            SrcSpanInfo
                              { srcInfoSpan = SrcSpan "tests/examples/ExprHole.hs" 10 5 10 14
                              , srcInfoPoints = []
                              }
                            (Ident
                               SrcSpanInfo
                                 { srcInfoSpan = SrcSpan "tests/examples/ExprHole.hs" 10 5 10 8
                                 , srcInfoPoints = []
                                 }
                               "foo")
                            [ PWildCard
                                SrcSpanInfo
                                  { srcInfoSpan = SrcSpan "tests/examples/ExprHole.hs" 10 9 10 10
                                  , srcInfoPoints = []
                                  }
                            ]
                            (UnGuardedRhs
                               SrcSpanInfo
                                 { srcInfoSpan = SrcSpan "tests/examples/ExprHole.hs" 10 11 10 14
                                 , srcInfoPoints =
                                     [ SrcSpan "tests/examples/ExprHole.hs" 10 11 10 12 ]
                                 }
                               (ExprHole
                                  SrcSpanInfo
                                    { srcInfoSpan = SrcSpan "tests/examples/ExprHole.hs" 10 13 10 14
                                    , srcInfoPoints = []
                                    }))
                            Nothing
                        ]
                    ]))
          ]
      ]
  , []
  )