ParseOk
  ( Module
      SrcSpanInfo
        { srcInfoSpan = SrcSpan "tests/examples/TypeInstances.hs" 1 1 8 1
        , srcInfoPoints =
            [ SrcSpan "tests/examples/TypeInstances.hs" 1 1 1 1
            , SrcSpan "tests/examples/TypeInstances.hs" 3 1 3 1
            , SrcSpan "tests/examples/TypeInstances.hs" 3 1 3 1
            , SrcSpan "tests/examples/TypeInstances.hs" 3 1 3 1
            , SrcSpan "tests/examples/TypeInstances.hs" 8 1 8 1
            , SrcSpan "tests/examples/TypeInstances.hs" 8 1 8 1
            ]
        }
      Nothing
      [ LanguagePragma
          SrcSpanInfo
            { srcInfoSpan = SrcSpan "tests/examples/TypeInstances.hs" 1 1 1 30
            , srcInfoPoints =
                [ SrcSpan "tests/examples/TypeInstances.hs" 1 1 1 13
                , SrcSpan "tests/examples/TypeInstances.hs" 1 27 1 30
                ]
            }
          [ Ident
              SrcSpanInfo
                { srcInfoSpan = SrcSpan "tests/examples/TypeInstances.hs" 1 14 1 26
                , srcInfoPoints = []
                }
              "TypeFamilies"
          ]
      ]
      []
      [ ClassDecl
          SrcSpanInfo
            { srcInfoSpan = SrcSpan "tests/examples/TypeInstances.hs" 3 1 7 21
            , srcInfoPoints =
                [ SrcSpan "tests/examples/TypeInstances.hs" 3 1 3 6
                , SrcSpan "tests/examples/TypeInstances.hs" 3 17 3 22
                , SrcSpan "tests/examples/TypeInstances.hs" 4 3 4 3
                , SrcSpan "tests/examples/TypeInstances.hs" 5 3 5 3
                , SrcSpan "tests/examples/TypeInstances.hs" 7 3 7 3
                , SrcSpan "tests/examples/TypeInstances.hs" 8 1 8 0
                ]
            }
          Nothing
          (DHApp
             SrcSpanInfo
               { srcInfoSpan = SrcSpan "tests/examples/TypeInstances.hs" 3 7 3 16
               , srcInfoPoints = []
               }
             (DHead
                SrcSpanInfo
                  { srcInfoSpan = SrcSpan "tests/examples/TypeInstances.hs" 3 7 3 14
                  , srcInfoPoints = []
                  }
                (Ident
                   SrcSpanInfo
                     { srcInfoSpan = SrcSpan "tests/examples/TypeInstances.hs" 3 7 3 14
                     , srcInfoPoints = []
                     }
                   "MapType"))
             (UnkindedVar
                SrcSpanInfo
                  { srcInfoSpan = SrcSpan "tests/examples/TypeInstances.hs" 3 15 3 16
                  , srcInfoPoints = []
                  }
                (Ident
                   SrcSpanInfo
                     { srcInfoSpan = SrcSpan "tests/examples/TypeInstances.hs" 3 15 3 16
                     , srcInfoPoints = []
                     }
                   "v")))
          []
          (Just
             [ ClsTyFam
                 SrcSpanInfo
                   { srcInfoSpan = SrcSpan "tests/examples/TypeInstances.hs" 4 3 4 18
                   , srcInfoPoints =
                       [ SrcSpan "tests/examples/TypeInstances.hs" 4 3 4 7 ]
                   }
                 (DHApp
                    SrcSpanInfo
                      { srcInfoSpan = SrcSpan "tests/examples/TypeInstances.hs" 4 8 4 13
                      , srcInfoPoints = []
                      }
                    (DHead
                       SrcSpanInfo
                         { srcInfoSpan = SrcSpan "tests/examples/TypeInstances.hs" 4 8 4 11
                         , srcInfoPoints = []
                         }
                       (Ident
                          SrcSpanInfo
                            { srcInfoSpan = SrcSpan "tests/examples/TypeInstances.hs" 4 8 4 11
                            , srcInfoPoints = []
                            }
                          "Key"))
                    (UnkindedVar
                       SrcSpanInfo
                         { srcInfoSpan = SrcSpan "tests/examples/TypeInstances.hs" 4 12 4 13
                         , srcInfoPoints = []
                         }
                       (Ident
                          SrcSpanInfo
                            { srcInfoSpan = SrcSpan "tests/examples/TypeInstances.hs" 4 12 4 13
                            , srcInfoPoints = []
                            }
                          "v")))
                 (Just
                    (KindSig
                       SrcSpanInfo
                         { srcInfoSpan = SrcSpan "tests/examples/TypeInstances.hs" 4 14 4 18
                         , srcInfoPoints =
                             [ SrcSpan "tests/examples/TypeInstances.hs" 4 14 4 16 ]
                         }
                       (KindStar
                          SrcSpanInfo
                            { srcInfoSpan = SrcSpan "tests/examples/TypeInstances.hs" 4 17 4 18
                            , srcInfoPoints = []
                            })))
                 Nothing
             , ClsTyDef
                 SrcSpanInfo
                   { srcInfoSpan = SrcSpan "tests/examples/TypeInstances.hs" 5 3 5 34
                   , srcInfoPoints =
                       [ SrcSpan "tests/examples/TypeInstances.hs" 5 3 5 7
                       , SrcSpan "tests/examples/TypeInstances.hs" 5 8 5 16
                       ]
                   }
                 (TypeEqn
                    SrcSpanInfo
                      { srcInfoSpan = SrcSpan "tests/examples/TypeInstances.hs" 5 17 5 34
                      , srcInfoPoints =
                          [ SrcSpan "tests/examples/TypeInstances.hs" 5 23 5 24 ]
                      }
                    (TyApp
                       SrcSpanInfo
                         { srcInfoSpan = SrcSpan "tests/examples/TypeInstances.hs" 5 17 5 22
                         , srcInfoPoints = []
                         }
                       (TyCon
                          SrcSpanInfo
                            { srcInfoSpan = SrcSpan "tests/examples/TypeInstances.hs" 5 17 5 20
                            , srcInfoPoints = []
                            }
                          (UnQual
                             SrcSpanInfo
                               { srcInfoSpan = SrcSpan "tests/examples/TypeInstances.hs" 5 17 5 20
                               , srcInfoPoints = []
                               }
                             (Ident
                                SrcSpanInfo
                                  { srcInfoSpan =
                                      SrcSpan "tests/examples/TypeInstances.hs" 5 17 5 20
                                  , srcInfoPoints = []
                                  }
                                "Key")))
                       (TyVar
                          SrcSpanInfo
                            { srcInfoSpan = SrcSpan "tests/examples/TypeInstances.hs" 5 21 5 22
                            , srcInfoPoints = []
                            }
                          (Ident
                             SrcSpanInfo
                               { srcInfoSpan = SrcSpan "tests/examples/TypeInstances.hs" 5 21 5 22
                               , srcInfoPoints = []
                               }
                             "v")))
                    (TyApp
                       SrcSpanInfo
                         { srcInfoSpan = SrcSpan "tests/examples/TypeInstances.hs" 5 25 5 34
                         , srcInfoPoints = []
                         }
                       (TyCon
                          SrcSpanInfo
                            { srcInfoSpan = SrcSpan "tests/examples/TypeInstances.hs" 5 25 5 32
                            , srcInfoPoints = []
                            }
                          (UnQual
                             SrcSpanInfo
                               { srcInfoSpan = SrcSpan "tests/examples/TypeInstances.hs" 5 25 5 32
                               , srcInfoPoints = []
                               }
                             (Ident
                                SrcSpanInfo
                                  { srcInfoSpan =
                                      SrcSpan "tests/examples/TypeInstances.hs" 5 25 5 32
                                  , srcInfoPoints = []
                                  }
                                "TileKey")))
                       (TyVar
                          SrcSpanInfo
                            { srcInfoSpan = SrcSpan "tests/examples/TypeInstances.hs" 5 33 5 34
                            , srcInfoPoints = []
                            }
                          (Ident
                             SrcSpanInfo
                               { srcInfoSpan = SrcSpan "tests/examples/TypeInstances.hs" 5 33 5 34
                               , srcInfoPoints = []
                               }
                             "v"))))
             , ClsTyFam
                 SrcSpanInfo
                   { srcInfoSpan = SrcSpan "tests/examples/TypeInstances.hs" 7 3 7 21
                   , srcInfoPoints =
                       [ SrcSpan "tests/examples/TypeInstances.hs" 7 3 7 7 ]
                   }
                 (DHApp
                    SrcSpanInfo
                      { srcInfoSpan = SrcSpan "tests/examples/TypeInstances.hs" 7 8 7 16
                      , srcInfoPoints = []
                      }
                    (DHead
                       SrcSpanInfo
                         { srcInfoSpan = SrcSpan "tests/examples/TypeInstances.hs" 7 8 7 14
                         , srcInfoPoints = []
                         }
                       (Ident
                          SrcSpanInfo
                            { srcInfoSpan = SrcSpan "tests/examples/TypeInstances.hs" 7 8 7 14
                            , srcInfoPoints = []
                            }
                          "Source"))
                    (UnkindedVar
                       SrcSpanInfo
                         { srcInfoSpan = SrcSpan "tests/examples/TypeInstances.hs" 7 15 7 16
                         , srcInfoPoints = []
                         }
                       (Ident
                          SrcSpanInfo
                            { srcInfoSpan = SrcSpan "tests/examples/TypeInstances.hs" 7 15 7 16
                            , srcInfoPoints = []
                            }
                          "v")))
                 (Just
                    (KindSig
                       SrcSpanInfo
                         { srcInfoSpan = SrcSpan "tests/examples/TypeInstances.hs" 7 17 7 21
                         , srcInfoPoints =
                             [ SrcSpan "tests/examples/TypeInstances.hs" 7 17 7 19 ]
                         }
                       (KindStar
                          SrcSpanInfo
                            { srcInfoSpan = SrcSpan "tests/examples/TypeInstances.hs" 7 20 7 21
                            , srcInfoPoints = []
                            })))
                 Nothing
             ])
      ]
  , []
  )