ParseOk
  ( Module
      SrcSpanInfo
        { srcInfoSpan =
            SrcSpan "tests/examples/EmptyFunDepPremise.hs" 1 1 5 1
        , srcInfoPoints =
            [ SrcSpan "tests/examples/EmptyFunDepPremise.hs" 1 1 1 1
            , SrcSpan "tests/examples/EmptyFunDepPremise.hs" 2 1 2 1
            , SrcSpan "tests/examples/EmptyFunDepPremise.hs" 2 1 2 1
            , SrcSpan "tests/examples/EmptyFunDepPremise.hs" 4 1 4 1
            , SrcSpan "tests/examples/EmptyFunDepPremise.hs" 5 1 5 1
            , SrcSpan "tests/examples/EmptyFunDepPremise.hs" 5 1 5 1
            ]
        }
      (Just
         (ModuleHead
            SrcSpanInfo
              { srcInfoSpan =
                  SrcSpan "tests/examples/EmptyFunDepPremise.hs" 2 1 2 32
              , srcInfoPoints =
                  [ SrcSpan "tests/examples/EmptyFunDepPremise.hs" 2 1 2 7
                  , SrcSpan "tests/examples/EmptyFunDepPremise.hs" 2 27 2 32
                  ]
              }
            (ModuleName
               SrcSpanInfo
                 { srcInfoSpan =
                     SrcSpan "tests/examples/EmptyFunDepPremise.hs" 2 8 2 26
                 , srcInfoPoints = []
                 }
               "EmptyFunDepPremise")
            Nothing
            Nothing))
      [ LanguagePragma
          SrcSpanInfo
            { srcInfoSpan =
                SrcSpan "tests/examples/EmptyFunDepPremise.hs" 1 1 1 40
            , srcInfoPoints =
                [ SrcSpan "tests/examples/EmptyFunDepPremise.hs" 1 1 1 13
                , SrcSpan "tests/examples/EmptyFunDepPremise.hs" 1 37 1 40
                ]
            }
          [ Ident
              SrcSpanInfo
                { srcInfoSpan =
                    SrcSpan "tests/examples/EmptyFunDepPremise.hs" 1 14 1 36
                , srcInfoPoints = []
                }
              "FunctionalDependencies"
          ]
      ]
      []
      [ ClassDecl
          SrcSpanInfo
            { srcInfoSpan =
                SrcSpan "tests/examples/EmptyFunDepPremise.hs" 4 1 4 17
            , srcInfoPoints =
                [ SrcSpan "tests/examples/EmptyFunDepPremise.hs" 4 1 4 6
                , SrcSpan "tests/examples/EmptyFunDepPremise.hs" 4 11 4 12
                ]
            }
          Nothing
          (DHApp
             SrcSpanInfo
               { srcInfoSpan =
                   SrcSpan "tests/examples/EmptyFunDepPremise.hs" 4 7 4 10
               , srcInfoPoints = []
               }
             (DHead
                SrcSpanInfo
                  { srcInfoSpan =
                      SrcSpan "tests/examples/EmptyFunDepPremise.hs" 4 7 4 8
                  , srcInfoPoints = []
                  }
                (Ident
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/EmptyFunDepPremise.hs" 4 7 4 8
                     , srcInfoPoints = []
                     }
                   "C"))
             (UnkindedVar
                SrcSpanInfo
                  { srcInfoSpan =
                      SrcSpan "tests/examples/EmptyFunDepPremise.hs" 4 9 4 10
                  , srcInfoPoints = []
                  }
                (Ident
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/EmptyFunDepPremise.hs" 4 9 4 10
                     , srcInfoPoints = []
                     }
                   "a")))
          [ FunDep
              SrcSpanInfo
                { srcInfoSpan =
                    SrcSpan "tests/examples/EmptyFunDepPremise.hs" 4 13 4 17
                , srcInfoPoints =
                    [ SrcSpan "tests/examples/EmptyFunDepPremise.hs" 4 13 4 15 ]
                }
              []
              [ Ident
                  SrcSpanInfo
                    { srcInfoSpan =
                        SrcSpan "tests/examples/EmptyFunDepPremise.hs" 4 16 4 17
                    , srcInfoPoints = []
                    }
                  "a"
              ]
          ]
          Nothing
      ]
  , []
  )