ParseOk
  ( Module
      SrcSpanInfo
        { srcInfoSpan =
            SrcSpan "tests/examples/QualifiedRecordfieldPuns.hs" 1 1 4 1
        , srcInfoPoints =
            [ SrcSpan "tests/examples/QualifiedRecordfieldPuns.hs" 1 1 1 1
            , SrcSpan "tests/examples/QualifiedRecordfieldPuns.hs" 2 1 2 1
            , SrcSpan "tests/examples/QualifiedRecordfieldPuns.hs" 2 1 2 1
            , SrcSpan "tests/examples/QualifiedRecordfieldPuns.hs" 2 1 2 1
            , SrcSpan "tests/examples/QualifiedRecordfieldPuns.hs" 4 1 4 1
            , SrcSpan "tests/examples/QualifiedRecordfieldPuns.hs" 4 1 4 1
            ]
        }
      Nothing
      [ LanguagePragma
          SrcSpanInfo
            { srcInfoSpan =
                SrcSpan "tests/examples/QualifiedRecordfieldPuns.hs" 1 1 1 32
            , srcInfoPoints =
                [ SrcSpan "tests/examples/QualifiedRecordfieldPuns.hs" 1 1 1 13
                , SrcSpan "tests/examples/QualifiedRecordfieldPuns.hs" 1 29 1 32
                ]
            }
          [ Ident
              SrcSpanInfo
                { srcInfoSpan =
                    SrcSpan "tests/examples/QualifiedRecordfieldPuns.hs" 1 14 1 28
                , srcInfoPoints = []
                }
              "NamedFieldPuns"
          ]
      ]
      []
      [ FunBind
          SrcSpanInfo
            { srcInfoSpan =
                SrcSpan "tests/examples/QualifiedRecordfieldPuns.hs" 2 1 2 16
            , srcInfoPoints = []
            }
          [ Match
              SrcSpanInfo
                { srcInfoSpan =
                    SrcSpan "tests/examples/QualifiedRecordfieldPuns.hs" 2 1 2 16
                , srcInfoPoints = []
                }
              (Ident
                 SrcSpanInfo
                   { srcInfoSpan =
                       SrcSpan "tests/examples/QualifiedRecordfieldPuns.hs" 2 1 2 2
                   , srcInfoPoints = []
                   }
                 "f")
              [ PParen
                  SrcSpanInfo
                    { srcInfoSpan =
                        SrcSpan "tests/examples/QualifiedRecordfieldPuns.hs" 2 3 2 12
                    , srcInfoPoints =
                        [ SrcSpan "tests/examples/QualifiedRecordfieldPuns.hs" 2 3 2 4
                        , SrcSpan "tests/examples/QualifiedRecordfieldPuns.hs" 2 11 2 12
                        ]
                    }
                  (PRec
                     SrcSpanInfo
                       { srcInfoSpan =
                           SrcSpan "tests/examples/QualifiedRecordfieldPuns.hs" 2 4 2 11
                       , srcInfoPoints =
                           [ SrcSpan "tests/examples/QualifiedRecordfieldPuns.hs" 2 6 2 7
                           , SrcSpan "tests/examples/QualifiedRecordfieldPuns.hs" 2 10 2 11
                           ]
                       }
                     (UnQual
                        SrcSpanInfo
                          { srcInfoSpan =
                              SrcSpan "tests/examples/QualifiedRecordfieldPuns.hs" 2 4 2 5
                          , srcInfoPoints = []
                          }
                        (Ident
                           SrcSpanInfo
                             { srcInfoSpan =
                                 SrcSpan "tests/examples/QualifiedRecordfieldPuns.hs" 2 4 2 5
                             , srcInfoPoints = []
                             }
                           "C"))
                     [ PFieldPun
                         SrcSpanInfo
                           { srcInfoSpan =
                               SrcSpan "tests/examples/QualifiedRecordfieldPuns.hs" 2 7 2 10
                           , srcInfoPoints = []
                           }
                         (Qual
                            SrcSpanInfo
                              { srcInfoSpan =
                                  SrcSpan "tests/examples/QualifiedRecordfieldPuns.hs" 2 7 2 10
                              , srcInfoPoints = []
                              }
                            (ModuleName
                               SrcSpanInfo
                                 { srcInfoSpan =
                                     SrcSpan "tests/examples/QualifiedRecordfieldPuns.hs" 2 7 2 10
                                 , srcInfoPoints = []
                                 }
                               "M")
                            (Ident
                               SrcSpanInfo
                                 { srcInfoSpan =
                                     SrcSpan "tests/examples/QualifiedRecordfieldPuns.hs" 2 7 2 10
                                 , srcInfoPoints = []
                                 }
                               "a"))
                     ])
              ]
              (UnGuardedRhs
                 SrcSpanInfo
                   { srcInfoSpan =
                       SrcSpan "tests/examples/QualifiedRecordfieldPuns.hs" 2 13 2 16
                   , srcInfoPoints =
                       [ SrcSpan "tests/examples/QualifiedRecordfieldPuns.hs" 2 13 2 14 ]
                   }
                 (Var
                    SrcSpanInfo
                      { srcInfoSpan =
                          SrcSpan "tests/examples/QualifiedRecordfieldPuns.hs" 2 15 2 16
                      , srcInfoPoints = []
                      }
                    (UnQual
                       SrcSpanInfo
                         { srcInfoSpan =
                             SrcSpan "tests/examples/QualifiedRecordfieldPuns.hs" 2 15 2 16
                         , srcInfoPoints = []
                         }
                       (Ident
                          SrcSpanInfo
                            { srcInfoSpan =
                                SrcSpan "tests/examples/QualifiedRecordfieldPuns.hs" 2 15 2 16
                            , srcInfoPoints = []
                            }
                          "a"))))
              Nothing
          ]
      ]
  , []
  )