ParseOk
  ( Module
      SrcSpanInfo
        { srcInfoSpan = SrcSpan "tests/examples/NPlusK.hs" 1 1 4 1
        , srcInfoPoints =
            [ SrcSpan "tests/examples/NPlusK.hs" 1 1 1 1
            , SrcSpan "tests/examples/NPlusK.hs" 3 1 3 1
            , SrcSpan "tests/examples/NPlusK.hs" 3 1 3 1
            , SrcSpan "tests/examples/NPlusK.hs" 3 1 3 1
            , SrcSpan "tests/examples/NPlusK.hs" 4 1 4 1
            , SrcSpan "tests/examples/NPlusK.hs" 4 1 4 1
            ]
        }
      Nothing
      [ LanguagePragma
          SrcSpanInfo
            { srcInfoSpan = SrcSpan "tests/examples/NPlusK.hs" 1 1 1 32
            , srcInfoPoints =
                [ SrcSpan "tests/examples/NPlusK.hs" 1 1 1 13
                , SrcSpan "tests/examples/NPlusK.hs" 1 29 1 32
                ]
            }
          [ Ident
              SrcSpanInfo
                { srcInfoSpan = SrcSpan "tests/examples/NPlusK.hs" 1 14 1 28
                , srcInfoPoints = []
                }
              "NPlusKPatterns"
          ]
      ]
      []
      [ FunBind
          SrcSpanInfo
            { srcInfoSpan = SrcSpan "tests/examples/NPlusK.hs" 3 1 3 12
            , srcInfoPoints = []
            }
          [ Match
              SrcSpanInfo
                { srcInfoSpan = SrcSpan "tests/examples/NPlusK.hs" 3 1 3 12
                , srcInfoPoints = []
                }
              (Ident
                 SrcSpanInfo
                   { srcInfoSpan = SrcSpan "tests/examples/NPlusK.hs" 3 1 3 2
                   , srcInfoPoints = []
                   }
                 "f")
              [ PParen
                  SrcSpanInfo
                    { srcInfoSpan = SrcSpan "tests/examples/NPlusK.hs" 3 3 3 8
                    , srcInfoPoints =
                        [ SrcSpan "tests/examples/NPlusK.hs" 3 3 3 4
                        , SrcSpan "tests/examples/NPlusK.hs" 3 7 3 8
                        ]
                    }
                  (PNPlusK
                     SrcSpanInfo
                       { srcInfoSpan = SrcSpan "tests/examples/NPlusK.hs" 3 4 3 7
                       , srcInfoPoints =
                           [ SrcSpan "tests/examples/NPlusK.hs" 3 5 3 6
                           , SrcSpan "tests/examples/NPlusK.hs" 3 6 3 7
                           ]
                       }
                     (Ident
                        SrcSpanInfo
                          { srcInfoSpan = SrcSpan "tests/examples/NPlusK.hs" 3 4 3 5
                          , srcInfoPoints = []
                          }
                        "n")
                     3)
              ]
              (UnGuardedRhs
                 SrcSpanInfo
                   { srcInfoSpan = SrcSpan "tests/examples/NPlusK.hs" 3 9 3 12
                   , srcInfoPoints = [ SrcSpan "tests/examples/NPlusK.hs" 3 9 3 10 ]
                   }
                 (Var
                    SrcSpanInfo
                      { srcInfoSpan = SrcSpan "tests/examples/NPlusK.hs" 3 11 3 12
                      , srcInfoPoints = []
                      }
                    (UnQual
                       SrcSpanInfo
                         { srcInfoSpan = SrcSpan "tests/examples/NPlusK.hs" 3 11 3 12
                         , srcInfoPoints = []
                         }
                       (Ident
                          SrcSpanInfo
                            { srcInfoSpan = SrcSpan "tests/examples/NPlusK.hs" 3 11 3 12
                            , srcInfoPoints = []
                            }
                          "n"))))
              Nothing
          ]
      ]
  , []
  )