ParseOk
  ( Module
      SrcSpanInfo
        { srcInfoSpan =
            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 1 1 256 1
        , srcInfoPoints =
            [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 1 1 1 1
            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 2 1 2 1
            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 3 1 3 1
            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 4 1 4 1
            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 5 1 5 1
            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 6 1 6 1
            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 7 1 7 1
            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 8 1 8 1
            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 10 1 10 1
            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 10 1 10 1
            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 12 1 12 1
            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 14 1 14 1
            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 15 1 15 1
            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 16 1 16 1
            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 17 1 17 1
            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 20 1 20 1
            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 22 1 22 1
            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 23 1 23 1
            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 24 1 24 1
            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 25 1 25 1
            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 29 1 29 1
            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 30 1 30 1
            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 32 1 32 1
            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 33 1 33 1
            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 36 1 36 1
            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 37 1 37 1
            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 40 1 40 1
            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 41 1 41 1
            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 42 1 42 1
            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 48 1 48 1
            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 53 1 53 1
            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 58 1 58 1
            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 61 1 61 1
            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 66 1 66 1
            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 73 1 73 1
            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 80 1 80 1
            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 88 1 88 1
            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 89 1 89 1
            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 92 1 92 1
            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 93 1 93 1
            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 96 1 96 1
            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 97 1 97 1
            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 99 1 99 1
            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 100 1 100 1
            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 103 1 103 1
            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 104 1 104 1
            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 107 1 107 1
            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 108 1 108 1
            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 111 1 111 1
            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 112 1 112 1
            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 114 1 114 1
            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 115 1 115 1
            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 118 1 118 1
            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 119 1 119 1
            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 121 1 121 1
            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 122 1 122 1
            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 124 1 124 1
            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 125 1 125 1
            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 127 1 127 1
            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 128 1 128 1
            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 130 1 130 1
            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 131 1 131 1
            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 133 1 133 1
            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 134 1 134 1
            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 136 1 136 1
            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 137 1 137 1
            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 139 1 139 1
            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 140 1 140 1
            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 142 1 142 1
            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 143 1 143 1
            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 148 1 148 1
            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 149 1 149 1
            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 151 1 151 1
            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 156 1 156 1
            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 157 1 157 1
            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 159 1 159 1
            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 162 1 162 1
            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 163 1 163 1
            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 165 1 165 1
            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 170 1 170 1
            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 176 1 176 1
            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 177 1 177 1
            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 178 1 178 1
            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 179 1 179 1
            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 181 1 181 1
            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 182 1 182 1
            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 184 1 184 1
            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 188 1 188 1
            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 189 1 189 1
            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 190 1 190 1
            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 191 1 191 1
            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 192 1 192 1
            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 194 1 194 1
            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 195 1 195 1
            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 196 1 196 1
            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 198 1 198 1
            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 199 1 199 1
            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 200 1 200 1
            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 202 1 202 1
            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 203 1 203 1
            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 204 1 204 1
            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 206 1 206 1
            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 207 1 207 1
            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 208 1 208 1
            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 210 1 210 1
            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 211 1 211 1
            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 213 1 213 1
            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 214 1 214 1
            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 217 1 217 1
            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 218 1 218 1
            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 222 1 222 1
            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 223 1 223 1
            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 226 1 226 1
            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 227 1 227 1
            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 228 1 228 1
            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 232 1 232 1
            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 233 1 233 1
            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 236 1 236 1
            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 238 1 238 1
            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 245 1 245 1
            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 249 1 249 1
            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 254 1 254 1
            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 255 1 255 1
            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 256 1 256 1
            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 256 1 256 1
            ]
        }
      (Just
         (ModuleHead
            SrcSpanInfo
              { srcInfoSpan =
                  SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 10 1 10 19
              , srcInfoPoints =
                  [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 10 1 10 7
                  , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 10 14 10 19
                  ]
              }
            (ModuleName
               SrcSpanInfo
                 { srcInfoSpan =
                     SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 10 8 10 13
                 , srcInfoPoints = []
                 }
               "T6018")
            Nothing
            Nothing))
      [ LanguagePragma
          SrcSpanInfo
            { srcInfoSpan =
                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 1 1 1 43
            , srcInfoPoints =
                [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 1 1 1 13
                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 1 40 1 43
                ]
            }
          [ Ident
              SrcSpanInfo
                { srcInfoSpan =
                    SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 1 14 1 23
                , srcInfoPoints = []
                }
              "DataKinds"
          ]
      , LanguagePragma
          SrcSpanInfo
            { srcInfoSpan =
                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 2 1 2 43
            , srcInfoPoints =
                [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 2 1 2 13
                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 2 40 2 43
                ]
            }
          [ Ident
              SrcSpanInfo
                { srcInfoSpan =
                    SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 2 14 2 35
                , srcInfoPoints = []
                }
              "MultiParamTypeClasses"
          ]
      , LanguagePragma
          SrcSpanInfo
            { srcInfoSpan =
                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 3 1 3 43
            , srcInfoPoints =
                [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 3 1 3 13
                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 3 40 3 43
                ]
            }
          [ Ident
              SrcSpanInfo
                { srcInfoSpan =
                    SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 3 14 3 23
                , srcInfoPoints = []
                }
              "PolyKinds"
          ]
      , LanguagePragma
          SrcSpanInfo
            { srcInfoSpan =
                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 4 1 4 44
            , srcInfoPoints =
                [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 4 1 4 13
                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 4 41 4 44
                ]
            }
          [ Ident
              SrcSpanInfo
                { srcInfoSpan =
                    SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 4 14 4 36
                , srcInfoPoints = []
                }
              "TypeFamilyDependencies"
          ]
      , LanguagePragma
          SrcSpanInfo
            { srcInfoSpan =
                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 5 1 5 34
            , srcInfoPoints =
                [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 5 1 5 13
                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 5 31 5 34
                ]
            }
          [ Ident
              SrcSpanInfo
                { srcInfoSpan =
                    SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 5 14 5 26
                , srcInfoPoints = []
                }
              "TypeFamilies"
          ]
      , LanguagePragma
          SrcSpanInfo
            { srcInfoSpan =
                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 6 1 6 43
            , srcInfoPoints =
                [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 6 1 6 13
                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 6 40 6 43
                ]
            }
          [ Ident
              SrcSpanInfo
                { srcInfoSpan =
                    SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 6 14 6 34
                , srcInfoPoints = []
                }
              "UndecidableInstances"
          ]
      , LanguagePragma
          SrcSpanInfo
            { srcInfoSpan =
                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 7 1 7 43
            , srcInfoPoints =
                [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 7 1 7 13
                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 7 40 7 43
                ]
            }
          [ Ident
              SrcSpanInfo
                { srcInfoSpan =
                    SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 7 14 7 33
                , srcInfoPoints = []
                }
              "ScopedTypeVariables"
          ]
      , LanguagePragma
          SrcSpanInfo
            { srcInfoSpan =
                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 8 1 8 43
            , srcInfoPoints =
                [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 8 1 8 13
                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 8 40 8 43
                ]
            }
          [ Ident
              SrcSpanInfo
                { srcInfoSpan =
                    SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 8 14 8 39
                , srcInfoPoints = []
                }
              "NoMonomorphismRestriction"
          ]
      ]
      [ ImportDecl
          { importAnn =
              SrcSpanInfo
                { srcInfoSpan =
                    SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 12 1 12 14
                , srcInfoPoints =
                    [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 12 1 12 7 ]
                }
          , importModule =
              ModuleName
                SrcSpanInfo
                  { srcInfoSpan =
                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 12 8 12 14
                  , srcInfoPoints = []
                  }
                "T6018a"
          , importQualified = False
          , importSrc = False
          , importSafe = False
          , importPkg = Nothing
          , importAs = Nothing
          , importSpecs = Nothing
          }
      ]
      [ TypeFamDecl
          SrcSpanInfo
            { srcInfoSpan =
                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 14 1 14 20
            , srcInfoPoints =
                [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 14 1 14 5
                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 14 6 14 12
                ]
            }
          (DHApp
             SrcSpanInfo
               { srcInfoSpan =
                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 14 13 14 20
               , srcInfoPoints = []
               }
             (DHApp
                SrcSpanInfo
                  { srcInfoSpan =
                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 14 13 14 18
                  , srcInfoPoints = []
                  }
                (DHApp
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 14 13 14 16
                     , srcInfoPoints = []
                     }
                   (DHead
                      SrcSpanInfo
                        { srcInfoSpan =
                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 14 13 14 14
                        , srcInfoPoints = []
                        }
                      (Ident
                         SrcSpanInfo
                           { srcInfoSpan =
                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 14 13 14 14
                           , srcInfoPoints = []
                           }
                         "F"))
                   (UnkindedVar
                      SrcSpanInfo
                        { srcInfoSpan =
                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 14 15 14 16
                        , srcInfoPoints = []
                        }
                      (Ident
                         SrcSpanInfo
                           { srcInfoSpan =
                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 14 15 14 16
                           , srcInfoPoints = []
                           }
                         "a")))
                (UnkindedVar
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 14 17 14 18
                     , srcInfoPoints = []
                     }
                   (Ident
                      SrcSpanInfo
                        { srcInfoSpan =
                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 14 17 14 18
                        , srcInfoPoints = []
                        }
                      "b")))
             (UnkindedVar
                SrcSpanInfo
                  { srcInfoSpan =
                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 14 19 14 20
                  , srcInfoPoints = []
                  }
                (Ident
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 14 19 14 20
                     , srcInfoPoints = []
                     }
                   "c")))
          (Just
             (TyVarSig
                SrcSpanInfo
                  { srcInfoSpan =
                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 14 21 14 36
                  , srcInfoPoints =
                      [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 14 21 14 22 ]
                  }
                (KindedVar
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 14 23 14 36
                     , srcInfoPoints =
                         [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 14 23 14 24
                         , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 14 31 14 33
                         , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 14 35 14 36
                         ]
                     }
                   (Ident
                      SrcSpanInfo
                        { srcInfoSpan =
                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 14 24 14 30
                        , srcInfoPoints = []
                        }
                      "result")
                   (KindVar
                      SrcSpanInfo
                        { srcInfoSpan =
                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 14 34 14 35
                        , srcInfoPoints = []
                        }
                      (UnQual
                         SrcSpanInfo
                           { srcInfoSpan =
                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 14 34 14 35
                           , srcInfoPoints = []
                           }
                         (Ident
                            SrcSpanInfo
                              { srcInfoSpan =
                                  SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 14 34 14 35
                              , srcInfoPoints = []
                              }
                            "k"))))))
          (Just
             (InjectivityInfo
                SrcSpanInfo
                  { srcInfoSpan =
                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 14 37 14 50
                  , srcInfoPoints =
                      [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 14 37 14 38
                      , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 14 46 14 48
                      ]
                  }
                (Ident
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 14 39 14 45
                     , srcInfoPoints = []
                     }
                   "result")
                [ Ident
                    SrcSpanInfo
                      { srcInfoSpan =
                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 14 49 14 50
                      , srcInfoPoints = []
                      }
                    "a"
                , Ident
                    SrcSpanInfo
                      { srcInfoSpan =
                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 14 51 14 52
                      , srcInfoPoints = []
                      }
                    "b"
                , Ident
                    SrcSpanInfo
                      { srcInfoSpan =
                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 14 53 14 54
                      , srcInfoPoints = []
                      }
                    "c"
                ]))
      , TypeInsDecl
          SrcSpanInfo
            { srcInfoSpan =
                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 15 1 15 38
            , srcInfoPoints =
                [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 15 1 15 5
                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 15 6 15 14
                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 15 32 15 33
                ]
            }
          (TyApp
             SrcSpanInfo
               { srcInfoSpan =
                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 15 15 15 31
               , srcInfoPoints = []
               }
             (TyApp
                SrcSpanInfo
                  { srcInfoSpan =
                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 15 15 15 26
                  , srcInfoPoints = []
                  }
                (TyApp
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 15 15 15 20
                     , srcInfoPoints = []
                     }
                   (TyCon
                      SrcSpanInfo
                        { srcInfoSpan =
                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 15 15 15 16
                        , srcInfoPoints = []
                        }
                      (UnQual
                         SrcSpanInfo
                           { srcInfoSpan =
                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 15 15 15 16
                           , srcInfoPoints = []
                           }
                         (Ident
                            SrcSpanInfo
                              { srcInfoSpan =
                                  SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 15 15 15 16
                              , srcInfoPoints = []
                              }
                            "F")))
                   (TyCon
                      SrcSpanInfo
                        { srcInfoSpan =
                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 15 17 15 20
                        , srcInfoPoints = []
                        }
                      (UnQual
                         SrcSpanInfo
                           { srcInfoSpan =
                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 15 17 15 20
                           , srcInfoPoints = []
                           }
                         (Ident
                            SrcSpanInfo
                              { srcInfoSpan =
                                  SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 15 17 15 20
                              , srcInfoPoints = []
                              }
                            "Int"))))
                (TyCon
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 15 22 15 26
                     , srcInfoPoints = []
                     }
                   (UnQual
                      SrcSpanInfo
                        { srcInfoSpan =
                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 15 22 15 26
                        , srcInfoPoints = []
                        }
                      (Ident
                         SrcSpanInfo
                           { srcInfoSpan =
                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 15 22 15 26
                           , srcInfoPoints = []
                           }
                         "Char"))))
             (TyCon
                SrcSpanInfo
                  { srcInfoSpan =
                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 15 27 15 31
                  , srcInfoPoints = []
                  }
                (UnQual
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 15 27 15 31
                     , srcInfoPoints = []
                     }
                   (Ident
                      SrcSpanInfo
                        { srcInfoSpan =
                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 15 27 15 31
                        , srcInfoPoints = []
                        }
                      "Bool"))))
          (TyCon
             SrcSpanInfo
               { srcInfoSpan =
                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 15 34 15 38
               , srcInfoPoints = []
               }
             (UnQual
                SrcSpanInfo
                  { srcInfoSpan =
                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 15 34 15 38
                  , srcInfoPoints = []
                  }
                (Ident
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 15 34 15 38
                     , srcInfoPoints = []
                     }
                   "Bool")))
      , TypeInsDecl
          SrcSpanInfo
            { srcInfoSpan =
                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 16 1 16 37
            , srcInfoPoints =
                [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 16 1 16 5
                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 16 6 16 14
                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 16 32 16 33
                ]
            }
          (TyApp
             SrcSpanInfo
               { srcInfoSpan =
                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 16 15 16 30
               , srcInfoPoints = []
               }
             (TyApp
                SrcSpanInfo
                  { srcInfoSpan =
                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 16 15 16 26
                  , srcInfoPoints = []
                  }
                (TyApp
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 16 15 16 21
                     , srcInfoPoints = []
                     }
                   (TyCon
                      SrcSpanInfo
                        { srcInfoSpan =
                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 16 15 16 16
                        , srcInfoPoints = []
                        }
                      (UnQual
                         SrcSpanInfo
                           { srcInfoSpan =
                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 16 15 16 16
                           , srcInfoPoints = []
                           }
                         (Ident
                            SrcSpanInfo
                              { srcInfoSpan =
                                  SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 16 15 16 16
                              , srcInfoPoints = []
                              }
                            "F")))
                   (TyCon
                      SrcSpanInfo
                        { srcInfoSpan =
                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 16 17 16 21
                        , srcInfoPoints = []
                        }
                      (UnQual
                         SrcSpanInfo
                           { srcInfoSpan =
                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 16 17 16 21
                           , srcInfoPoints = []
                           }
                         (Ident
                            SrcSpanInfo
                              { srcInfoSpan =
                                  SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 16 17 16 21
                              , srcInfoPoints = []
                              }
                            "Char"))))
                (TyCon
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 16 22 16 26
                     , srcInfoPoints = []
                     }
                   (UnQual
                      SrcSpanInfo
                        { srcInfoSpan =
                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 16 22 16 26
                        , srcInfoPoints = []
                        }
                      (Ident
                         SrcSpanInfo
                           { srcInfoSpan =
                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 16 22 16 26
                           , srcInfoPoints = []
                           }
                         "Bool"))))
             (TyCon
                SrcSpanInfo
                  { srcInfoSpan =
                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 16 27 16 30
                  , srcInfoPoints = []
                  }
                (UnQual
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 16 27 16 30
                     , srcInfoPoints = []
                     }
                   (Ident
                      SrcSpanInfo
                        { srcInfoSpan =
                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 16 27 16 30
                        , srcInfoPoints = []
                        }
                      "Int"))))
          (TyCon
             SrcSpanInfo
               { srcInfoSpan =
                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 16 34 16 37
               , srcInfoPoints = []
               }
             (UnQual
                SrcSpanInfo
                  { srcInfoSpan =
                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 16 34 16 37
                  , srcInfoPoints = []
                  }
                (Ident
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 16 34 16 37
                     , srcInfoPoints = []
                     }
                   "Int")))
      , TypeInsDecl
          SrcSpanInfo
            { srcInfoSpan =
                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 17 1 17 38
            , srcInfoPoints =
                [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 17 1 17 5
                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 17 6 17 14
                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 17 32 17 33
                ]
            }
          (TyApp
             SrcSpanInfo
               { srcInfoSpan =
                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 17 15 17 31
               , srcInfoPoints = []
               }
             (TyApp
                SrcSpanInfo
                  { srcInfoSpan =
                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 17 15 17 25
                  , srcInfoPoints = []
                  }
                (TyApp
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 17 15 17 21
                     , srcInfoPoints = []
                     }
                   (TyCon
                      SrcSpanInfo
                        { srcInfoSpan =
                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 17 15 17 16
                        , srcInfoPoints = []
                        }
                      (UnQual
                         SrcSpanInfo
                           { srcInfoSpan =
                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 17 15 17 16
                           , srcInfoPoints = []
                           }
                         (Ident
                            SrcSpanInfo
                              { srcInfoSpan =
                                  SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 17 15 17 16
                              , srcInfoPoints = []
                              }
                            "F")))
                   (TyCon
                      SrcSpanInfo
                        { srcInfoSpan =
                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 17 17 17 21
                        , srcInfoPoints = []
                        }
                      (UnQual
                         SrcSpanInfo
                           { srcInfoSpan =
                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 17 17 17 21
                           , srcInfoPoints = []
                           }
                         (Ident
                            SrcSpanInfo
                              { srcInfoSpan =
                                  SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 17 17 17 21
                              , srcInfoPoints = []
                              }
                            "Bool"))))
                (TyCon
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 17 22 17 25
                     , srcInfoPoints = []
                     }
                   (UnQual
                      SrcSpanInfo
                        { srcInfoSpan =
                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 17 22 17 25
                        , srcInfoPoints = []
                        }
                      (Ident
                         SrcSpanInfo
                           { srcInfoSpan =
                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 17 22 17 25
                           , srcInfoPoints = []
                           }
                         "Int"))))
             (TyCon
                SrcSpanInfo
                  { srcInfoSpan =
                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 17 27 17 31
                  , srcInfoPoints = []
                  }
                (UnQual
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 17 27 17 31
                     , srcInfoPoints = []
                     }
                   (Ident
                      SrcSpanInfo
                        { srcInfoSpan =
                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 17 27 17 31
                        , srcInfoPoints = []
                        }
                      "Char"))))
          (TyCon
             SrcSpanInfo
               { srcInfoSpan =
                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 17 34 17 38
               , srcInfoPoints = []
               }
             (UnQual
                SrcSpanInfo
                  { srcInfoSpan =
                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 17 34 17 38
                  , srcInfoPoints = []
                  }
                (Ident
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 17 34 17 38
                     , srcInfoPoints = []
                     }
                   "Char")))
      , TypeInsDecl
          SrcSpanInfo
            { srcInfoSpan =
                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 20 1 20 38
            , srcInfoPoints =
                [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 20 1 20 5
                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 20 6 20 14
                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 20 32 20 33
                ]
            }
          (TyApp
             SrcSpanInfo
               { srcInfoSpan =
                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 20 15 20 31
               , srcInfoPoints = []
               }
             (TyApp
                SrcSpanInfo
                  { srcInfoSpan =
                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 20 15 20 25
                  , srcInfoPoints = []
                  }
                (TyApp
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 20 15 20 21
                     , srcInfoPoints = []
                     }
                   (TyCon
                      SrcSpanInfo
                        { srcInfoSpan =
                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 20 15 20 16
                        , srcInfoPoints = []
                        }
                      (UnQual
                         SrcSpanInfo
                           { srcInfoSpan =
                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 20 15 20 16
                           , srcInfoPoints = []
                           }
                         (Ident
                            SrcSpanInfo
                              { srcInfoSpan =
                                  SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 20 15 20 16
                              , srcInfoPoints = []
                              }
                            "G")))
                   (TyCon
                      SrcSpanInfo
                        { srcInfoSpan =
                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 20 17 20 21
                        , srcInfoPoints = []
                        }
                      (UnQual
                         SrcSpanInfo
                           { srcInfoSpan =
                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 20 17 20 21
                           , srcInfoPoints = []
                           }
                         (Ident
                            SrcSpanInfo
                              { srcInfoSpan =
                                  SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 20 17 20 21
                              , srcInfoPoints = []
                              }
                            "Bool"))))
                (TyCon
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 20 22 20 25
                     , srcInfoPoints = []
                     }
                   (UnQual
                      SrcSpanInfo
                        { srcInfoSpan =
                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 20 22 20 25
                        , srcInfoPoints = []
                        }
                      (Ident
                         SrcSpanInfo
                           { srcInfoSpan =
                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 20 22 20 25
                           , srcInfoPoints = []
                           }
                         "Int"))))
             (TyCon
                SrcSpanInfo
                  { srcInfoSpan =
                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 20 27 20 31
                  , srcInfoPoints = []
                  }
                (UnQual
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 20 27 20 31
                     , srcInfoPoints = []
                     }
                   (Ident
                      SrcSpanInfo
                        { srcInfoSpan =
                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 20 27 20 31
                        , srcInfoPoints = []
                        }
                      "Char"))))
          (TyCon
             SrcSpanInfo
               { srcInfoSpan =
                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 20 34 20 38
               , srcInfoPoints = []
               }
             (UnQual
                SrcSpanInfo
                  { srcInfoSpan =
                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 20 34 20 38
                  , srcInfoPoints = []
                  }
                (Ident
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 20 34 20 38
                     , srcInfoPoints = []
                     }
                   "Char")))
      , TypeFamDecl
          SrcSpanInfo
            { srcInfoSpan =
                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 22 1 22 34
            , srcInfoPoints =
                [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 22 1 22 5
                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 22 6 22 12
                ]
            }
          (DHApp
             SrcSpanInfo
               { srcInfoSpan =
                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 22 13 22 34
               , srcInfoPoints = []
               }
             (DHApp
                SrcSpanInfo
                  { srcInfoSpan =
                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 22 13 22 25
                  , srcInfoPoints = []
                  }
                (DHApp
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 22 13 22 23
                     , srcInfoPoints = []
                     }
                   (DHead
                      SrcSpanInfo
                        { srcInfoSpan =
                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 22 13 22 14
                        , srcInfoPoints = []
                        }
                      (Ident
                         SrcSpanInfo
                           { srcInfoSpan =
                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 22 13 22 14
                           , srcInfoPoints = []
                           }
                         "I"))
                   (KindedVar
                      SrcSpanInfo
                        { srcInfoSpan =
                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 22 15 22 23
                        , srcInfoPoints =
                            [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 22 15 22 16
                            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 22 18 22 20
                            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 22 22 22 23
                            ]
                        }
                      (Ident
                         SrcSpanInfo
                           { srcInfoSpan =
                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 22 16 22 17
                           , srcInfoPoints = []
                           }
                         "a")
                      (KindVar
                         SrcSpanInfo
                           { srcInfoSpan =
                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 22 21 22 22
                           , srcInfoPoints = []
                           }
                         (UnQual
                            SrcSpanInfo
                              { srcInfoSpan =
                                  SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 22 21 22 22
                              , srcInfoPoints = []
                              }
                            (Ident
                               SrcSpanInfo
                                 { srcInfoSpan =
                                     SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 22 21 22 22
                                 , srcInfoPoints = []
                                 }
                               "k")))))
                (UnkindedVar
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 22 24 22 25
                     , srcInfoPoints = []
                     }
                   (Ident
                      SrcSpanInfo
                        { srcInfoSpan =
                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 22 24 22 25
                        , srcInfoPoints = []
                        }
                      "b")))
             (KindedVar
                SrcSpanInfo
                  { srcInfoSpan =
                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 22 26 22 34
                  , srcInfoPoints =
                      [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 22 26 22 27
                      , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 22 29 22 31
                      , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 22 33 22 34
                      ]
                  }
                (Ident
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 22 27 22 28
                     , srcInfoPoints = []
                     }
                   "c")
                (KindVar
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 22 32 22 33
                     , srcInfoPoints = []
                     }
                   (UnQual
                      SrcSpanInfo
                        { srcInfoSpan =
                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 22 32 22 33
                        , srcInfoPoints = []
                        }
                      (Ident
                         SrcSpanInfo
                           { srcInfoSpan =
                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 22 32 22 33
                           , srcInfoPoints = []
                           }
                         "k")))))
          (Just
             (TyVarSig
                SrcSpanInfo
                  { srcInfoSpan =
                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 22 35 22 38
                  , srcInfoPoints =
                      [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 22 35 22 36 ]
                  }
                (UnkindedVar
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 22 37 22 38
                     , srcInfoPoints = []
                     }
                   (Ident
                      SrcSpanInfo
                        { srcInfoSpan =
                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 22 37 22 38
                        , srcInfoPoints = []
                        }
                      "r"))))
          (Just
             (InjectivityInfo
                SrcSpanInfo
                  { srcInfoSpan =
                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 22 39 22 47
                  , srcInfoPoints =
                      [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 22 39 22 40
                      , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 22 43 22 45
                      ]
                  }
                (Ident
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 22 41 22 42
                     , srcInfoPoints = []
                     }
                   "r")
                [ Ident
                    SrcSpanInfo
                      { srcInfoSpan =
                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 22 46 22 47
                      , srcInfoPoints = []
                      }
                    "a"
                , Ident
                    SrcSpanInfo
                      { srcInfoSpan =
                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 22 48 22 49
                      , srcInfoPoints = []
                      }
                    "b"
                ]))
      , TypeInsDecl
          SrcSpanInfo
            { srcInfoSpan =
                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 23 1 23 38
            , srcInfoPoints =
                [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 23 1 23 5
                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 23 6 23 14
                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 23 32 23 33
                ]
            }
          (TyApp
             SrcSpanInfo
               { srcInfoSpan =
                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 23 15 23 31
               , srcInfoPoints = []
               }
             (TyApp
                SrcSpanInfo
                  { srcInfoSpan =
                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 23 15 23 26
                  , srcInfoPoints = []
                  }
                (TyApp
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 23 15 23 20
                     , srcInfoPoints = []
                     }
                   (TyCon
                      SrcSpanInfo
                        { srcInfoSpan =
                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 23 15 23 16
                        , srcInfoPoints = []
                        }
                      (UnQual
                         SrcSpanInfo
                           { srcInfoSpan =
                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 23 15 23 16
                           , srcInfoPoints = []
                           }
                         (Ident
                            SrcSpanInfo
                              { srcInfoSpan =
                                  SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 23 15 23 16
                              , srcInfoPoints = []
                              }
                            "I")))
                   (TyCon
                      SrcSpanInfo
                        { srcInfoSpan =
                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 23 17 23 20
                        , srcInfoPoints = []
                        }
                      (UnQual
                         SrcSpanInfo
                           { srcInfoSpan =
                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 23 17 23 20
                           , srcInfoPoints = []
                           }
                         (Ident
                            SrcSpanInfo
                              { srcInfoSpan =
                                  SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 23 17 23 20
                              , srcInfoPoints = []
                              }
                            "Int"))))
                (TyCon
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 23 22 23 26
                     , srcInfoPoints = []
                     }
                   (UnQual
                      SrcSpanInfo
                        { srcInfoSpan =
                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 23 22 23 26
                        , srcInfoPoints = []
                        }
                      (Ident
                         SrcSpanInfo
                           { srcInfoSpan =
                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 23 22 23 26
                           , srcInfoPoints = []
                           }
                         "Char"))))
             (TyCon
                SrcSpanInfo
                  { srcInfoSpan =
                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 23 27 23 31
                  , srcInfoPoints = []
                  }
                (UnQual
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 23 27 23 31
                     , srcInfoPoints = []
                     }
                   (Ident
                      SrcSpanInfo
                        { srcInfoSpan =
                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 23 27 23 31
                        , srcInfoPoints = []
                        }
                      "Bool"))))
          (TyCon
             SrcSpanInfo
               { srcInfoSpan =
                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 23 34 23 38
               , srcInfoPoints = []
               }
             (UnQual
                SrcSpanInfo
                  { srcInfoSpan =
                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 23 34 23 38
                  , srcInfoPoints = []
                  }
                (Ident
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 23 34 23 38
                     , srcInfoPoints = []
                     }
                   "Bool")))
      , TypeInsDecl
          SrcSpanInfo
            { srcInfoSpan =
                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 24 1 24 38
            , srcInfoPoints =
                [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 24 1 24 5
                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 24 6 24 14
                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 24 32 24 33
                ]
            }
          (TyApp
             SrcSpanInfo
               { srcInfoSpan =
                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 24 15 24 30
               , srcInfoPoints = []
               }
             (TyApp
                SrcSpanInfo
                  { srcInfoSpan =
                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 24 15 24 26
                  , srcInfoPoints = []
                  }
                (TyApp
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 24 15 24 20
                     , srcInfoPoints = []
                     }
                   (TyCon
                      SrcSpanInfo
                        { srcInfoSpan =
                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 24 15 24 16
                        , srcInfoPoints = []
                        }
                      (UnQual
                         SrcSpanInfo
                           { srcInfoSpan =
                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 24 15 24 16
                           , srcInfoPoints = []
                           }
                         (Ident
                            SrcSpanInfo
                              { srcInfoSpan =
                                  SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 24 15 24 16
                              , srcInfoPoints = []
                              }
                            "I")))
                   (TyCon
                      SrcSpanInfo
                        { srcInfoSpan =
                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 24 17 24 20
                        , srcInfoPoints = []
                        }
                      (UnQual
                         SrcSpanInfo
                           { srcInfoSpan =
                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 24 17 24 20
                           , srcInfoPoints = []
                           }
                         (Ident
                            SrcSpanInfo
                              { srcInfoSpan =
                                  SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 24 17 24 20
                              , srcInfoPoints = []
                              }
                            "Int"))))
                (TyCon
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 24 22 24 26
                     , srcInfoPoints = []
                     }
                   (UnQual
                      SrcSpanInfo
                        { srcInfoSpan =
                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 24 22 24 26
                        , srcInfoPoints = []
                        }
                      (Ident
                         SrcSpanInfo
                           { srcInfoSpan =
                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 24 22 24 26
                           , srcInfoPoints = []
                           }
                         "Char"))))
             (TyCon
                SrcSpanInfo
                  { srcInfoSpan =
                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 24 27 24 30
                  , srcInfoPoints = []
                  }
                (UnQual
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 24 27 24 30
                     , srcInfoPoints = []
                     }
                   (Ident
                      SrcSpanInfo
                        { srcInfoSpan =
                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 24 27 24 30
                        , srcInfoPoints = []
                        }
                      "Int"))))
          (TyCon
             SrcSpanInfo
               { srcInfoSpan =
                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 24 34 24 38
               , srcInfoPoints = []
               }
             (UnQual
                SrcSpanInfo
                  { srcInfoSpan =
                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 24 34 24 38
                  , srcInfoPoints = []
                  }
                (Ident
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 24 34 24 38
                     , srcInfoPoints = []
                     }
                   "Bool")))
      , TypeInsDecl
          SrcSpanInfo
            { srcInfoSpan =
                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 25 1 25 37
            , srcInfoPoints =
                [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 25 1 25 5
                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 25 6 25 14
                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 25 32 25 33
                ]
            }
          (TyApp
             SrcSpanInfo
               { srcInfoSpan =
                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 25 15 25 30
               , srcInfoPoints = []
               }
             (TyApp
                SrcSpanInfo
                  { srcInfoSpan =
                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 25 15 25 25
                  , srcInfoPoints = []
                  }
                (TyApp
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 25 15 25 21
                     , srcInfoPoints = []
                     }
                   (TyCon
                      SrcSpanInfo
                        { srcInfoSpan =
                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 25 15 25 16
                        , srcInfoPoints = []
                        }
                      (UnQual
                         SrcSpanInfo
                           { srcInfoSpan =
                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 25 15 25 16
                           , srcInfoPoints = []
                           }
                         (Ident
                            SrcSpanInfo
                              { srcInfoSpan =
                                  SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 25 15 25 16
                              , srcInfoPoints = []
                              }
                            "I")))
                   (TyCon
                      SrcSpanInfo
                        { srcInfoSpan =
                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 25 17 25 21
                        , srcInfoPoints = []
                        }
                      (UnQual
                         SrcSpanInfo
                           { srcInfoSpan =
                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 25 17 25 21
                           , srcInfoPoints = []
                           }
                         (Ident
                            SrcSpanInfo
                              { srcInfoSpan =
                                  SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 25 17 25 21
                              , srcInfoPoints = []
                              }
                            "Bool"))))
                (TyCon
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 25 22 25 25
                     , srcInfoPoints = []
                     }
                   (UnQual
                      SrcSpanInfo
                        { srcInfoSpan =
                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 25 22 25 25
                        , srcInfoPoints = []
                        }
                      (Ident
                         SrcSpanInfo
                           { srcInfoSpan =
                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 25 22 25 25
                           , srcInfoPoints = []
                           }
                         "Int"))))
             (TyCon
                SrcSpanInfo
                  { srcInfoSpan =
                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 25 27 25 30
                  , srcInfoPoints = []
                  }
                (UnQual
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 25 27 25 30
                     , srcInfoPoints = []
                     }
                   (Ident
                      SrcSpanInfo
                        { srcInfoSpan =
                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 25 27 25 30
                        , srcInfoPoints = []
                        }
                      "Int"))))
          (TyCon
             SrcSpanInfo
               { srcInfoSpan =
                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 25 34 25 37
               , srcInfoPoints = []
               }
             (UnQual
                SrcSpanInfo
                  { srcInfoSpan =
                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 25 34 25 37
                  , srcInfoPoints = []
                  }
                (Ident
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 25 34 25 37
                     , srcInfoPoints = []
                     }
                   "Int")))
      , TypeFamDecl
          SrcSpanInfo
            { srcInfoSpan =
                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 29 1 29 25
            , srcInfoPoints =
                [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 29 1 29 5
                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 29 6 29 12
                ]
            }
          (DHApp
             SrcSpanInfo
               { srcInfoSpan =
                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 29 13 29 25
               , srcInfoPoints = []
               }
             (DHApp
                SrcSpanInfo
                  { srcInfoSpan =
                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 29 13 29 16
                  , srcInfoPoints = []
                  }
                (DHead
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 29 13 29 14
                     , srcInfoPoints = []
                     }
                   (Ident
                      SrcSpanInfo
                        { srcInfoSpan =
                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 29 13 29 14
                        , srcInfoPoints = []
                        }
                      "J"))
                (UnkindedVar
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 29 15 29 16
                     , srcInfoPoints = []
                     }
                   (Ident
                      SrcSpanInfo
                        { srcInfoSpan =
                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 29 15 29 16
                        , srcInfoPoints = []
                        }
                      "a")))
             (KindedVar
                SrcSpanInfo
                  { srcInfoSpan =
                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 29 17 29 25
                  , srcInfoPoints =
                      [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 29 17 29 18
                      , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 29 20 29 22
                      , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 29 24 29 25
                      ]
                  }
                (Ident
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 29 18 29 19
                     , srcInfoPoints = []
                     }
                   "b")
                (KindVar
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 29 23 29 24
                     , srcInfoPoints = []
                     }
                   (UnQual
                      SrcSpanInfo
                        { srcInfoSpan =
                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 29 23 29 24
                        , srcInfoPoints = []
                        }
                      (Ident
                         SrcSpanInfo
                           { srcInfoSpan =
                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 29 23 29 24
                           , srcInfoPoints = []
                           }
                         "k")))))
          (Just
             (TyVarSig
                SrcSpanInfo
                  { srcInfoSpan =
                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 29 26 29 29
                  , srcInfoPoints =
                      [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 29 26 29 27 ]
                  }
                (UnkindedVar
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 29 28 29 29
                     , srcInfoPoints = []
                     }
                   (Ident
                      SrcSpanInfo
                        { srcInfoSpan =
                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 29 28 29 29
                        , srcInfoPoints = []
                        }
                      "r"))))
          (Just
             (InjectivityInfo
                SrcSpanInfo
                  { srcInfoSpan =
                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 29 30 29 38
                  , srcInfoPoints =
                      [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 29 30 29 31
                      , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 29 34 29 36
                      ]
                  }
                (Ident
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 29 32 29 33
                     , srcInfoPoints = []
                     }
                   "r")
                [ Ident
                    SrcSpanInfo
                      { srcInfoSpan =
                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 29 37 29 38
                      , srcInfoPoints = []
                      }
                    "a"
                ]))
      , TypeInsDecl
          SrcSpanInfo
            { srcInfoSpan =
                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 30 1 30 29
            , srcInfoPoints =
                [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 30 1 30 5
                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 30 6 30 14
                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 30 23 30 24
                ]
            }
          (TyApp
             SrcSpanInfo
               { srcInfoSpan =
                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 30 15 30 22
               , srcInfoPoints = []
               }
             (TyApp
                SrcSpanInfo
                  { srcInfoSpan =
                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 30 15 30 20
                  , srcInfoPoints = []
                  }
                (TyCon
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 30 15 30 16
                     , srcInfoPoints = []
                     }
                   (UnQual
                      SrcSpanInfo
                        { srcInfoSpan =
                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 30 15 30 16
                        , srcInfoPoints = []
                        }
                      (Ident
                         SrcSpanInfo
                           { srcInfoSpan =
                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 30 15 30 16
                           , srcInfoPoints = []
                           }
                         "J")))
                (TyCon
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 30 17 30 20
                     , srcInfoPoints = []
                     }
                   (UnQual
                      SrcSpanInfo
                        { srcInfoSpan =
                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 30 17 30 20
                        , srcInfoPoints = []
                        }
                      (Ident
                         SrcSpanInfo
                           { srcInfoSpan =
                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 30 17 30 20
                           , srcInfoPoints = []
                           }
                         "Int"))))
             (TyVar
                SrcSpanInfo
                  { srcInfoSpan =
                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 30 21 30 22
                  , srcInfoPoints = []
                  }
                (Ident
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 30 21 30 22
                     , srcInfoPoints = []
                     }
                   "b")))
          (TyCon
             SrcSpanInfo
               { srcInfoSpan =
                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 30 25 30 29
               , srcInfoPoints = []
               }
             (UnQual
                SrcSpanInfo
                  { srcInfoSpan =
                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 30 25 30 29
                  , srcInfoPoints = []
                  }
                (Ident
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 30 25 30 29
                     , srcInfoPoints = []
                     }
                   "Char")))
      , TypeDecl
          SrcSpanInfo
            { srcInfoSpan =
                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 32 1 32 26
            , srcInfoPoints =
                [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 32 1 32 5
                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 32 17 32 18
                ]
            }
          (DHApp
             SrcSpanInfo
               { srcInfoSpan =
                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 32 6 32 16
               , srcInfoPoints = []
               }
             (DHead
                SrcSpanInfo
                  { srcInfoSpan =
                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 32 6 32 14
                  , srcInfoPoints = []
                  }
                (Ident
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 32 6 32 14
                     , srcInfoPoints = []
                     }
                   "MaybeSyn"))
             (UnkindedVar
                SrcSpanInfo
                  { srcInfoSpan =
                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 32 15 32 16
                  , srcInfoPoints = []
                  }
                (Ident
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 32 15 32 16
                     , srcInfoPoints = []
                     }
                   "a")))
          (TyApp
             SrcSpanInfo
               { srcInfoSpan =
                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 32 19 32 26
               , srcInfoPoints = []
               }
             (TyCon
                SrcSpanInfo
                  { srcInfoSpan =
                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 32 19 32 24
                  , srcInfoPoints = []
                  }
                (UnQual
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 32 19 32 24
                     , srcInfoPoints = []
                     }
                   (Ident
                      SrcSpanInfo
                        { srcInfoSpan =
                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 32 19 32 24
                        , srcInfoPoints = []
                        }
                      "Maybe")))
             (TyVar
                SrcSpanInfo
                  { srcInfoSpan =
                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 32 25 32 26
                  , srcInfoPoints = []
                  }
                (Ident
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 32 25 32 26
                     , srcInfoPoints = []
                     }
                   "a")))
      , DataDecl
          SrcSpanInfo
            { srcInfoSpan =
                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 33 1 33 40
            , srcInfoPoints =
                [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 33 20 33 21 ]
            }
          (NewType
             SrcSpanInfo
               { srcInfoSpan =
                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 33 1 33 8
               , srcInfoPoints = []
               })
          Nothing
          (DHApp
             SrcSpanInfo
               { srcInfoSpan =
                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 33 9 33 19
               , srcInfoPoints = []
               }
             (DHead
                SrcSpanInfo
                  { srcInfoSpan =
                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 33 9 33 17
                  , srcInfoPoints = []
                  }
                (Ident
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 33 9 33 17
                     , srcInfoPoints = []
                     }
                   "MaybeNew"))
             (UnkindedVar
                SrcSpanInfo
                  { srcInfoSpan =
                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 33 18 33 19
                  , srcInfoPoints = []
                  }
                (Ident
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 33 18 33 19
                     , srcInfoPoints = []
                     }
                   "a")))
          [ QualConDecl
              SrcSpanInfo
                { srcInfoSpan =
                    SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 33 22 33 40
                , srcInfoPoints = []
                }
              Nothing
              Nothing
              (ConDecl
                 SrcSpanInfo
                   { srcInfoSpan =
                       SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 33 22 33 40
                   , srcInfoPoints = []
                   }
                 (Ident
                    SrcSpanInfo
                      { srcInfoSpan =
                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 33 22 33 30
                      , srcInfoPoints = []
                      }
                    "MaybeNew")
                 [ TyParen
                     SrcSpanInfo
                       { srcInfoSpan =
                           SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 33 31 33 40
                       , srcInfoPoints =
                           [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 33 31 33 32
                           , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 33 39 33 40
                           ]
                       }
                     (TyApp
                        SrcSpanInfo
                          { srcInfoSpan =
                              SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 33 32 33 39
                          , srcInfoPoints = []
                          }
                        (TyCon
                           SrcSpanInfo
                             { srcInfoSpan =
                                 SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 33 32 33 37
                             , srcInfoPoints = []
                             }
                           (UnQual
                              SrcSpanInfo
                                { srcInfoSpan =
                                    SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 33 32 33 37
                                , srcInfoPoints = []
                                }
                              (Ident
                                 SrcSpanInfo
                                   { srcInfoSpan =
                                       SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 33 32 33 37
                                   , srcInfoPoints = []
                                   }
                                 "Maybe")))
                        (TyVar
                           SrcSpanInfo
                             { srcInfoSpan =
                                 SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 33 38 33 39
                             , srcInfoPoints = []
                             }
                           (Ident
                              SrcSpanInfo
                                { srcInfoSpan =
                                    SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 33 38 33 39
                                , srcInfoPoints = []
                                }
                              "a")))
                 ])
          ]
          []
      , TypeFamDecl
          SrcSpanInfo
            { srcInfoSpan =
                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 36 1 36 16
            , srcInfoPoints =
                [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 36 1 36 5
                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 36 6 36 12
                ]
            }
          (DHApp
             SrcSpanInfo
               { srcInfoSpan =
                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 36 13 36 16
               , srcInfoPoints = []
               }
             (DHead
                SrcSpanInfo
                  { srcInfoSpan =
                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 36 13 36 14
                  , srcInfoPoints = []
                  }
                (Ident
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 36 13 36 14
                     , srcInfoPoints = []
                     }
                   "K"))
             (UnkindedVar
                SrcSpanInfo
                  { srcInfoSpan =
                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 36 15 36 16
                  , srcInfoPoints = []
                  }
                (Ident
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 36 15 36 16
                     , srcInfoPoints = []
                     }
                   "a")))
          (Just
             (TyVarSig
                SrcSpanInfo
                  { srcInfoSpan =
                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 36 17 36 20
                  , srcInfoPoints =
                      [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 36 17 36 18 ]
                  }
                (UnkindedVar
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 36 19 36 20
                     , srcInfoPoints = []
                     }
                   (Ident
                      SrcSpanInfo
                        { srcInfoSpan =
                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 36 19 36 20
                        , srcInfoPoints = []
                        }
                      "r"))))
          (Just
             (InjectivityInfo
                SrcSpanInfo
                  { srcInfoSpan =
                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 36 21 36 29
                  , srcInfoPoints =
                      [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 36 21 36 22
                      , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 36 25 36 27
                      ]
                  }
                (Ident
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 36 23 36 24
                     , srcInfoPoints = []
                     }
                   "r")
                [ Ident
                    SrcSpanInfo
                      { srcInfoSpan =
                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 36 28 36 29
                      , srcInfoPoints = []
                      }
                    "a"
                ]))
      , TypeInsDecl
          SrcSpanInfo
            { srcInfoSpan =
                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 37 1 37 31
            , srcInfoPoints =
                [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 37 1 37 5
                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 37 6 37 14
                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 37 19 37 20
                ]
            }
          (TyApp
             SrcSpanInfo
               { srcInfoSpan =
                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 37 15 37 18
               , srcInfoPoints = []
               }
             (TyCon
                SrcSpanInfo
                  { srcInfoSpan =
                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 37 15 37 16
                  , srcInfoPoints = []
                  }
                (UnQual
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 37 15 37 16
                     , srcInfoPoints = []
                     }
                   (Ident
                      SrcSpanInfo
                        { srcInfoSpan =
                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 37 15 37 16
                        , srcInfoPoints = []
                        }
                      "K")))
             (TyVar
                SrcSpanInfo
                  { srcInfoSpan =
                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 37 17 37 18
                  , srcInfoPoints = []
                  }
                (Ident
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 37 17 37 18
                     , srcInfoPoints = []
                     }
                   "a")))
          (TyApp
             SrcSpanInfo
               { srcInfoSpan =
                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 37 21 37 31
               , srcInfoPoints = []
               }
             (TyCon
                SrcSpanInfo
                  { srcInfoSpan =
                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 37 21 37 29
                  , srcInfoPoints = []
                  }
                (UnQual
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 37 21 37 29
                     , srcInfoPoints = []
                     }
                   (Ident
                      SrcSpanInfo
                        { srcInfoSpan =
                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 37 21 37 29
                        , srcInfoPoints = []
                        }
                      "MaybeSyn")))
             (TyVar
                SrcSpanInfo
                  { srcInfoSpan =
                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 37 30 37 31
                  , srcInfoPoints = []
                  }
                (Ident
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 37 30 37 31
                     , srcInfoPoints = []
                     }
                   "a")))
      , TypeFamDecl
          SrcSpanInfo
            { srcInfoSpan =
                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 40 1 40 16
            , srcInfoPoints =
                [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 40 1 40 5
                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 40 6 40 12
                ]
            }
          (DHApp
             SrcSpanInfo
               { srcInfoSpan =
                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 40 13 40 16
               , srcInfoPoints = []
               }
             (DHead
                SrcSpanInfo
                  { srcInfoSpan =
                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 40 13 40 14
                  , srcInfoPoints = []
                  }
                (Ident
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 40 13 40 14
                     , srcInfoPoints = []
                     }
                   "M"))
             (UnkindedVar
                SrcSpanInfo
                  { srcInfoSpan =
                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 40 15 40 16
                  , srcInfoPoints = []
                  }
                (Ident
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 40 15 40 16
                     , srcInfoPoints = []
                     }
                   "a")))
          (Just
             (TyVarSig
                SrcSpanInfo
                  { srcInfoSpan =
                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 40 17 40 20
                  , srcInfoPoints =
                      [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 40 17 40 18 ]
                  }
                (UnkindedVar
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 40 19 40 20
                     , srcInfoPoints = []
                     }
                   (Ident
                      SrcSpanInfo
                        { srcInfoSpan =
                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 40 19 40 20
                        , srcInfoPoints = []
                        }
                      "r"))))
          (Just
             (InjectivityInfo
                SrcSpanInfo
                  { srcInfoSpan =
                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 40 21 40 29
                  , srcInfoPoints =
                      [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 40 21 40 22
                      , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 40 25 40 27
                      ]
                  }
                (Ident
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 40 23 40 24
                     , srcInfoPoints = []
                     }
                   "r")
                [ Ident
                    SrcSpanInfo
                      { srcInfoSpan =
                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 40 28 40 29
                      , srcInfoPoints = []
                      }
                    "a"
                ]))
      , TypeInsDecl
          SrcSpanInfo
            { srcInfoSpan =
                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 41 1 41 42
            , srcInfoPoints =
                [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 41 1 41 5
                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 41 6 41 14
                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 41 30 41 31
                ]
            }
          (TyApp
             SrcSpanInfo
               { srcInfoSpan =
                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 41 15 41 26
               , srcInfoPoints = []
               }
             (TyCon
                SrcSpanInfo
                  { srcInfoSpan =
                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 41 15 41 16
                  , srcInfoPoints = []
                  }
                (UnQual
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 41 15 41 16
                     , srcInfoPoints = []
                     }
                   (Ident
                      SrcSpanInfo
                        { srcInfoSpan =
                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 41 15 41 16
                        , srcInfoPoints = []
                        }
                      "M")))
             (TyParen
                SrcSpanInfo
                  { srcInfoSpan =
                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 41 17 41 26
                  , srcInfoPoints =
                      [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 41 17 41 18
                      , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 41 25 41 26
                      ]
                  }
                (TyApp
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 41 18 41 25
                     , srcInfoPoints = []
                     }
                   (TyCon
                      SrcSpanInfo
                        { srcInfoSpan =
                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 41 18 41 23
                        , srcInfoPoints = []
                        }
                      (UnQual
                         SrcSpanInfo
                           { srcInfoSpan =
                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 41 18 41 23
                           , srcInfoPoints = []
                           }
                         (Ident
                            SrcSpanInfo
                              { srcInfoSpan =
                                  SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 41 18 41 23
                              , srcInfoPoints = []
                              }
                            "Maybe")))
                   (TyVar
                      SrcSpanInfo
                        { srcInfoSpan =
                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 41 24 41 25
                        , srcInfoPoints = []
                        }
                      (Ident
                         SrcSpanInfo
                           { srcInfoSpan =
                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 41 24 41 25
                           , srcInfoPoints = []
                           }
                         "a")))))
          (TyApp
             SrcSpanInfo
               { srcInfoSpan =
                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 41 32 41 42
               , srcInfoPoints = []
               }
             (TyCon
                SrcSpanInfo
                  { srcInfoSpan =
                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 41 32 41 40
                  , srcInfoPoints = []
                  }
                (UnQual
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 41 32 41 40
                     , srcInfoPoints = []
                     }
                   (Ident
                      SrcSpanInfo
                        { srcInfoSpan =
                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 41 32 41 40
                        , srcInfoPoints = []
                        }
                      "MaybeSyn")))
             (TyVar
                SrcSpanInfo
                  { srcInfoSpan =
                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 41 41 41 42
                  , srcInfoPoints = []
                  }
                (Ident
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 41 41 41 42
                     , srcInfoPoints = []
                     }
                   "a")))
      , TypeInsDecl
          SrcSpanInfo
            { srcInfoSpan =
                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 42 1 42 42
            , srcInfoPoints =
                [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 42 1 42 5
                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 42 6 42 14
                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 42 30 42 31
                ]
            }
          (TyApp
             SrcSpanInfo
               { srcInfoSpan =
                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 42 15 42 29
               , srcInfoPoints = []
               }
             (TyCon
                SrcSpanInfo
                  { srcInfoSpan =
                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 42 15 42 16
                  , srcInfoPoints = []
                  }
                (UnQual
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 42 15 42 16
                     , srcInfoPoints = []
                     }
                   (Ident
                      SrcSpanInfo
                        { srcInfoSpan =
                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 42 15 42 16
                        , srcInfoPoints = []
                        }
                      "M")))
             (TyParen
                SrcSpanInfo
                  { srcInfoSpan =
                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 42 17 42 29
                  , srcInfoPoints =
                      [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 42 17 42 18
                      , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 42 28 42 29
                      ]
                  }
                (TyApp
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 42 18 42 28
                     , srcInfoPoints = []
                     }
                   (TyCon
                      SrcSpanInfo
                        { srcInfoSpan =
                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 42 18 42 26
                        , srcInfoPoints = []
                        }
                      (UnQual
                         SrcSpanInfo
                           { srcInfoSpan =
                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 42 18 42 26
                           , srcInfoPoints = []
                           }
                         (Ident
                            SrcSpanInfo
                              { srcInfoSpan =
                                  SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 42 18 42 26
                              , srcInfoPoints = []
                              }
                            "MaybeNew")))
                   (TyVar
                      SrcSpanInfo
                        { srcInfoSpan =
                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 42 27 42 28
                        , srcInfoPoints = []
                        }
                      (Ident
                         SrcSpanInfo
                           { srcInfoSpan =
                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 42 27 42 28
                           , srcInfoPoints = []
                           }
                         "a")))))
          (TyApp
             SrcSpanInfo
               { srcInfoSpan =
                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 42 32 42 42
               , srcInfoPoints = []
               }
             (TyCon
                SrcSpanInfo
                  { srcInfoSpan =
                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 42 32 42 40
                  , srcInfoPoints = []
                  }
                (UnQual
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 42 32 42 40
                     , srcInfoPoints = []
                     }
                   (Ident
                      SrcSpanInfo
                        { srcInfoSpan =
                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 42 32 42 40
                        , srcInfoPoints = []
                        }
                      "MaybeNew")))
             (TyVar
                SrcSpanInfo
                  { srcInfoSpan =
                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 42 41 42 42
                  , srcInfoPoints = []
                  }
                (Ident
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 42 41 42 42
                     , srcInfoPoints = []
                     }
                   "a")))
      , ClosedTypeFamDecl
          SrcSpanInfo
            { srcInfoSpan =
                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 48 1 48 26
            , srcInfoPoints =
                [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 48 1 48 5
                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 48 6 48 12
                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 48 54 48 59
                ]
            }
          (DHApp
             SrcSpanInfo
               { srcInfoSpan =
                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 48 13 48 26
               , srcInfoPoints = []
               }
             (DHApp
                SrcSpanInfo
                  { srcInfoSpan =
                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 48 13 48 24
                  , srcInfoPoints = []
                  }
                (DHApp
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 48 13 48 22
                     , srcInfoPoints = []
                     }
                   (DHead
                      SrcSpanInfo
                        { srcInfoSpan =
                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 48 13 48 20
                        , srcInfoPoints = []
                        }
                      (Ident
                         SrcSpanInfo
                           { srcInfoSpan =
                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 48 13 48 20
                           , srcInfoPoints = []
                           }
                         "FClosed"))
                   (UnkindedVar
                      SrcSpanInfo
                        { srcInfoSpan =
                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 48 21 48 22
                        , srcInfoPoints = []
                        }
                      (Ident
                         SrcSpanInfo
                           { srcInfoSpan =
                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 48 21 48 22
                           , srcInfoPoints = []
                           }
                         "a")))
                (UnkindedVar
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 48 23 48 24
                     , srcInfoPoints = []
                     }
                   (Ident
                      SrcSpanInfo
                        { srcInfoSpan =
                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 48 23 48 24
                        , srcInfoPoints = []
                        }
                      "b")))
             (UnkindedVar
                SrcSpanInfo
                  { srcInfoSpan =
                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 48 25 48 26
                  , srcInfoPoints = []
                  }
                (Ident
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 48 25 48 26
                     , srcInfoPoints = []
                     }
                   "c")))
          (Just
             (TyVarSig
                SrcSpanInfo
                  { srcInfoSpan =
                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 48 27 48 35
                  , srcInfoPoints =
                      [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 48 27 48 28 ]
                  }
                (UnkindedVar
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 48 29 48 35
                     , srcInfoPoints = []
                     }
                   (Ident
                      SrcSpanInfo
                        { srcInfoSpan =
                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 48 29 48 35
                        , srcInfoPoints = []
                        }
                      "result"))))
          (Just
             (InjectivityInfo
                SrcSpanInfo
                  { srcInfoSpan =
                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 48 36 48 49
                  , srcInfoPoints =
                      [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 48 36 48 37
                      , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 48 45 48 47
                      ]
                  }
                (Ident
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 48 38 48 44
                     , srcInfoPoints = []
                     }
                   "result")
                [ Ident
                    SrcSpanInfo
                      { srcInfoSpan =
                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 48 48 48 49
                      , srcInfoPoints = []
                      }
                    "a"
                , Ident
                    SrcSpanInfo
                      { srcInfoSpan =
                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 48 50 48 51
                      , srcInfoPoints = []
                      }
                    "b"
                , Ident
                    SrcSpanInfo
                      { srcInfoSpan =
                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 48 52 48 53
                      , srcInfoPoints = []
                      }
                    "c"
                ]))
          [ TypeEqn
              SrcSpanInfo
                { srcInfoSpan =
                    SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 49 5 49 34
                , srcInfoPoints =
                    [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 49 28 49 29 ]
                }
              (TyApp
                 SrcSpanInfo
                   { srcInfoSpan =
                       SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 49 5 49 27
                   , srcInfoPoints = []
                   }
                 (TyApp
                    SrcSpanInfo
                      { srcInfoSpan =
                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 49 5 49 22
                      , srcInfoPoints = []
                      }
                    (TyApp
                       SrcSpanInfo
                         { srcInfoSpan =
                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 49 5 49 16
                         , srcInfoPoints = []
                         }
                       (TyCon
                          SrcSpanInfo
                            { srcInfoSpan =
                                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 49 5 49 12
                            , srcInfoPoints = []
                            }
                          (UnQual
                             SrcSpanInfo
                               { srcInfoSpan =
                                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 49 5 49 12
                               , srcInfoPoints = []
                               }
                             (Ident
                                SrcSpanInfo
                                  { srcInfoSpan =
                                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 49 5 49 12
                                  , srcInfoPoints = []
                                  }
                                "FClosed")))
                       (TyCon
                          SrcSpanInfo
                            { srcInfoSpan =
                                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 49 13 49 16
                            , srcInfoPoints = []
                            }
                          (UnQual
                             SrcSpanInfo
                               { srcInfoSpan =
                                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 49 13 49 16
                               , srcInfoPoints = []
                               }
                             (Ident
                                SrcSpanInfo
                                  { srcInfoSpan =
                                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 49 13 49 16
                                  , srcInfoPoints = []
                                  }
                                "Int"))))
                    (TyCon
                       SrcSpanInfo
                         { srcInfoSpan =
                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 49 18 49 22
                         , srcInfoPoints = []
                         }
                       (UnQual
                          SrcSpanInfo
                            { srcInfoSpan =
                                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 49 18 49 22
                            , srcInfoPoints = []
                            }
                          (Ident
                             SrcSpanInfo
                               { srcInfoSpan =
                                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 49 18 49 22
                               , srcInfoPoints = []
                               }
                             "Char"))))
                 (TyCon
                    SrcSpanInfo
                      { srcInfoSpan =
                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 49 23 49 27
                      , srcInfoPoints = []
                      }
                    (UnQual
                       SrcSpanInfo
                         { srcInfoSpan =
                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 49 23 49 27
                         , srcInfoPoints = []
                         }
                       (Ident
                          SrcSpanInfo
                            { srcInfoSpan =
                                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 49 23 49 27
                            , srcInfoPoints = []
                            }
                          "Bool"))))
              (TyCon
                 SrcSpanInfo
                   { srcInfoSpan =
                       SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 49 30 49 34
                   , srcInfoPoints = []
                   }
                 (UnQual
                    SrcSpanInfo
                      { srcInfoSpan =
                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 49 30 49 34
                      , srcInfoPoints = []
                      }
                    (Ident
                       SrcSpanInfo
                         { srcInfoSpan =
                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 49 30 49 34
                         , srcInfoPoints = []
                         }
                       "Bool")))
          , TypeEqn
              SrcSpanInfo
                { srcInfoSpan =
                    SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 50 5 50 33
                , srcInfoPoints =
                    [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 50 28 50 29 ]
                }
              (TyApp
                 SrcSpanInfo
                   { srcInfoSpan =
                       SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 50 5 50 26
                   , srcInfoPoints = []
                   }
                 (TyApp
                    SrcSpanInfo
                      { srcInfoSpan =
                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 50 5 50 22
                      , srcInfoPoints = []
                      }
                    (TyApp
                       SrcSpanInfo
                         { srcInfoSpan =
                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 50 5 50 17
                         , srcInfoPoints = []
                         }
                       (TyCon
                          SrcSpanInfo
                            { srcInfoSpan =
                                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 50 5 50 12
                            , srcInfoPoints = []
                            }
                          (UnQual
                             SrcSpanInfo
                               { srcInfoSpan =
                                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 50 5 50 12
                               , srcInfoPoints = []
                               }
                             (Ident
                                SrcSpanInfo
                                  { srcInfoSpan =
                                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 50 5 50 12
                                  , srcInfoPoints = []
                                  }
                                "FClosed")))
                       (TyCon
                          SrcSpanInfo
                            { srcInfoSpan =
                                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 50 13 50 17
                            , srcInfoPoints = []
                            }
                          (UnQual
                             SrcSpanInfo
                               { srcInfoSpan =
                                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 50 13 50 17
                               , srcInfoPoints = []
                               }
                             (Ident
                                SrcSpanInfo
                                  { srcInfoSpan =
                                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 50 13 50 17
                                  , srcInfoPoints = []
                                  }
                                "Char"))))
                    (TyCon
                       SrcSpanInfo
                         { srcInfoSpan =
                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 50 18 50 22
                         , srcInfoPoints = []
                         }
                       (UnQual
                          SrcSpanInfo
                            { srcInfoSpan =
                                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 50 18 50 22
                            , srcInfoPoints = []
                            }
                          (Ident
                             SrcSpanInfo
                               { srcInfoSpan =
                                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 50 18 50 22
                               , srcInfoPoints = []
                               }
                             "Bool"))))
                 (TyCon
                    SrcSpanInfo
                      { srcInfoSpan =
                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 50 23 50 26
                      , srcInfoPoints = []
                      }
                    (UnQual
                       SrcSpanInfo
                         { srcInfoSpan =
                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 50 23 50 26
                         , srcInfoPoints = []
                         }
                       (Ident
                          SrcSpanInfo
                            { srcInfoSpan =
                                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 50 23 50 26
                            , srcInfoPoints = []
                            }
                          "Int"))))
              (TyCon
                 SrcSpanInfo
                   { srcInfoSpan =
                       SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 50 30 50 33
                   , srcInfoPoints = []
                   }
                 (UnQual
                    SrcSpanInfo
                      { srcInfoSpan =
                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 50 30 50 33
                      , srcInfoPoints = []
                      }
                    (Ident
                       SrcSpanInfo
                         { srcInfoSpan =
                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 50 30 50 33
                         , srcInfoPoints = []
                         }
                       "Int")))
          , TypeEqn
              SrcSpanInfo
                { srcInfoSpan =
                    SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 51 5 51 34
                , srcInfoPoints =
                    [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 51 28 51 29 ]
                }
              (TyApp
                 SrcSpanInfo
                   { srcInfoSpan =
                       SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 51 5 51 27
                   , srcInfoPoints = []
                   }
                 (TyApp
                    SrcSpanInfo
                      { srcInfoSpan =
                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 51 5 51 21
                      , srcInfoPoints = []
                      }
                    (TyApp
                       SrcSpanInfo
                         { srcInfoSpan =
                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 51 5 51 17
                         , srcInfoPoints = []
                         }
                       (TyCon
                          SrcSpanInfo
                            { srcInfoSpan =
                                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 51 5 51 12
                            , srcInfoPoints = []
                            }
                          (UnQual
                             SrcSpanInfo
                               { srcInfoSpan =
                                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 51 5 51 12
                               , srcInfoPoints = []
                               }
                             (Ident
                                SrcSpanInfo
                                  { srcInfoSpan =
                                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 51 5 51 12
                                  , srcInfoPoints = []
                                  }
                                "FClosed")))
                       (TyCon
                          SrcSpanInfo
                            { srcInfoSpan =
                                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 51 13 51 17
                            , srcInfoPoints = []
                            }
                          (UnQual
                             SrcSpanInfo
                               { srcInfoSpan =
                                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 51 13 51 17
                               , srcInfoPoints = []
                               }
                             (Ident
                                SrcSpanInfo
                                  { srcInfoSpan =
                                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 51 13 51 17
                                  , srcInfoPoints = []
                                  }
                                "Bool"))))
                    (TyCon
                       SrcSpanInfo
                         { srcInfoSpan =
                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 51 18 51 21
                         , srcInfoPoints = []
                         }
                       (UnQual
                          SrcSpanInfo
                            { srcInfoSpan =
                                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 51 18 51 21
                            , srcInfoPoints = []
                            }
                          (Ident
                             SrcSpanInfo
                               { srcInfoSpan =
                                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 51 18 51 21
                               , srcInfoPoints = []
                               }
                             "Int"))))
                 (TyCon
                    SrcSpanInfo
                      { srcInfoSpan =
                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 51 23 51 27
                      , srcInfoPoints = []
                      }
                    (UnQual
                       SrcSpanInfo
                         { srcInfoSpan =
                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 51 23 51 27
                         , srcInfoPoints = []
                         }
                       (Ident
                          SrcSpanInfo
                            { srcInfoSpan =
                                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 51 23 51 27
                            , srcInfoPoints = []
                            }
                          "Char"))))
              (TyCon
                 SrcSpanInfo
                   { srcInfoSpan =
                       SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 51 30 51 34
                   , srcInfoPoints = []
                   }
                 (UnQual
                    SrcSpanInfo
                      { srcInfoSpan =
                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 51 30 51 34
                      , srcInfoPoints = []
                      }
                    (Ident
                       SrcSpanInfo
                         { srcInfoSpan =
                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 51 30 51 34
                         , srcInfoPoints = []
                         }
                       "Char")))
          ]
      , ClosedTypeFamDecl
          SrcSpanInfo
            { srcInfoSpan =
                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 53 1 53 47
            , srcInfoPoints =
                [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 53 1 53 5
                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 53 6 53 12
                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 53 63 53 68
                ]
            }
          (DHApp
             SrcSpanInfo
               { srcInfoSpan =
                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 53 13 53 47
               , srcInfoPoints = []
               }
             (DHApp
                SrcSpanInfo
                  { srcInfoSpan =
                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 53 13 53 38
                  , srcInfoPoints = []
                  }
                (DHApp
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 53 13 53 29
                     , srcInfoPoints = []
                     }
                   (DHead
                      SrcSpanInfo
                        { srcInfoSpan =
                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 53 13 53 20
                        , srcInfoPoints = []
                        }
                      (Ident
                         SrcSpanInfo
                           { srcInfoSpan =
                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 53 13 53 20
                           , srcInfoPoints = []
                           }
                         "IClosed"))
                   (KindedVar
                      SrcSpanInfo
                        { srcInfoSpan =
                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 53 21 53 29
                        , srcInfoPoints =
                            [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 53 21 53 22
                            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 53 24 53 26
                            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 53 28 53 29
                            ]
                        }
                      (Ident
                         SrcSpanInfo
                           { srcInfoSpan =
                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 53 22 53 23
                           , srcInfoPoints = []
                           }
                         "a")
                      (KindStar
                         SrcSpanInfo
                           { srcInfoSpan =
                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 53 27 53 28
                           , srcInfoPoints = []
                           })))
                (KindedVar
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 53 30 53 38
                     , srcInfoPoints =
                         [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 53 30 53 31
                         , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 53 33 53 35
                         , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 53 37 53 38
                         ]
                     }
                   (Ident
                      SrcSpanInfo
                        { srcInfoSpan =
                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 53 31 53 32
                        , srcInfoPoints = []
                        }
                      "b")
                   (KindStar
                      SrcSpanInfo
                        { srcInfoSpan =
                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 53 36 53 37
                        , srcInfoPoints = []
                        })))
             (KindedVar
                SrcSpanInfo
                  { srcInfoSpan =
                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 53 39 53 47
                  , srcInfoPoints =
                      [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 53 39 53 40
                      , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 53 42 53 44
                      , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 53 46 53 47
                      ]
                  }
                (Ident
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 53 40 53 41
                     , srcInfoPoints = []
                     }
                   "c")
                (KindStar
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 53 45 53 46
                     , srcInfoPoints = []
                     })))
          (Just
             (TyVarSig
                SrcSpanInfo
                  { srcInfoSpan =
                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 53 48 53 51
                  , srcInfoPoints =
                      [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 53 48 53 49 ]
                  }
                (UnkindedVar
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 53 50 53 51
                     , srcInfoPoints = []
                     }
                   (Ident
                      SrcSpanInfo
                        { srcInfoSpan =
                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 53 50 53 51
                        , srcInfoPoints = []
                        }
                      "r"))))
          (Just
             (InjectivityInfo
                SrcSpanInfo
                  { srcInfoSpan =
                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 53 52 53 60
                  , srcInfoPoints =
                      [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 53 52 53 53
                      , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 53 56 53 58
                      ]
                  }
                (Ident
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 53 54 53 55
                     , srcInfoPoints = []
                     }
                   "r")
                [ Ident
                    SrcSpanInfo
                      { srcInfoSpan =
                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 53 59 53 60
                      , srcInfoPoints = []
                      }
                    "a"
                , Ident
                    SrcSpanInfo
                      { srcInfoSpan =
                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 53 61 53 62
                      , srcInfoPoints = []
                      }
                    "b"
                ]))
          [ TypeEqn
              SrcSpanInfo
                { srcInfoSpan =
                    SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 54 5 54 34
                , srcInfoPoints =
                    [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 54 28 54 29 ]
                }
              (TyApp
                 SrcSpanInfo
                   { srcInfoSpan =
                       SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 54 5 54 27
                   , srcInfoPoints = []
                   }
                 (TyApp
                    SrcSpanInfo
                      { srcInfoSpan =
                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 54 5 54 22
                      , srcInfoPoints = []
                      }
                    (TyApp
                       SrcSpanInfo
                         { srcInfoSpan =
                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 54 5 54 16
                         , srcInfoPoints = []
                         }
                       (TyCon
                          SrcSpanInfo
                            { srcInfoSpan =
                                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 54 5 54 12
                            , srcInfoPoints = []
                            }
                          (UnQual
                             SrcSpanInfo
                               { srcInfoSpan =
                                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 54 5 54 12
                               , srcInfoPoints = []
                               }
                             (Ident
                                SrcSpanInfo
                                  { srcInfoSpan =
                                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 54 5 54 12
                                  , srcInfoPoints = []
                                  }
                                "IClosed")))
                       (TyCon
                          SrcSpanInfo
                            { srcInfoSpan =
                                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 54 13 54 16
                            , srcInfoPoints = []
                            }
                          (UnQual
                             SrcSpanInfo
                               { srcInfoSpan =
                                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 54 13 54 16
                               , srcInfoPoints = []
                               }
                             (Ident
                                SrcSpanInfo
                                  { srcInfoSpan =
                                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 54 13 54 16
                                  , srcInfoPoints = []
                                  }
                                "Int"))))
                    (TyCon
                       SrcSpanInfo
                         { srcInfoSpan =
                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 54 18 54 22
                         , srcInfoPoints = []
                         }
                       (UnQual
                          SrcSpanInfo
                            { srcInfoSpan =
                                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 54 18 54 22
                            , srcInfoPoints = []
                            }
                          (Ident
                             SrcSpanInfo
                               { srcInfoSpan =
                                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 54 18 54 22
                               , srcInfoPoints = []
                               }
                             "Char"))))
                 (TyCon
                    SrcSpanInfo
                      { srcInfoSpan =
                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 54 23 54 27
                      , srcInfoPoints = []
                      }
                    (UnQual
                       SrcSpanInfo
                         { srcInfoSpan =
                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 54 23 54 27
                         , srcInfoPoints = []
                         }
                       (Ident
                          SrcSpanInfo
                            { srcInfoSpan =
                                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 54 23 54 27
                            , srcInfoPoints = []
                            }
                          "Bool"))))
              (TyCon
                 SrcSpanInfo
                   { srcInfoSpan =
                       SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 54 30 54 34
                   , srcInfoPoints = []
                   }
                 (UnQual
                    SrcSpanInfo
                      { srcInfoSpan =
                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 54 30 54 34
                      , srcInfoPoints = []
                      }
                    (Ident
                       SrcSpanInfo
                         { srcInfoSpan =
                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 54 30 54 34
                         , srcInfoPoints = []
                         }
                       "Bool")))
          , TypeEqn
              SrcSpanInfo
                { srcInfoSpan =
                    SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 55 5 55 34
                , srcInfoPoints =
                    [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 55 28 55 29 ]
                }
              (TyApp
                 SrcSpanInfo
                   { srcInfoSpan =
                       SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 55 5 55 26
                   , srcInfoPoints = []
                   }
                 (TyApp
                    SrcSpanInfo
                      { srcInfoSpan =
                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 55 5 55 22
                      , srcInfoPoints = []
                      }
                    (TyApp
                       SrcSpanInfo
                         { srcInfoSpan =
                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 55 5 55 16
                         , srcInfoPoints = []
                         }
                       (TyCon
                          SrcSpanInfo
                            { srcInfoSpan =
                                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 55 5 55 12
                            , srcInfoPoints = []
                            }
                          (UnQual
                             SrcSpanInfo
                               { srcInfoSpan =
                                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 55 5 55 12
                               , srcInfoPoints = []
                               }
                             (Ident
                                SrcSpanInfo
                                  { srcInfoSpan =
                                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 55 5 55 12
                                  , srcInfoPoints = []
                                  }
                                "IClosed")))
                       (TyCon
                          SrcSpanInfo
                            { srcInfoSpan =
                                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 55 13 55 16
                            , srcInfoPoints = []
                            }
                          (UnQual
                             SrcSpanInfo
                               { srcInfoSpan =
                                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 55 13 55 16
                               , srcInfoPoints = []
                               }
                             (Ident
                                SrcSpanInfo
                                  { srcInfoSpan =
                                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 55 13 55 16
                                  , srcInfoPoints = []
                                  }
                                "Int"))))
                    (TyCon
                       SrcSpanInfo
                         { srcInfoSpan =
                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 55 18 55 22
                         , srcInfoPoints = []
                         }
                       (UnQual
                          SrcSpanInfo
                            { srcInfoSpan =
                                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 55 18 55 22
                            , srcInfoPoints = []
                            }
                          (Ident
                             SrcSpanInfo
                               { srcInfoSpan =
                                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 55 18 55 22
                               , srcInfoPoints = []
                               }
                             "Char"))))
                 (TyCon
                    SrcSpanInfo
                      { srcInfoSpan =
                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 55 23 55 26
                      , srcInfoPoints = []
                      }
                    (UnQual
                       SrcSpanInfo
                         { srcInfoSpan =
                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 55 23 55 26
                         , srcInfoPoints = []
                         }
                       (Ident
                          SrcSpanInfo
                            { srcInfoSpan =
                                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 55 23 55 26
                            , srcInfoPoints = []
                            }
                          "Int"))))
              (TyCon
                 SrcSpanInfo
                   { srcInfoSpan =
                       SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 55 30 55 34
                   , srcInfoPoints = []
                   }
                 (UnQual
                    SrcSpanInfo
                      { srcInfoSpan =
                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 55 30 55 34
                      , srcInfoPoints = []
                      }
                    (Ident
                       SrcSpanInfo
                         { srcInfoSpan =
                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 55 30 55 34
                         , srcInfoPoints = []
                         }
                       "Bool")))
          , TypeEqn
              SrcSpanInfo
                { srcInfoSpan =
                    SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 56 5 56 33
                , srcInfoPoints =
                    [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 56 28 56 29 ]
                }
              (TyApp
                 SrcSpanInfo
                   { srcInfoSpan =
                       SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 56 5 56 26
                   , srcInfoPoints = []
                   }
                 (TyApp
                    SrcSpanInfo
                      { srcInfoSpan =
                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 56 5 56 21
                      , srcInfoPoints = []
                      }
                    (TyApp
                       SrcSpanInfo
                         { srcInfoSpan =
                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 56 5 56 17
                         , srcInfoPoints = []
                         }
                       (TyCon
                          SrcSpanInfo
                            { srcInfoSpan =
                                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 56 5 56 12
                            , srcInfoPoints = []
                            }
                          (UnQual
                             SrcSpanInfo
                               { srcInfoSpan =
                                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 56 5 56 12
                               , srcInfoPoints = []
                               }
                             (Ident
                                SrcSpanInfo
                                  { srcInfoSpan =
                                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 56 5 56 12
                                  , srcInfoPoints = []
                                  }
                                "IClosed")))
                       (TyCon
                          SrcSpanInfo
                            { srcInfoSpan =
                                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 56 13 56 17
                            , srcInfoPoints = []
                            }
                          (UnQual
                             SrcSpanInfo
                               { srcInfoSpan =
                                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 56 13 56 17
                               , srcInfoPoints = []
                               }
                             (Ident
                                SrcSpanInfo
                                  { srcInfoSpan =
                                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 56 13 56 17
                                  , srcInfoPoints = []
                                  }
                                "Bool"))))
                    (TyCon
                       SrcSpanInfo
                         { srcInfoSpan =
                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 56 18 56 21
                         , srcInfoPoints = []
                         }
                       (UnQual
                          SrcSpanInfo
                            { srcInfoSpan =
                                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 56 18 56 21
                            , srcInfoPoints = []
                            }
                          (Ident
                             SrcSpanInfo
                               { srcInfoSpan =
                                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 56 18 56 21
                               , srcInfoPoints = []
                               }
                             "Int"))))
                 (TyCon
                    SrcSpanInfo
                      { srcInfoSpan =
                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 56 23 56 26
                      , srcInfoPoints = []
                      }
                    (UnQual
                       SrcSpanInfo
                         { srcInfoSpan =
                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 56 23 56 26
                         , srcInfoPoints = []
                         }
                       (Ident
                          SrcSpanInfo
                            { srcInfoSpan =
                                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 56 23 56 26
                            , srcInfoPoints = []
                            }
                          "Int"))))
              (TyCon
                 SrcSpanInfo
                   { srcInfoSpan =
                       SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 56 30 56 33
                   , srcInfoPoints = []
                   }
                 (UnQual
                    SrcSpanInfo
                      { srcInfoSpan =
                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 56 30 56 33
                      , srcInfoPoints = []
                      }
                    (Ident
                       SrcSpanInfo
                         { srcInfoSpan =
                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 56 30 56 33
                         , srcInfoPoints = []
                         }
                       "Int")))
          ]
      , ClosedTypeFamDecl
          SrcSpanInfo
            { srcInfoSpan =
                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 58 1 58 31
            , srcInfoPoints =
                [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 58 1 58 5
                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 58 6 58 12
                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 58 45 58 50
                ]
            }
          (DHApp
             SrcSpanInfo
               { srcInfoSpan =
                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 58 13 58 31
               , srcInfoPoints = []
               }
             (DHApp
                SrcSpanInfo
                  { srcInfoSpan =
                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 58 13 58 22
                  , srcInfoPoints = []
                  }
                (DHead
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 58 13 58 20
                     , srcInfoPoints = []
                     }
                   (Ident
                      SrcSpanInfo
                        { srcInfoSpan =
                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 58 13 58 20
                        , srcInfoPoints = []
                        }
                      "JClosed"))
                (UnkindedVar
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 58 21 58 22
                     , srcInfoPoints = []
                     }
                   (Ident
                      SrcSpanInfo
                        { srcInfoSpan =
                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 58 21 58 22
                        , srcInfoPoints = []
                        }
                      "a")))
             (KindedVar
                SrcSpanInfo
                  { srcInfoSpan =
                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 58 23 58 31
                  , srcInfoPoints =
                      [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 58 23 58 24
                      , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 58 26 58 28
                      , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 58 30 58 31
                      ]
                  }
                (Ident
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 58 24 58 25
                     , srcInfoPoints = []
                     }
                   "b")
                (KindVar
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 58 29 58 30
                     , srcInfoPoints = []
                     }
                   (UnQual
                      SrcSpanInfo
                        { srcInfoSpan =
                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 58 29 58 30
                        , srcInfoPoints = []
                        }
                      (Ident
                         SrcSpanInfo
                           { srcInfoSpan =
                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 58 29 58 30
                           , srcInfoPoints = []
                           }
                         "k")))))
          (Just
             (TyVarSig
                SrcSpanInfo
                  { srcInfoSpan =
                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 58 32 58 35
                  , srcInfoPoints =
                      [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 58 32 58 33 ]
                  }
                (UnkindedVar
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 58 34 58 35
                     , srcInfoPoints = []
                     }
                   (Ident
                      SrcSpanInfo
                        { srcInfoSpan =
                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 58 34 58 35
                        , srcInfoPoints = []
                        }
                      "r"))))
          (Just
             (InjectivityInfo
                SrcSpanInfo
                  { srcInfoSpan =
                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 58 36 58 44
                  , srcInfoPoints =
                      [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 58 36 58 37
                      , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 58 40 58 42
                      ]
                  }
                (Ident
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 58 38 58 39
                     , srcInfoPoints = []
                     }
                   "r")
                [ Ident
                    SrcSpanInfo
                      { srcInfoSpan =
                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 58 43 58 44
                      , srcInfoPoints = []
                      }
                    "a"
                ]))
          [ TypeEqn
              SrcSpanInfo
                { srcInfoSpan =
                    SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 59 5 59 25
                , srcInfoPoints =
                    [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 59 19 59 20 ]
                }
              (TyApp
                 SrcSpanInfo
                   { srcInfoSpan =
                       SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 59 5 59 18
                   , srcInfoPoints = []
                   }
                 (TyApp
                    SrcSpanInfo
                      { srcInfoSpan =
                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 59 5 59 16
                      , srcInfoPoints = []
                      }
                    (TyCon
                       SrcSpanInfo
                         { srcInfoSpan =
                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 59 5 59 12
                         , srcInfoPoints = []
                         }
                       (UnQual
                          SrcSpanInfo
                            { srcInfoSpan =
                                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 59 5 59 12
                            , srcInfoPoints = []
                            }
                          (Ident
                             SrcSpanInfo
                               { srcInfoSpan =
                                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 59 5 59 12
                               , srcInfoPoints = []
                               }
                             "JClosed")))
                    (TyCon
                       SrcSpanInfo
                         { srcInfoSpan =
                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 59 13 59 16
                         , srcInfoPoints = []
                         }
                       (UnQual
                          SrcSpanInfo
                            { srcInfoSpan =
                                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 59 13 59 16
                            , srcInfoPoints = []
                            }
                          (Ident
                             SrcSpanInfo
                               { srcInfoSpan =
                                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 59 13 59 16
                               , srcInfoPoints = []
                               }
                             "Int"))))
                 (TyVar
                    SrcSpanInfo
                      { srcInfoSpan =
                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 59 17 59 18
                      , srcInfoPoints = []
                      }
                    (Ident
                       SrcSpanInfo
                         { srcInfoSpan =
                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 59 17 59 18
                         , srcInfoPoints = []
                         }
                       "b")))
              (TyCon
                 SrcSpanInfo
                   { srcInfoSpan =
                       SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 59 21 59 25
                   , srcInfoPoints = []
                   }
                 (UnQual
                    SrcSpanInfo
                      { srcInfoSpan =
                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 59 21 59 25
                      , srcInfoPoints = []
                      }
                    (Ident
                       SrcSpanInfo
                         { srcInfoSpan =
                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 59 21 59 25
                         , srcInfoPoints = []
                         }
                       "Char")))
          ]
      , ClosedTypeFamDecl
          SrcSpanInfo
            { srcInfoSpan =
                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 61 1 61 22
            , srcInfoPoints =
                [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 61 1 61 5
                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 61 6 61 12
                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 61 36 61 41
                ]
            }
          (DHApp
             SrcSpanInfo
               { srcInfoSpan =
                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 61 13 61 22
               , srcInfoPoints = []
               }
             (DHead
                SrcSpanInfo
                  { srcInfoSpan =
                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 61 13 61 20
                  , srcInfoPoints = []
                  }
                (Ident
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 61 13 61 20
                     , srcInfoPoints = []
                     }
                   "KClosed"))
             (UnkindedVar
                SrcSpanInfo
                  { srcInfoSpan =
                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 61 21 61 22
                  , srcInfoPoints = []
                  }
                (Ident
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 61 21 61 22
                     , srcInfoPoints = []
                     }
                   "a")))
          (Just
             (TyVarSig
                SrcSpanInfo
                  { srcInfoSpan =
                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 61 23 61 26
                  , srcInfoPoints =
                      [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 61 23 61 24 ]
                  }
                (UnkindedVar
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 61 25 61 26
                     , srcInfoPoints = []
                     }
                   (Ident
                      SrcSpanInfo
                        { srcInfoSpan =
                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 61 25 61 26
                        , srcInfoPoints = []
                        }
                      "r"))))
          (Just
             (InjectivityInfo
                SrcSpanInfo
                  { srcInfoSpan =
                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 61 27 61 35
                  , srcInfoPoints =
                      [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 61 27 61 28
                      , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 61 31 61 33
                      ]
                  }
                (Ident
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 61 29 61 30
                     , srcInfoPoints = []
                     }
                   "r")
                [ Ident
                    SrcSpanInfo
                      { srcInfoSpan =
                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 61 34 61 35
                      , srcInfoPoints = []
                      }
                    "a"
                ]))
          [ TypeEqn
              SrcSpanInfo
                { srcInfoSpan =
                    SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 62 5 62 27
                , srcInfoPoints =
                    [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 62 15 62 16 ]
                }
              (TyApp
                 SrcSpanInfo
                   { srcInfoSpan =
                       SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 62 5 62 14
                   , srcInfoPoints = []
                   }
                 (TyCon
                    SrcSpanInfo
                      { srcInfoSpan =
                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 62 5 62 12
                      , srcInfoPoints = []
                      }
                    (UnQual
                       SrcSpanInfo
                         { srcInfoSpan =
                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 62 5 62 12
                         , srcInfoPoints = []
                         }
                       (Ident
                          SrcSpanInfo
                            { srcInfoSpan =
                                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 62 5 62 12
                            , srcInfoPoints = []
                            }
                          "KClosed")))
                 (TyVar
                    SrcSpanInfo
                      { srcInfoSpan =
                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 62 13 62 14
                      , srcInfoPoints = []
                      }
                    (Ident
                       SrcSpanInfo
                         { srcInfoSpan =
                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 62 13 62 14
                         , srcInfoPoints = []
                         }
                       "a")))
              (TyApp
                 SrcSpanInfo
                   { srcInfoSpan =
                       SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 62 17 62 27
                   , srcInfoPoints = []
                   }
                 (TyCon
                    SrcSpanInfo
                      { srcInfoSpan =
                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 62 17 62 25
                      , srcInfoPoints = []
                      }
                    (UnQual
                       SrcSpanInfo
                         { srcInfoSpan =
                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 62 17 62 25
                         , srcInfoPoints = []
                         }
                       (Ident
                          SrcSpanInfo
                            { srcInfoSpan =
                                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 62 17 62 25
                            , srcInfoPoints = []
                            }
                          "MaybeSyn")))
                 (TyVar
                    SrcSpanInfo
                      { srcInfoSpan =
                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 62 26 62 27
                      , srcInfoPoints = []
                      }
                    (Ident
                       SrcSpanInfo
                         { srcInfoSpan =
                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 62 26 62 27
                         , srcInfoPoints = []
                         }
                       "a")))
          ]
      , ClosedTypeFamDecl
          SrcSpanInfo
            { srcInfoSpan =
                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 66 1 66 18
            , srcInfoPoints =
                [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 66 1 66 5
                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 66 6 66 12
                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 66 32 66 37
                ]
            }
          (DHApp
             SrcSpanInfo
               { srcInfoSpan =
                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 66 13 66 18
               , srcInfoPoints = []
               }
             (DHead
                SrcSpanInfo
                  { srcInfoSpan =
                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 66 13 66 16
                  , srcInfoPoints = []
                  }
                (Ident
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 66 13 66 16
                     , srcInfoPoints = []
                     }
                   "Bak"))
             (UnkindedVar
                SrcSpanInfo
                  { srcInfoSpan =
                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 66 17 66 18
                  , srcInfoPoints = []
                  }
                (Ident
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 66 17 66 18
                     , srcInfoPoints = []
                     }
                   "a")))
          (Just
             (TyVarSig
                SrcSpanInfo
                  { srcInfoSpan =
                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 66 19 66 22
                  , srcInfoPoints =
                      [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 66 19 66 20 ]
                  }
                (UnkindedVar
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 66 21 66 22
                     , srcInfoPoints = []
                     }
                   (Ident
                      SrcSpanInfo
                        { srcInfoSpan =
                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 66 21 66 22
                        , srcInfoPoints = []
                        }
                      "r"))))
          (Just
             (InjectivityInfo
                SrcSpanInfo
                  { srcInfoSpan =
                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 66 23 66 31
                  , srcInfoPoints =
                      [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 66 23 66 24
                      , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 66 27 66 29
                      ]
                  }
                (Ident
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 66 25 66 26
                     , srcInfoPoints = []
                     }
                   "r")
                [ Ident
                    SrcSpanInfo
                      { srcInfoSpan =
                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 66 30 66 31
                      , srcInfoPoints = []
                      }
                    "a"
                ]))
          [ TypeEqn
              SrcSpanInfo
                { srcInfoSpan =
                    SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 67 6 67 21
                , srcInfoPoints =
                    [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 67 15 67 16 ]
                }
              (TyApp
                 SrcSpanInfo
                   { srcInfoSpan =
                       SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 67 6 67 13
                   , srcInfoPoints = []
                   }
                 (TyCon
                    SrcSpanInfo
                      { srcInfoSpan =
                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 67 6 67 9
                      , srcInfoPoints = []
                      }
                    (UnQual
                       SrcSpanInfo
                         { srcInfoSpan =
                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 67 6 67 9
                         , srcInfoPoints = []
                         }
                       (Ident
                          SrcSpanInfo
                            { srcInfoSpan =
                                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 67 6 67 9
                            , srcInfoPoints = []
                            }
                          "Bak")))
                 (TyCon
                    SrcSpanInfo
                      { srcInfoSpan =
                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 67 10 67 13
                      , srcInfoPoints = []
                      }
                    (UnQual
                       SrcSpanInfo
                         { srcInfoSpan =
                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 67 10 67 13
                         , srcInfoPoints = []
                         }
                       (Ident
                          SrcSpanInfo
                            { srcInfoSpan =
                                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 67 10 67 13
                            , srcInfoPoints = []
                            }
                          "Int"))))
              (TyCon
                 SrcSpanInfo
                   { srcInfoSpan =
                       SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 67 17 67 21
                   , srcInfoPoints = []
                   }
                 (UnQual
                    SrcSpanInfo
                      { srcInfoSpan =
                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 67 17 67 21
                      , srcInfoPoints = []
                      }
                    (Ident
                       SrcSpanInfo
                         { srcInfoSpan =
                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 67 17 67 21
                         , srcInfoPoints = []
                         }
                       "Char")))
          , TypeEqn
              SrcSpanInfo
                { srcInfoSpan =
                    SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 68 6 68 20
                , srcInfoPoints =
                    [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 68 15 68 16 ]
                }
              (TyApp
                 SrcSpanInfo
                   { srcInfoSpan =
                       SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 68 6 68 14
                   , srcInfoPoints = []
                   }
                 (TyCon
                    SrcSpanInfo
                      { srcInfoSpan =
                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 68 6 68 9
                      , srcInfoPoints = []
                      }
                    (UnQual
                       SrcSpanInfo
                         { srcInfoSpan =
                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 68 6 68 9
                         , srcInfoPoints = []
                         }
                       (Ident
                          SrcSpanInfo
                            { srcInfoSpan =
                                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 68 6 68 9
                            , srcInfoPoints = []
                            }
                          "Bak")))
                 (TyCon
                    SrcSpanInfo
                      { srcInfoSpan =
                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 68 10 68 14
                      , srcInfoPoints = []
                      }
                    (UnQual
                       SrcSpanInfo
                         { srcInfoSpan =
                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 68 10 68 14
                         , srcInfoPoints = []
                         }
                       (Ident
                          SrcSpanInfo
                            { srcInfoSpan =
                                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 68 10 68 14
                            , srcInfoPoints = []
                            }
                          "Char"))))
              (TyCon
                 SrcSpanInfo
                   { srcInfoSpan =
                       SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 68 17 68 20
                   , srcInfoPoints = []
                   }
                 (UnQual
                    SrcSpanInfo
                      { srcInfoSpan =
                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 68 17 68 20
                      , srcInfoPoints = []
                      }
                    (Ident
                       SrcSpanInfo
                         { srcInfoSpan =
                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 68 17 68 20
                         , srcInfoPoints = []
                         }
                       "Int")))
          , TypeEqn
              SrcSpanInfo
                { srcInfoSpan =
                    SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 69 6 69 18
                , srcInfoPoints =
                    [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 69 15 69 16 ]
                }
              (TyApp
                 SrcSpanInfo
                   { srcInfoSpan =
                       SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 69 6 69 11
                   , srcInfoPoints = []
                   }
                 (TyCon
                    SrcSpanInfo
                      { srcInfoSpan =
                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 69 6 69 9
                      , srcInfoPoints = []
                      }
                    (UnQual
                       SrcSpanInfo
                         { srcInfoSpan =
                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 69 6 69 9
                         , srcInfoPoints = []
                         }
                       (Ident
                          SrcSpanInfo
                            { srcInfoSpan =
                                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 69 6 69 9
                            , srcInfoPoints = []
                            }
                          "Bak")))
                 (TyVar
                    SrcSpanInfo
                      { srcInfoSpan =
                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 69 10 69 11
                      , srcInfoPoints = []
                      }
                    (Ident
                       SrcSpanInfo
                         { srcInfoSpan =
                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 69 10 69 11
                         , srcInfoPoints = []
                         }
                       "a")))
              (TyVar
                 SrcSpanInfo
                   { srcInfoSpan =
                       SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 69 17 69 18
                   , srcInfoPoints = []
                   }
                 (Ident
                    SrcSpanInfo
                      { srcInfoSpan =
                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 69 17 69 18
                      , srcInfoPoints = []
                      }
                    "a"))
          ]
      , ClosedTypeFamDecl
          SrcSpanInfo
            { srcInfoSpan =
                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 73 1 73 18
            , srcInfoPoints =
                [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 73 1 73 5
                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 73 6 73 12
                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 73 32 73 37
                ]
            }
          (DHApp
             SrcSpanInfo
               { srcInfoSpan =
                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 73 13 73 18
               , srcInfoPoints = []
               }
             (DHead
                SrcSpanInfo
                  { srcInfoSpan =
                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 73 13 73 16
                  , srcInfoPoints = []
                  }
                (Ident
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 73 13 73 16
                     , srcInfoPoints = []
                     }
                   "Foo"))
             (UnkindedVar
                SrcSpanInfo
                  { srcInfoSpan =
                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 73 17 73 18
                  , srcInfoPoints = []
                  }
                (Ident
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 73 17 73 18
                     , srcInfoPoints = []
                     }
                   "a")))
          (Just
             (TyVarSig
                SrcSpanInfo
                  { srcInfoSpan =
                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 73 19 73 22
                  , srcInfoPoints =
                      [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 73 19 73 20 ]
                  }
                (UnkindedVar
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 73 21 73 22
                     , srcInfoPoints = []
                     }
                   (Ident
                      SrcSpanInfo
                        { srcInfoSpan =
                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 73 21 73 22
                        , srcInfoPoints = []
                        }
                      "r"))))
          (Just
             (InjectivityInfo
                SrcSpanInfo
                  { srcInfoSpan =
                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 73 23 73 31
                  , srcInfoPoints =
                      [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 73 23 73 24
                      , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 73 27 73 29
                      ]
                  }
                (Ident
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 73 25 73 26
                     , srcInfoPoints = []
                     }
                   "r")
                [ Ident
                    SrcSpanInfo
                      { srcInfoSpan =
                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 73 30 73 31
                      , srcInfoPoints = []
                      }
                    "a"
                ]))
          [ TypeEqn
              SrcSpanInfo
                { srcInfoSpan =
                    SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 74 5 74 20
                , srcInfoPoints =
                    [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 74 14 74 15 ]
                }
              (TyApp
                 SrcSpanInfo
                   { srcInfoSpan =
                       SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 74 5 74 12
                   , srcInfoPoints = []
                   }
                 (TyCon
                    SrcSpanInfo
                      { srcInfoSpan =
                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 74 5 74 8
                      , srcInfoPoints = []
                      }
                    (UnQual
                       SrcSpanInfo
                         { srcInfoSpan =
                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 74 5 74 8
                         , srcInfoPoints = []
                         }
                       (Ident
                          SrcSpanInfo
                            { srcInfoSpan =
                                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 74 5 74 8
                            , srcInfoPoints = []
                            }
                          "Foo")))
                 (TyCon
                    SrcSpanInfo
                      { srcInfoSpan =
                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 74 9 74 12
                      , srcInfoPoints = []
                      }
                    (UnQual
                       SrcSpanInfo
                         { srcInfoSpan =
                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 74 9 74 12
                         , srcInfoPoints = []
                         }
                       (Ident
                          SrcSpanInfo
                            { srcInfoSpan =
                                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 74 9 74 12
                            , srcInfoPoints = []
                            }
                          "Int"))))
              (TyCon
                 SrcSpanInfo
                   { srcInfoSpan =
                       SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 74 16 74 20
                   , srcInfoPoints = []
                   }
                 (UnQual
                    SrcSpanInfo
                      { srcInfoSpan =
                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 74 16 74 20
                      , srcInfoPoints = []
                      }
                    (Ident
                       SrcSpanInfo
                         { srcInfoSpan =
                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 74 16 74 20
                         , srcInfoPoints = []
                         }
                       "Bool")))
          , TypeEqn
              SrcSpanInfo
                { srcInfoSpan =
                    SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 75 5 75 19
                , srcInfoPoints =
                    [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 75 14 75 15 ]
                }
              (TyApp
                 SrcSpanInfo
                   { srcInfoSpan =
                       SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 75 5 75 13
                   , srcInfoPoints = []
                   }
                 (TyCon
                    SrcSpanInfo
                      { srcInfoSpan =
                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 75 5 75 8
                      , srcInfoPoints = []
                      }
                    (UnQual
                       SrcSpanInfo
                         { srcInfoSpan =
                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 75 5 75 8
                         , srcInfoPoints = []
                         }
                       (Ident
                          SrcSpanInfo
                            { srcInfoSpan =
                                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 75 5 75 8
                            , srcInfoPoints = []
                            }
                          "Foo")))
                 (TyCon
                    SrcSpanInfo
                      { srcInfoSpan =
                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 75 9 75 13
                      , srcInfoPoints = []
                      }
                    (UnQual
                       SrcSpanInfo
                         { srcInfoSpan =
                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 75 9 75 13
                         , srcInfoPoints = []
                         }
                       (Ident
                          SrcSpanInfo
                            { srcInfoSpan =
                                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 75 9 75 13
                            , srcInfoPoints = []
                            }
                          "Bool"))))
              (TyCon
                 SrcSpanInfo
                   { srcInfoSpan =
                       SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 75 16 75 19
                   , srcInfoPoints = []
                   }
                 (UnQual
                    SrcSpanInfo
                      { srcInfoSpan =
                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 75 16 75 19
                      , srcInfoPoints = []
                      }
                    (Ident
                       SrcSpanInfo
                         { srcInfoSpan =
                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 75 16 75 19
                         , srcInfoPoints = []
                         }
                       "Int")))
          , TypeEqn
              SrcSpanInfo
                { srcInfoSpan =
                    SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 76 5 76 20
                , srcInfoPoints =
                    [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 76 14 76 15 ]
                }
              (TyApp
                 SrcSpanInfo
                   { srcInfoSpan =
                       SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 76 5 76 13
                   , srcInfoPoints = []
                   }
                 (TyCon
                    SrcSpanInfo
                      { srcInfoSpan =
                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 76 5 76 8
                      , srcInfoPoints = []
                      }
                    (UnQual
                       SrcSpanInfo
                         { srcInfoSpan =
                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 76 5 76 8
                         , srcInfoPoints = []
                         }
                       (Ident
                          SrcSpanInfo
                            { srcInfoSpan =
                                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 76 5 76 8
                            , srcInfoPoints = []
                            }
                          "Foo")))
                 (TyCon
                    SrcSpanInfo
                      { srcInfoSpan =
                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 76 9 76 13
                      , srcInfoPoints = []
                      }
                    (UnQual
                       SrcSpanInfo
                         { srcInfoSpan =
                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 76 9 76 13
                         , srcInfoPoints = []
                         }
                       (Ident
                          SrcSpanInfo
                            { srcInfoSpan =
                                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 76 9 76 13
                            , srcInfoPoints = []
                            }
                          "Bool"))))
              (TyCon
                 SrcSpanInfo
                   { srcInfoSpan =
                       SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 76 16 76 20
                   , srcInfoPoints = []
                   }
                 (UnQual
                    SrcSpanInfo
                      { srcInfoSpan =
                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 76 16 76 20
                      , srcInfoPoints = []
                      }
                    (Ident
                       SrcSpanInfo
                         { srcInfoSpan =
                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 76 16 76 20
                         , srcInfoPoints = []
                         }
                       "Bool")))
          ]
      , ClosedTypeFamDecl
          SrcSpanInfo
            { srcInfoSpan =
                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 80 1 80 18
            , srcInfoPoints =
                [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 80 1 80 5
                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 80 6 80 12
                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 80 32 80 37
                ]
            }
          (DHApp
             SrcSpanInfo
               { srcInfoSpan =
                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 80 13 80 18
               , srcInfoPoints = []
               }
             (DHead
                SrcSpanInfo
                  { srcInfoSpan =
                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 80 13 80 16
                  , srcInfoPoints = []
                  }
                (Ident
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 80 13 80 16
                     , srcInfoPoints = []
                     }
                   "Bar"))
             (UnkindedVar
                SrcSpanInfo
                  { srcInfoSpan =
                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 80 17 80 18
                  , srcInfoPoints = []
                  }
                (Ident
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 80 17 80 18
                     , srcInfoPoints = []
                     }
                   "a")))
          (Just
             (TyVarSig
                SrcSpanInfo
                  { srcInfoSpan =
                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 80 19 80 22
                  , srcInfoPoints =
                      [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 80 19 80 20 ]
                  }
                (UnkindedVar
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 80 21 80 22
                     , srcInfoPoints = []
                     }
                   (Ident
                      SrcSpanInfo
                        { srcInfoSpan =
                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 80 21 80 22
                        , srcInfoPoints = []
                        }
                      "r"))))
          (Just
             (InjectivityInfo
                SrcSpanInfo
                  { srcInfoSpan =
                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 80 23 80 31
                  , srcInfoPoints =
                      [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 80 23 80 24
                      , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 80 27 80 29
                      ]
                  }
                (Ident
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 80 25 80 26
                     , srcInfoPoints = []
                     }
                   "r")
                [ Ident
                    SrcSpanInfo
                      { srcInfoSpan =
                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 80 30 80 31
                      , srcInfoPoints = []
                      }
                    "a"
                ]))
          [ TypeEqn
              SrcSpanInfo
                { srcInfoSpan =
                    SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 81 5 81 20
                , srcInfoPoints =
                    [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 81 14 81 15 ]
                }
              (TyApp
                 SrcSpanInfo
                   { srcInfoSpan =
                       SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 81 5 81 12
                   , srcInfoPoints = []
                   }
                 (TyCon
                    SrcSpanInfo
                      { srcInfoSpan =
                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 81 5 81 8
                      , srcInfoPoints = []
                      }
                    (UnQual
                       SrcSpanInfo
                         { srcInfoSpan =
                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 81 5 81 8
                         , srcInfoPoints = []
                         }
                       (Ident
                          SrcSpanInfo
                            { srcInfoSpan =
                                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 81 5 81 8
                            , srcInfoPoints = []
                            }
                          "Bar")))
                 (TyCon
                    SrcSpanInfo
                      { srcInfoSpan =
                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 81 9 81 12
                      , srcInfoPoints = []
                      }
                    (UnQual
                       SrcSpanInfo
                         { srcInfoSpan =
                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 81 9 81 12
                         , srcInfoPoints = []
                         }
                       (Ident
                          SrcSpanInfo
                            { srcInfoSpan =
                                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 81 9 81 12
                            , srcInfoPoints = []
                            }
                          "Int"))))
              (TyCon
                 SrcSpanInfo
                   { srcInfoSpan =
                       SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 81 16 81 20
                   , srcInfoPoints = []
                   }
                 (UnQual
                    SrcSpanInfo
                      { srcInfoSpan =
                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 81 16 81 20
                      , srcInfoPoints = []
                      }
                    (Ident
                       SrcSpanInfo
                         { srcInfoSpan =
                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 81 16 81 20
                         , srcInfoPoints = []
                         }
                       "Bool")))
          , TypeEqn
              SrcSpanInfo
                { srcInfoSpan =
                    SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 82 5 82 19
                , srcInfoPoints =
                    [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 82 14 82 15 ]
                }
              (TyApp
                 SrcSpanInfo
                   { srcInfoSpan =
                       SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 82 5 82 13
                   , srcInfoPoints = []
                   }
                 (TyCon
                    SrcSpanInfo
                      { srcInfoSpan =
                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 82 5 82 8
                      , srcInfoPoints = []
                      }
                    (UnQual
                       SrcSpanInfo
                         { srcInfoSpan =
                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 82 5 82 8
                         , srcInfoPoints = []
                         }
                       (Ident
                          SrcSpanInfo
                            { srcInfoSpan =
                                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 82 5 82 8
                            , srcInfoPoints = []
                            }
                          "Bar")))
                 (TyCon
                    SrcSpanInfo
                      { srcInfoSpan =
                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 82 9 82 13
                      , srcInfoPoints = []
                      }
                    (UnQual
                       SrcSpanInfo
                         { srcInfoSpan =
                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 82 9 82 13
                         , srcInfoPoints = []
                         }
                       (Ident
                          SrcSpanInfo
                            { srcInfoSpan =
                                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 82 9 82 13
                            , srcInfoPoints = []
                            }
                          "Bool"))))
              (TyCon
                 SrcSpanInfo
                   { srcInfoSpan =
                       SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 82 16 82 19
                   , srcInfoPoints = []
                   }
                 (UnQual
                    SrcSpanInfo
                      { srcInfoSpan =
                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 82 16 82 19
                      , srcInfoPoints = []
                      }
                    (Ident
                       SrcSpanInfo
                         { srcInfoSpan =
                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 82 16 82 19
                         , srcInfoPoints = []
                         }
                       "Int")))
          , TypeEqn
              SrcSpanInfo
                { srcInfoSpan =
                    SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 83 5 83 20
                , srcInfoPoints =
                    [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 83 14 83 15 ]
                }
              (TyApp
                 SrcSpanInfo
                   { srcInfoSpan =
                       SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 83 5 83 13
                   , srcInfoPoints = []
                   }
                 (TyCon
                    SrcSpanInfo
                      { srcInfoSpan =
                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 83 5 83 8
                      , srcInfoPoints = []
                      }
                    (UnQual
                       SrcSpanInfo
                         { srcInfoSpan =
                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 83 5 83 8
                         , srcInfoPoints = []
                         }
                       (Ident
                          SrcSpanInfo
                            { srcInfoSpan =
                                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 83 5 83 8
                            , srcInfoPoints = []
                            }
                          "Bar")))
                 (TyCon
                    SrcSpanInfo
                      { srcInfoSpan =
                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 83 9 83 13
                      , srcInfoPoints = []
                      }
                    (UnQual
                       SrcSpanInfo
                         { srcInfoSpan =
                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 83 9 83 13
                         , srcInfoPoints = []
                         }
                       (Ident
                          SrcSpanInfo
                            { srcInfoSpan =
                                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 83 9 83 13
                            , srcInfoPoints = []
                            }
                          "Bool"))))
              (TyCon
                 SrcSpanInfo
                   { srcInfoSpan =
                       SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 83 16 83 20
                   , srcInfoPoints = []
                   }
                 (UnQual
                    SrcSpanInfo
                      { srcInfoSpan =
                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 83 16 83 20
                      , srcInfoPoints = []
                      }
                    (Ident
                       SrcSpanInfo
                         { srcInfoSpan =
                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 83 16 83 20
                         , srcInfoPoints = []
                         }
                       "Char")))
          ]
      , TypeSig
          SrcSpanInfo
            { srcInfoSpan =
                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 88 1 88 24
            , srcInfoPoints =
                [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 88 3 88 5 ]
            }
          [ Ident
              SrcSpanInfo
                { srcInfoSpan =
                    SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 88 1 88 2
                , srcInfoPoints = []
                }
              "f"
          ]
          (TyFun
             SrcSpanInfo
               { srcInfoSpan =
                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 88 6 88 24
               , srcInfoPoints =
                   [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 88 14 88 16 ]
               }
             (TyApp
                SrcSpanInfo
                  { srcInfoSpan =
                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 88 6 88 13
                  , srcInfoPoints = []
                  }
                (TyApp
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 88 6 88 11
                     , srcInfoPoints = []
                     }
                   (TyApp
                      SrcSpanInfo
                        { srcInfoSpan =
                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 88 6 88 9
                        , srcInfoPoints = []
                        }
                      (TyCon
                         SrcSpanInfo
                           { srcInfoSpan =
                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 88 6 88 7
                           , srcInfoPoints = []
                           }
                         (UnQual
                            SrcSpanInfo
                              { srcInfoSpan =
                                  SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 88 6 88 7
                              , srcInfoPoints = []
                              }
                            (Ident
                               SrcSpanInfo
                                 { srcInfoSpan =
                                     SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 88 6 88 7
                                 , srcInfoPoints = []
                                 }
                               "F")))
                      (TyVar
                         SrcSpanInfo
                           { srcInfoSpan =
                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 88 8 88 9
                           , srcInfoPoints = []
                           }
                         (Ident
                            SrcSpanInfo
                              { srcInfoSpan =
                                  SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 88 8 88 9
                              , srcInfoPoints = []
                              }
                            "a")))
                   (TyVar
                      SrcSpanInfo
                        { srcInfoSpan =
                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 88 10 88 11
                        , srcInfoPoints = []
                        }
                      (Ident
                         SrcSpanInfo
                           { srcInfoSpan =
                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 88 10 88 11
                           , srcInfoPoints = []
                           }
                         "b")))
                (TyVar
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 88 12 88 13
                     , srcInfoPoints = []
                     }
                   (Ident
                      SrcSpanInfo
                        { srcInfoSpan =
                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 88 12 88 13
                        , srcInfoPoints = []
                        }
                      "c")))
             (TyApp
                SrcSpanInfo
                  { srcInfoSpan =
                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 88 17 88 24
                  , srcInfoPoints = []
                  }
                (TyApp
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 88 17 88 22
                     , srcInfoPoints = []
                     }
                   (TyApp
                      SrcSpanInfo
                        { srcInfoSpan =
                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 88 17 88 20
                        , srcInfoPoints = []
                        }
                      (TyCon
                         SrcSpanInfo
                           { srcInfoSpan =
                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 88 17 88 18
                           , srcInfoPoints = []
                           }
                         (UnQual
                            SrcSpanInfo
                              { srcInfoSpan =
                                  SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 88 17 88 18
                              , srcInfoPoints = []
                              }
                            (Ident
                               SrcSpanInfo
                                 { srcInfoSpan =
                                     SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 88 17 88 18
                                 , srcInfoPoints = []
                                 }
                               "F")))
                      (TyVar
                         SrcSpanInfo
                           { srcInfoSpan =
                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 88 19 88 20
                           , srcInfoPoints = []
                           }
                         (Ident
                            SrcSpanInfo
                              { srcInfoSpan =
                                  SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 88 19 88 20
                              , srcInfoPoints = []
                              }
                            "a")))
                   (TyVar
                      SrcSpanInfo
                        { srcInfoSpan =
                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 88 21 88 22
                        , srcInfoPoints = []
                        }
                      (Ident
                         SrcSpanInfo
                           { srcInfoSpan =
                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 88 21 88 22
                           , srcInfoPoints = []
                           }
                         "b")))
                (TyVar
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 88 23 88 24
                     , srcInfoPoints = []
                     }
                   (Ident
                      SrcSpanInfo
                        { srcInfoSpan =
                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 88 23 88 24
                        , srcInfoPoints = []
                        }
                      "c"))))
      , FunBind
          SrcSpanInfo
            { srcInfoSpan =
                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 89 1 89 8
            , srcInfoPoints = []
            }
          [ Match
              SrcSpanInfo
                { srcInfoSpan =
                    SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 89 1 89 8
                , srcInfoPoints = []
                }
              (Ident
                 SrcSpanInfo
                   { srcInfoSpan =
                       SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 89 1 89 2
                   , srcInfoPoints = []
                   }
                 "f")
              [ PVar
                  SrcSpanInfo
                    { srcInfoSpan =
                        SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 89 3 89 4
                    , srcInfoPoints = []
                    }
                  (Ident
                     SrcSpanInfo
                       { srcInfoSpan =
                           SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 89 3 89 4
                       , srcInfoPoints = []
                       }
                     "x")
              ]
              (UnGuardedRhs
                 SrcSpanInfo
                   { srcInfoSpan =
                       SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 89 5 89 8
                   , srcInfoPoints =
                       [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 89 5 89 6 ]
                   }
                 (Var
                    SrcSpanInfo
                      { srcInfoSpan =
                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 89 7 89 8
                      , srcInfoPoints = []
                      }
                    (UnQual
                       SrcSpanInfo
                         { srcInfoSpan =
                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 89 7 89 8
                         , srcInfoPoints = []
                         }
                       (Ident
                          SrcSpanInfo
                            { srcInfoSpan =
                                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 89 7 89 8
                            , srcInfoPoints = []
                            }
                          "x"))))
              Nothing
          ]
      , TypeSig
          SrcSpanInfo
            { srcInfoSpan =
                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 92 1 92 13
            , srcInfoPoints =
                [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 92 6 92 8 ]
            }
          [ Ident
              SrcSpanInfo
                { srcInfoSpan =
                    SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 92 1 92 5
                , srcInfoPoints = []
                }
              "fapp"
          ]
          (TyCon
             SrcSpanInfo
               { srcInfoSpan =
                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 92 9 92 13
               , srcInfoPoints = []
               }
             (UnQual
                SrcSpanInfo
                  { srcInfoSpan =
                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 92 9 92 13
                  , srcInfoPoints = []
                  }
                (Ident
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 92 9 92 13
                     , srcInfoPoints = []
                     }
                   "Bool")))
      , PatBind
          SrcSpanInfo
            { srcInfoSpan =
                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 93 1 93 14
            , srcInfoPoints = []
            }
          (PVar
             SrcSpanInfo
               { srcInfoSpan =
                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 93 1 93 5
               , srcInfoPoints = []
               }
             (Ident
                SrcSpanInfo
                  { srcInfoSpan =
                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 93 1 93 5
                  , srcInfoPoints = []
                  }
                "fapp"))
          (UnGuardedRhs
             SrcSpanInfo
               { srcInfoSpan =
                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 93 6 93 14
               , srcInfoPoints =
                   [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 93 6 93 7 ]
               }
             (App
                SrcSpanInfo
                  { srcInfoSpan =
                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 93 8 93 14
                  , srcInfoPoints = []
                  }
                (Var
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 93 8 93 9
                     , srcInfoPoints = []
                     }
                   (UnQual
                      SrcSpanInfo
                        { srcInfoSpan =
                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 93 8 93 9
                        , srcInfoPoints = []
                        }
                      (Ident
                         SrcSpanInfo
                           { srcInfoSpan =
                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 93 8 93 9
                           , srcInfoPoints = []
                           }
                         "f")))
                (Con
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 93 10 93 14
                     , srcInfoPoints = []
                     }
                   (UnQual
                      SrcSpanInfo
                        { srcInfoSpan =
                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 93 10 93 14
                        , srcInfoPoints = []
                        }
                      (Ident
                         SrcSpanInfo
                           { srcInfoSpan =
                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 93 10 93 14
                           , srcInfoPoints = []
                           }
                         "True")))))
          Nothing
      , TypeSig
          SrcSpanInfo
            { srcInfoSpan =
                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 96 1 96 37
            , srcInfoPoints =
                [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 96 4 96 6 ]
            }
          [ Ident
              SrcSpanInfo
                { srcInfoSpan =
                    SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 96 1 96 3
                , srcInfoPoints = []
                }
              "fc"
          ]
          (TyFun
             SrcSpanInfo
               { srcInfoSpan =
                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 96 7 96 37
               , srcInfoPoints =
                   [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 96 21 96 23 ]
               }
             (TyApp
                SrcSpanInfo
                  { srcInfoSpan =
                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 96 7 96 20
                  , srcInfoPoints = []
                  }
                (TyApp
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 96 7 96 18
                     , srcInfoPoints = []
                     }
                   (TyApp
                      SrcSpanInfo
                        { srcInfoSpan =
                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 96 7 96 16
                        , srcInfoPoints = []
                        }
                      (TyCon
                         SrcSpanInfo
                           { srcInfoSpan =
                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 96 7 96 14
                           , srcInfoPoints = []
                           }
                         (UnQual
                            SrcSpanInfo
                              { srcInfoSpan =
                                  SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 96 7 96 14
                              , srcInfoPoints = []
                              }
                            (Ident
                               SrcSpanInfo
                                 { srcInfoSpan =
                                     SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 96 7 96 14
                                 , srcInfoPoints = []
                                 }
                               "FClosed")))
                      (TyVar
                         SrcSpanInfo
                           { srcInfoSpan =
                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 96 15 96 16
                           , srcInfoPoints = []
                           }
                         (Ident
                            SrcSpanInfo
                              { srcInfoSpan =
                                  SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 96 15 96 16
                              , srcInfoPoints = []
                              }
                            "a")))
                   (TyVar
                      SrcSpanInfo
                        { srcInfoSpan =
                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 96 17 96 18
                        , srcInfoPoints = []
                        }
                      (Ident
                         SrcSpanInfo
                           { srcInfoSpan =
                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 96 17 96 18
                           , srcInfoPoints = []
                           }
                         "b")))
                (TyVar
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 96 19 96 20
                     , srcInfoPoints = []
                     }
                   (Ident
                      SrcSpanInfo
                        { srcInfoSpan =
                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 96 19 96 20
                        , srcInfoPoints = []
                        }
                      "c")))
             (TyApp
                SrcSpanInfo
                  { srcInfoSpan =
                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 96 24 96 37
                  , srcInfoPoints = []
                  }
                (TyApp
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 96 24 96 35
                     , srcInfoPoints = []
                     }
                   (TyApp
                      SrcSpanInfo
                        { srcInfoSpan =
                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 96 24 96 33
                        , srcInfoPoints = []
                        }
                      (TyCon
                         SrcSpanInfo
                           { srcInfoSpan =
                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 96 24 96 31
                           , srcInfoPoints = []
                           }
                         (UnQual
                            SrcSpanInfo
                              { srcInfoSpan =
                                  SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 96 24 96 31
                              , srcInfoPoints = []
                              }
                            (Ident
                               SrcSpanInfo
                                 { srcInfoSpan =
                                     SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 96 24 96 31
                                 , srcInfoPoints = []
                                 }
                               "FClosed")))
                      (TyVar
                         SrcSpanInfo
                           { srcInfoSpan =
                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 96 32 96 33
                           , srcInfoPoints = []
                           }
                         (Ident
                            SrcSpanInfo
                              { srcInfoSpan =
                                  SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 96 32 96 33
                              , srcInfoPoints = []
                              }
                            "a")))
                   (TyVar
                      SrcSpanInfo
                        { srcInfoSpan =
                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 96 34 96 35
                        , srcInfoPoints = []
                        }
                      (Ident
                         SrcSpanInfo
                           { srcInfoSpan =
                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 96 34 96 35
                           , srcInfoPoints = []
                           }
                         "b")))
                (TyVar
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 96 36 96 37
                     , srcInfoPoints = []
                     }
                   (Ident
                      SrcSpanInfo
                        { srcInfoSpan =
                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 96 36 96 37
                        , srcInfoPoints = []
                        }
                      "c"))))
      , FunBind
          SrcSpanInfo
            { srcInfoSpan =
                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 97 1 97 9
            , srcInfoPoints = []
            }
          [ Match
              SrcSpanInfo
                { srcInfoSpan =
                    SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 97 1 97 9
                , srcInfoPoints = []
                }
              (Ident
                 SrcSpanInfo
                   { srcInfoSpan =
                       SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 97 1 97 3
                   , srcInfoPoints = []
                   }
                 "fc")
              [ PVar
                  SrcSpanInfo
                    { srcInfoSpan =
                        SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 97 4 97 5
                    , srcInfoPoints = []
                    }
                  (Ident
                     SrcSpanInfo
                       { srcInfoSpan =
                           SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 97 4 97 5
                       , srcInfoPoints = []
                       }
                     "x")
              ]
              (UnGuardedRhs
                 SrcSpanInfo
                   { srcInfoSpan =
                       SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 97 6 97 9
                   , srcInfoPoints =
                       [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 97 6 97 7 ]
                   }
                 (Var
                    SrcSpanInfo
                      { srcInfoSpan =
                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 97 8 97 9
                      , srcInfoPoints = []
                      }
                    (UnQual
                       SrcSpanInfo
                         { srcInfoSpan =
                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 97 8 97 9
                         , srcInfoPoints = []
                         }
                       (Ident
                          SrcSpanInfo
                            { srcInfoSpan =
                                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 97 8 97 9
                            , srcInfoPoints = []
                            }
                          "x"))))
              Nothing
          ]
      , TypeSig
          SrcSpanInfo
            { srcInfoSpan =
                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 99 1 99 14
            , srcInfoPoints =
                [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 99 7 99 9 ]
            }
          [ Ident
              SrcSpanInfo
                { srcInfoSpan =
                    SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 99 1 99 6
                , srcInfoPoints = []
                }
              "fcapp"
          ]
          (TyCon
             SrcSpanInfo
               { srcInfoSpan =
                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 99 10 99 14
               , srcInfoPoints = []
               }
             (UnQual
                SrcSpanInfo
                  { srcInfoSpan =
                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 99 10 99 14
                  , srcInfoPoints = []
                  }
                (Ident
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 99 10 99 14
                     , srcInfoPoints = []
                     }
                   "Bool")))
      , PatBind
          SrcSpanInfo
            { srcInfoSpan =
                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 100 1 100 16
            , srcInfoPoints = []
            }
          (PVar
             SrcSpanInfo
               { srcInfoSpan =
                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 100 1 100 6
               , srcInfoPoints = []
               }
             (Ident
                SrcSpanInfo
                  { srcInfoSpan =
                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 100 1 100 6
                  , srcInfoPoints = []
                  }
                "fcapp"))
          (UnGuardedRhs
             SrcSpanInfo
               { srcInfoSpan =
                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 100 7 100 16
               , srcInfoPoints =
                   [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 100 7 100 8 ]
               }
             (App
                SrcSpanInfo
                  { srcInfoSpan =
                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 100 9 100 16
                  , srcInfoPoints = []
                  }
                (Var
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 100 9 100 11
                     , srcInfoPoints = []
                     }
                   (UnQual
                      SrcSpanInfo
                        { srcInfoSpan =
                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 100 9 100 11
                        , srcInfoPoints = []
                        }
                      (Ident
                         SrcSpanInfo
                           { srcInfoSpan =
                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 100 9 100 11
                           , srcInfoPoints = []
                           }
                         "fc")))
                (Con
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 100 12 100 16
                     , srcInfoPoints = []
                     }
                   (UnQual
                      SrcSpanInfo
                        { srcInfoSpan =
                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 100 12 100 16
                        , srcInfoPoints = []
                        }
                      (Ident
                         SrcSpanInfo
                           { srcInfoSpan =
                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 100 12 100 16
                           , srcInfoPoints = []
                           }
                         "True")))))
          Nothing
      , TypeSig
          SrcSpanInfo
            { srcInfoSpan =
                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 103 1 103 28
            , srcInfoPoints =
                [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 103 3 103 5 ]
            }
          [ Ident
              SrcSpanInfo
                { srcInfoSpan =
                    SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 103 1 103 2
                , srcInfoPoints = []
                }
              "i"
          ]
          (TyFun
             SrcSpanInfo
               { srcInfoSpan =
                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 103 6 103 28
               , srcInfoPoints =
                   [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 103 16 103 18 ]
               }
             (TyApp
                SrcSpanInfo
                  { srcInfoSpan =
                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 103 6 103 15
                  , srcInfoPoints = []
                  }
                (TyApp
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 103 6 103 11
                     , srcInfoPoints = []
                     }
                   (TyApp
                      SrcSpanInfo
                        { srcInfoSpan =
                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 103 6 103 9
                        , srcInfoPoints = []
                        }
                      (TyCon
                         SrcSpanInfo
                           { srcInfoSpan =
                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 103 6 103 7
                           , srcInfoPoints = []
                           }
                         (UnQual
                            SrcSpanInfo
                              { srcInfoSpan =
                                  SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 103 6 103 7
                              , srcInfoPoints = []
                              }
                            (Ident
                               SrcSpanInfo
                                 { srcInfoSpan =
                                     SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 103 6 103 7
                                 , srcInfoPoints = []
                                 }
                               "I")))
                      (TyVar
                         SrcSpanInfo
                           { srcInfoSpan =
                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 103 8 103 9
                           , srcInfoPoints = []
                           }
                         (Ident
                            SrcSpanInfo
                              { srcInfoSpan =
                                  SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 103 8 103 9
                              , srcInfoPoints = []
                              }
                            "a")))
                   (TyVar
                      SrcSpanInfo
                        { srcInfoSpan =
                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 103 10 103 11
                        , srcInfoPoints = []
                        }
                      (Ident
                         SrcSpanInfo
                           { srcInfoSpan =
                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 103 10 103 11
                           , srcInfoPoints = []
                           }
                         "b")))
                (TyCon
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 103 12 103 15
                     , srcInfoPoints = []
                     }
                   (UnQual
                      SrcSpanInfo
                        { srcInfoSpan =
                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 103 12 103 15
                        , srcInfoPoints = []
                        }
                      (Ident
                         SrcSpanInfo
                           { srcInfoSpan =
                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 103 12 103 15
                           , srcInfoPoints = []
                           }
                         "Int"))))
             (TyApp
                SrcSpanInfo
                  { srcInfoSpan =
                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 103 19 103 28
                  , srcInfoPoints = []
                  }
                (TyApp
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 103 19 103 24
                     , srcInfoPoints = []
                     }
                   (TyApp
                      SrcSpanInfo
                        { srcInfoSpan =
                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 103 19 103 22
                        , srcInfoPoints = []
                        }
                      (TyCon
                         SrcSpanInfo
                           { srcInfoSpan =
                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 103 19 103 20
                           , srcInfoPoints = []
                           }
                         (UnQual
                            SrcSpanInfo
                              { srcInfoSpan =
                                  SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 103 19 103 20
                              , srcInfoPoints = []
                              }
                            (Ident
                               SrcSpanInfo
                                 { srcInfoSpan =
                                     SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 103 19 103 20
                                 , srcInfoPoints = []
                                 }
                               "I")))
                      (TyVar
                         SrcSpanInfo
                           { srcInfoSpan =
                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 103 21 103 22
                           , srcInfoPoints = []
                           }
                         (Ident
                            SrcSpanInfo
                              { srcInfoSpan =
                                  SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 103 21 103 22
                              , srcInfoPoints = []
                              }
                            "a")))
                   (TyVar
                      SrcSpanInfo
                        { srcInfoSpan =
                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 103 23 103 24
                        , srcInfoPoints = []
                        }
                      (Ident
                         SrcSpanInfo
                           { srcInfoSpan =
                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 103 23 103 24
                           , srcInfoPoints = []
                           }
                         "b")))
                (TyCon
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 103 25 103 28
                     , srcInfoPoints = []
                     }
                   (UnQual
                      SrcSpanInfo
                        { srcInfoSpan =
                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 103 25 103 28
                        , srcInfoPoints = []
                        }
                      (Ident
                         SrcSpanInfo
                           { srcInfoSpan =
                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 103 25 103 28
                           , srcInfoPoints = []
                           }
                         "Int")))))
      , FunBind
          SrcSpanInfo
            { srcInfoSpan =
                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 104 1 104 8
            , srcInfoPoints = []
            }
          [ Match
              SrcSpanInfo
                { srcInfoSpan =
                    SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 104 1 104 8
                , srcInfoPoints = []
                }
              (Ident
                 SrcSpanInfo
                   { srcInfoSpan =
                       SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 104 1 104 2
                   , srcInfoPoints = []
                   }
                 "i")
              [ PVar
                  SrcSpanInfo
                    { srcInfoSpan =
                        SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 104 3 104 4
                    , srcInfoPoints = []
                    }
                  (Ident
                     SrcSpanInfo
                       { srcInfoSpan =
                           SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 104 3 104 4
                       , srcInfoPoints = []
                       }
                     "x")
              ]
              (UnGuardedRhs
                 SrcSpanInfo
                   { srcInfoSpan =
                       SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 104 5 104 8
                   , srcInfoPoints =
                       [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 104 5 104 6 ]
                   }
                 (Var
                    SrcSpanInfo
                      { srcInfoSpan =
                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 104 7 104 8
                      , srcInfoPoints = []
                      }
                    (UnQual
                       SrcSpanInfo
                         { srcInfoSpan =
                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 104 7 104 8
                         , srcInfoPoints = []
                         }
                       (Ident
                          SrcSpanInfo
                            { srcInfoSpan =
                                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 104 7 104 8
                            , srcInfoPoints = []
                            }
                          "x"))))
              Nothing
          ]
      , TypeSig
          SrcSpanInfo
            { srcInfoSpan =
                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 107 1 107 13
            , srcInfoPoints =
                [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 107 6 107 8 ]
            }
          [ Ident
              SrcSpanInfo
                { srcInfoSpan =
                    SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 107 1 107 5
                , srcInfoPoints = []
                }
              "iapp"
          ]
          (TyCon
             SrcSpanInfo
               { srcInfoSpan =
                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 107 9 107 13
               , srcInfoPoints = []
               }
             (UnQual
                SrcSpanInfo
                  { srcInfoSpan =
                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 107 9 107 13
                  , srcInfoPoints = []
                  }
                (Ident
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 107 9 107 13
                     , srcInfoPoints = []
                     }
                   "Bool")))
      , PatBind
          SrcSpanInfo
            { srcInfoSpan =
                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 108 1 108 14
            , srcInfoPoints = []
            }
          (PVar
             SrcSpanInfo
               { srcInfoSpan =
                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 108 1 108 5
               , srcInfoPoints = []
               }
             (Ident
                SrcSpanInfo
                  { srcInfoSpan =
                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 108 1 108 5
                  , srcInfoPoints = []
                  }
                "iapp"))
          (UnGuardedRhs
             SrcSpanInfo
               { srcInfoSpan =
                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 108 6 108 14
               , srcInfoPoints =
                   [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 108 6 108 7 ]
               }
             (App
                SrcSpanInfo
                  { srcInfoSpan =
                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 108 8 108 14
                  , srcInfoPoints = []
                  }
                (Var
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 108 8 108 9
                     , srcInfoPoints = []
                     }
                   (UnQual
                      SrcSpanInfo
                        { srcInfoSpan =
                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 108 8 108 9
                        , srcInfoPoints = []
                        }
                      (Ident
                         SrcSpanInfo
                           { srcInfoSpan =
                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 108 8 108 9
                           , srcInfoPoints = []
                           }
                         "i")))
                (Con
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 108 10 108 14
                     , srcInfoPoints = []
                     }
                   (UnQual
                      SrcSpanInfo
                        { srcInfoSpan =
                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 108 10 108 14
                        , srcInfoPoints = []
                        }
                      (Ident
                         SrcSpanInfo
                           { srcInfoSpan =
                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 108 10 108 14
                           , srcInfoPoints = []
                           }
                         "True")))))
          Nothing
      , TypeSig
          SrcSpanInfo
            { srcInfoSpan =
                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 111 1 111 41
            , srcInfoPoints =
                [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 111 4 111 6 ]
            }
          [ Ident
              SrcSpanInfo
                { srcInfoSpan =
                    SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 111 1 111 3
                , srcInfoPoints = []
                }
              "ic"
          ]
          (TyFun
             SrcSpanInfo
               { srcInfoSpan =
                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 111 7 111 41
               , srcInfoPoints =
                   [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 111 23 111 25 ]
               }
             (TyApp
                SrcSpanInfo
                  { srcInfoSpan =
                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 111 7 111 22
                  , srcInfoPoints = []
                  }
                (TyApp
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 111 7 111 18
                     , srcInfoPoints = []
                     }
                   (TyApp
                      SrcSpanInfo
                        { srcInfoSpan =
                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 111 7 111 16
                        , srcInfoPoints = []
                        }
                      (TyCon
                         SrcSpanInfo
                           { srcInfoSpan =
                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 111 7 111 14
                           , srcInfoPoints = []
                           }
                         (UnQual
                            SrcSpanInfo
                              { srcInfoSpan =
                                  SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 111 7 111 14
                              , srcInfoPoints = []
                              }
                            (Ident
                               SrcSpanInfo
                                 { srcInfoSpan =
                                     SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 111 7 111 14
                                 , srcInfoPoints = []
                                 }
                               "IClosed")))
                      (TyVar
                         SrcSpanInfo
                           { srcInfoSpan =
                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 111 15 111 16
                           , srcInfoPoints = []
                           }
                         (Ident
                            SrcSpanInfo
                              { srcInfoSpan =
                                  SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 111 15 111 16
                              , srcInfoPoints = []
                              }
                            "a")))
                   (TyVar
                      SrcSpanInfo
                        { srcInfoSpan =
                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 111 17 111 18
                        , srcInfoPoints = []
                        }
                      (Ident
                         SrcSpanInfo
                           { srcInfoSpan =
                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 111 17 111 18
                           , srcInfoPoints = []
                           }
                         "b")))
                (TyCon
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 111 19 111 22
                     , srcInfoPoints = []
                     }
                   (UnQual
                      SrcSpanInfo
                        { srcInfoSpan =
                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 111 19 111 22
                        , srcInfoPoints = []
                        }
                      (Ident
                         SrcSpanInfo
                           { srcInfoSpan =
                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 111 19 111 22
                           , srcInfoPoints = []
                           }
                         "Int"))))
             (TyApp
                SrcSpanInfo
                  { srcInfoSpan =
                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 111 26 111 41
                  , srcInfoPoints = []
                  }
                (TyApp
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 111 26 111 37
                     , srcInfoPoints = []
                     }
                   (TyApp
                      SrcSpanInfo
                        { srcInfoSpan =
                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 111 26 111 35
                        , srcInfoPoints = []
                        }
                      (TyCon
                         SrcSpanInfo
                           { srcInfoSpan =
                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 111 26 111 33
                           , srcInfoPoints = []
                           }
                         (UnQual
                            SrcSpanInfo
                              { srcInfoSpan =
                                  SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 111 26 111 33
                              , srcInfoPoints = []
                              }
                            (Ident
                               SrcSpanInfo
                                 { srcInfoSpan =
                                     SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 111 26 111 33
                                 , srcInfoPoints = []
                                 }
                               "IClosed")))
                      (TyVar
                         SrcSpanInfo
                           { srcInfoSpan =
                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 111 34 111 35
                           , srcInfoPoints = []
                           }
                         (Ident
                            SrcSpanInfo
                              { srcInfoSpan =
                                  SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 111 34 111 35
                              , srcInfoPoints = []
                              }
                            "a")))
                   (TyVar
                      SrcSpanInfo
                        { srcInfoSpan =
                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 111 36 111 37
                        , srcInfoPoints = []
                        }
                      (Ident
                         SrcSpanInfo
                           { srcInfoSpan =
                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 111 36 111 37
                           , srcInfoPoints = []
                           }
                         "b")))
                (TyCon
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 111 38 111 41
                     , srcInfoPoints = []
                     }
                   (UnQual
                      SrcSpanInfo
                        { srcInfoSpan =
                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 111 38 111 41
                        , srcInfoPoints = []
                        }
                      (Ident
                         SrcSpanInfo
                           { srcInfoSpan =
                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 111 38 111 41
                           , srcInfoPoints = []
                           }
                         "Int")))))
      , FunBind
          SrcSpanInfo
            { srcInfoSpan =
                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 112 1 112 9
            , srcInfoPoints = []
            }
          [ Match
              SrcSpanInfo
                { srcInfoSpan =
                    SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 112 1 112 9
                , srcInfoPoints = []
                }
              (Ident
                 SrcSpanInfo
                   { srcInfoSpan =
                       SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 112 1 112 3
                   , srcInfoPoints = []
                   }
                 "ic")
              [ PVar
                  SrcSpanInfo
                    { srcInfoSpan =
                        SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 112 4 112 5
                    , srcInfoPoints = []
                    }
                  (Ident
                     SrcSpanInfo
                       { srcInfoSpan =
                           SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 112 4 112 5
                       , srcInfoPoints = []
                       }
                     "x")
              ]
              (UnGuardedRhs
                 SrcSpanInfo
                   { srcInfoSpan =
                       SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 112 6 112 9
                   , srcInfoPoints =
                       [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 112 6 112 7 ]
                   }
                 (Var
                    SrcSpanInfo
                      { srcInfoSpan =
                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 112 8 112 9
                      , srcInfoPoints = []
                      }
                    (UnQual
                       SrcSpanInfo
                         { srcInfoSpan =
                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 112 8 112 9
                         , srcInfoPoints = []
                         }
                       (Ident
                          SrcSpanInfo
                            { srcInfoSpan =
                                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 112 8 112 9
                            , srcInfoPoints = []
                            }
                          "x"))))
              Nothing
          ]
      , TypeSig
          SrcSpanInfo
            { srcInfoSpan =
                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 114 1 114 14
            , srcInfoPoints =
                [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 114 7 114 9 ]
            }
          [ Ident
              SrcSpanInfo
                { srcInfoSpan =
                    SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 114 1 114 6
                , srcInfoPoints = []
                }
              "icapp"
          ]
          (TyCon
             SrcSpanInfo
               { srcInfoSpan =
                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 114 10 114 14
               , srcInfoPoints = []
               }
             (UnQual
                SrcSpanInfo
                  { srcInfoSpan =
                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 114 10 114 14
                  , srcInfoPoints = []
                  }
                (Ident
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 114 10 114 14
                     , srcInfoPoints = []
                     }
                   "Bool")))
      , PatBind
          SrcSpanInfo
            { srcInfoSpan =
                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 115 1 115 16
            , srcInfoPoints = []
            }
          (PVar
             SrcSpanInfo
               { srcInfoSpan =
                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 115 1 115 6
               , srcInfoPoints = []
               }
             (Ident
                SrcSpanInfo
                  { srcInfoSpan =
                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 115 1 115 6
                  , srcInfoPoints = []
                  }
                "icapp"))
          (UnGuardedRhs
             SrcSpanInfo
               { srcInfoSpan =
                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 115 7 115 16
               , srcInfoPoints =
                   [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 115 7 115 8 ]
               }
             (App
                SrcSpanInfo
                  { srcInfoSpan =
                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 115 9 115 16
                  , srcInfoPoints = []
                  }
                (Var
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 115 9 115 11
                     , srcInfoPoints = []
                     }
                   (UnQual
                      SrcSpanInfo
                        { srcInfoSpan =
                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 115 9 115 11
                        , srcInfoPoints = []
                        }
                      (Ident
                         SrcSpanInfo
                           { srcInfoSpan =
                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 115 9 115 11
                           , srcInfoPoints = []
                           }
                         "ic")))
                (Con
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 115 12 115 16
                     , srcInfoPoints = []
                     }
                   (UnQual
                      SrcSpanInfo
                        { srcInfoSpan =
                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 115 12 115 16
                        , srcInfoPoints = []
                        }
                      (Ident
                         SrcSpanInfo
                           { srcInfoSpan =
                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 115 12 115 16
                           , srcInfoPoints = []
                           }
                         "True")))))
          Nothing
      , TypeSig
          SrcSpanInfo
            { srcInfoSpan =
                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 118 1 118 22
            , srcInfoPoints =
                [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 118 5 118 7 ]
            }
          [ Ident
              SrcSpanInfo
                { srcInfoSpan =
                    SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 118 1 118 4
                , srcInfoPoints = []
                }
              "bak"
          ]
          (TyFun
             SrcSpanInfo
               { srcInfoSpan =
                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 118 8 118 22
               , srcInfoPoints =
                   [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 118 14 118 16 ]
               }
             (TyApp
                SrcSpanInfo
                  { srcInfoSpan =
                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 118 8 118 13
                  , srcInfoPoints = []
                  }
                (TyCon
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 118 8 118 11
                     , srcInfoPoints = []
                     }
                   (UnQual
                      SrcSpanInfo
                        { srcInfoSpan =
                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 118 8 118 11
                        , srcInfoPoints = []
                        }
                      (Ident
                         SrcSpanInfo
                           { srcInfoSpan =
                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 118 8 118 11
                           , srcInfoPoints = []
                           }
                         "Bak")))
                (TyVar
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 118 12 118 13
                     , srcInfoPoints = []
                     }
                   (Ident
                      SrcSpanInfo
                        { srcInfoSpan =
                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 118 12 118 13
                        , srcInfoPoints = []
                        }
                      "a")))
             (TyApp
                SrcSpanInfo
                  { srcInfoSpan =
                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 118 17 118 22
                  , srcInfoPoints = []
                  }
                (TyCon
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 118 17 118 20
                     , srcInfoPoints = []
                     }
                   (UnQual
                      SrcSpanInfo
                        { srcInfoSpan =
                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 118 17 118 20
                        , srcInfoPoints = []
                        }
                      (Ident
                         SrcSpanInfo
                           { srcInfoSpan =
                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 118 17 118 20
                           , srcInfoPoints = []
                           }
                         "Bak")))
                (TyVar
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 118 21 118 22
                     , srcInfoPoints = []
                     }
                   (Ident
                      SrcSpanInfo
                        { srcInfoSpan =
                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 118 21 118 22
                        , srcInfoPoints = []
                        }
                      "a"))))
      , FunBind
          SrcSpanInfo
            { srcInfoSpan =
                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 119 1 119 10
            , srcInfoPoints = []
            }
          [ Match
              SrcSpanInfo
                { srcInfoSpan =
                    SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 119 1 119 10
                , srcInfoPoints = []
                }
              (Ident
                 SrcSpanInfo
                   { srcInfoSpan =
                       SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 119 1 119 4
                   , srcInfoPoints = []
                   }
                 "bak")
              [ PVar
                  SrcSpanInfo
                    { srcInfoSpan =
                        SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 119 5 119 6
                    , srcInfoPoints = []
                    }
                  (Ident
                     SrcSpanInfo
                       { srcInfoSpan =
                           SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 119 5 119 6
                       , srcInfoPoints = []
                       }
                     "x")
              ]
              (UnGuardedRhs
                 SrcSpanInfo
                   { srcInfoSpan =
                       SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 119 7 119 10
                   , srcInfoPoints =
                       [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 119 7 119 8 ]
                   }
                 (Var
                    SrcSpanInfo
                      { srcInfoSpan =
                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 119 9 119 10
                      , srcInfoPoints = []
                      }
                    (UnQual
                       SrcSpanInfo
                         { srcInfoSpan =
                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 119 9 119 10
                         , srcInfoPoints = []
                         }
                       (Ident
                          SrcSpanInfo
                            { srcInfoSpan =
                                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 119 9 119 10
                            , srcInfoPoints = []
                            }
                          "x"))))
              Nothing
          ]
      , TypeSig
          SrcSpanInfo
            { srcInfoSpan =
                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 121 1 121 16
            , srcInfoPoints =
                [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 121 9 121 11 ]
            }
          [ Ident
              SrcSpanInfo
                { srcInfoSpan =
                    SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 121 1 121 8
                , srcInfoPoints = []
                }
              "bakapp1"
          ]
          (TyCon
             SrcSpanInfo
               { srcInfoSpan =
                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 121 12 121 16
               , srcInfoPoints = []
               }
             (UnQual
                SrcSpanInfo
                  { srcInfoSpan =
                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 121 12 121 16
                  , srcInfoPoints = []
                  }
                (Ident
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 121 12 121 16
                     , srcInfoPoints = []
                     }
                   "Char")))
      , PatBind
          SrcSpanInfo
            { srcInfoSpan =
                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 122 1 122 18
            , srcInfoPoints = []
            }
          (PVar
             SrcSpanInfo
               { srcInfoSpan =
                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 122 1 122 8
               , srcInfoPoints = []
               }
             (Ident
                SrcSpanInfo
                  { srcInfoSpan =
                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 122 1 122 8
                  , srcInfoPoints = []
                  }
                "bakapp1"))
          (UnGuardedRhs
             SrcSpanInfo
               { srcInfoSpan =
                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 122 9 122 18
               , srcInfoPoints =
                   [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 122 9 122 10 ]
               }
             (App
                SrcSpanInfo
                  { srcInfoSpan =
                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 122 11 122 18
                  , srcInfoPoints = []
                  }
                (Var
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 122 11 122 14
                     , srcInfoPoints = []
                     }
                   (UnQual
                      SrcSpanInfo
                        { srcInfoSpan =
                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 122 11 122 14
                        , srcInfoPoints = []
                        }
                      (Ident
                         SrcSpanInfo
                           { srcInfoSpan =
                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 122 11 122 14
                           , srcInfoPoints = []
                           }
                         "bak")))
                (Lit
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 122 15 122 18
                     , srcInfoPoints = []
                     }
                   (Char
                      SrcSpanInfo
                        { srcInfoSpan =
                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 122 15 122 18
                        , srcInfoPoints = []
                        }
                      'c'
                      "c"))))
          Nothing
      , TypeSig
          SrcSpanInfo
            { srcInfoSpan =
                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 124 1 124 18
            , srcInfoPoints =
                [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 124 9 124 11 ]
            }
          [ Ident
              SrcSpanInfo
                { srcInfoSpan =
                    SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 124 1 124 8
                , srcInfoPoints = []
                }
              "bakapp2"
          ]
          (TyCon
             SrcSpanInfo
               { srcInfoSpan =
                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 124 12 124 18
               , srcInfoPoints = []
               }
             (UnQual
                SrcSpanInfo
                  { srcInfoSpan =
                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 124 12 124 18
                  , srcInfoPoints = []
                  }
                (Ident
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 124 12 124 18
                     , srcInfoPoints = []
                     }
                   "Double")))
      , PatBind
          SrcSpanInfo
            { srcInfoSpan =
                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 125 1 125 18
            , srcInfoPoints = []
            }
          (PVar
             SrcSpanInfo
               { srcInfoSpan =
                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 125 1 125 8
               , srcInfoPoints = []
               }
             (Ident
                SrcSpanInfo
                  { srcInfoSpan =
                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 125 1 125 8
                  , srcInfoPoints = []
                  }
                "bakapp2"))
          (UnGuardedRhs
             SrcSpanInfo
               { srcInfoSpan =
                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 125 9 125 18
               , srcInfoPoints =
                   [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 125 9 125 10 ]
               }
             (App
                SrcSpanInfo
                  { srcInfoSpan =
                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 125 11 125 18
                  , srcInfoPoints = []
                  }
                (Var
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 125 11 125 14
                     , srcInfoPoints = []
                     }
                   (UnQual
                      SrcSpanInfo
                        { srcInfoSpan =
                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 125 11 125 14
                        , srcInfoPoints = []
                        }
                      (Ident
                         SrcSpanInfo
                           { srcInfoSpan =
                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 125 11 125 14
                           , srcInfoPoints = []
                           }
                         "bak")))
                (Lit
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 125 15 125 18
                     , srcInfoPoints = []
                     }
                   (Frac
                      SrcSpanInfo
                        { srcInfoSpan =
                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 125 15 125 18
                        , srcInfoPoints = []
                        }
                      (1 % 1)
                      "1.0"))))
          Nothing
      , TypeSig
          SrcSpanInfo
            { srcInfoSpan =
                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 127 1 127 14
            , srcInfoPoints =
                [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 127 9 127 11 ]
            }
          [ Ident
              SrcSpanInfo
                { srcInfoSpan =
                    SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 127 1 127 8
                , srcInfoPoints = []
                }
              "bakapp3"
          ]
          (TyCon
             SrcSpanInfo
               { srcInfoSpan =
                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 127 12 127 14
               , srcInfoPoints =
                   [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 127 12 127 13
                   , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 127 13 127 14
                   ]
               }
             (Special
                SrcSpanInfo
                  { srcInfoSpan =
                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 127 12 127 14
                  , srcInfoPoints =
                      [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 127 12 127 13
                      , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 127 13 127 14
                      ]
                  }
                (UnitCon
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 127 12 127 14
                     , srcInfoPoints =
                         [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 127 12 127 13
                         , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 127 13 127 14
                         ]
                     })))
      , PatBind
          SrcSpanInfo
            { srcInfoSpan =
                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 128 1 128 17
            , srcInfoPoints = []
            }
          (PVar
             SrcSpanInfo
               { srcInfoSpan =
                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 128 1 128 8
               , srcInfoPoints = []
               }
             (Ident
                SrcSpanInfo
                  { srcInfoSpan =
                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 128 1 128 8
                  , srcInfoPoints = []
                  }
                "bakapp3"))
          (UnGuardedRhs
             SrcSpanInfo
               { srcInfoSpan =
                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 128 9 128 17
               , srcInfoPoints =
                   [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 128 9 128 10 ]
               }
             (App
                SrcSpanInfo
                  { srcInfoSpan =
                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 128 11 128 17
                  , srcInfoPoints = []
                  }
                (Var
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 128 11 128 14
                     , srcInfoPoints = []
                     }
                   (UnQual
                      SrcSpanInfo
                        { srcInfoSpan =
                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 128 11 128 14
                        , srcInfoPoints = []
                        }
                      (Ident
                         SrcSpanInfo
                           { srcInfoSpan =
                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 128 11 128 14
                           , srcInfoPoints = []
                           }
                         "bak")))
                (Con
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 128 15 128 17
                     , srcInfoPoints =
                         [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 128 15 128 16
                         , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 128 16 128 17
                         ]
                     }
                   (Special
                      SrcSpanInfo
                        { srcInfoSpan =
                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 128 15 128 17
                        , srcInfoPoints =
                            [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 128 15 128 16
                            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 128 16 128 17
                            ]
                        }
                      (UnitCon
                         SrcSpanInfo
                           { srcInfoSpan =
                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 128 15 128 17
                           , srcInfoPoints =
                               [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 128 15 128 16
                               , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 128 16 128 17
                               ]
                           })))))
          Nothing
      , TypeSig
          SrcSpanInfo
            { srcInfoSpan =
                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 130 1 130 22
            , srcInfoPoints =
                [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 130 5 130 7 ]
            }
          [ Ident
              SrcSpanInfo
                { srcInfoSpan =
                    SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 130 1 130 4
                , srcInfoPoints = []
                }
              "foo"
          ]
          (TyFun
             SrcSpanInfo
               { srcInfoSpan =
                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 130 8 130 22
               , srcInfoPoints =
                   [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 130 14 130 16 ]
               }
             (TyApp
                SrcSpanInfo
                  { srcInfoSpan =
                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 130 8 130 13
                  , srcInfoPoints = []
                  }
                (TyCon
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 130 8 130 11
                     , srcInfoPoints = []
                     }
                   (UnQual
                      SrcSpanInfo
                        { srcInfoSpan =
                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 130 8 130 11
                        , srcInfoPoints = []
                        }
                      (Ident
                         SrcSpanInfo
                           { srcInfoSpan =
                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 130 8 130 11
                           , srcInfoPoints = []
                           }
                         "Foo")))
                (TyVar
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 130 12 130 13
                     , srcInfoPoints = []
                     }
                   (Ident
                      SrcSpanInfo
                        { srcInfoSpan =
                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 130 12 130 13
                        , srcInfoPoints = []
                        }
                      "a")))
             (TyApp
                SrcSpanInfo
                  { srcInfoSpan =
                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 130 17 130 22
                  , srcInfoPoints = []
                  }
                (TyCon
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 130 17 130 20
                     , srcInfoPoints = []
                     }
                   (UnQual
                      SrcSpanInfo
                        { srcInfoSpan =
                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 130 17 130 20
                        , srcInfoPoints = []
                        }
                      (Ident
                         SrcSpanInfo
                           { srcInfoSpan =
                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 130 17 130 20
                           , srcInfoPoints = []
                           }
                         "Foo")))
                (TyVar
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 130 21 130 22
                     , srcInfoPoints = []
                     }
                   (Ident
                      SrcSpanInfo
                        { srcInfoSpan =
                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 130 21 130 22
                        , srcInfoPoints = []
                        }
                      "a"))))
      , FunBind
          SrcSpanInfo
            { srcInfoSpan =
                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 131 1 131 10
            , srcInfoPoints = []
            }
          [ Match
              SrcSpanInfo
                { srcInfoSpan =
                    SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 131 1 131 10
                , srcInfoPoints = []
                }
              (Ident
                 SrcSpanInfo
                   { srcInfoSpan =
                       SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 131 1 131 4
                   , srcInfoPoints = []
                   }
                 "foo")
              [ PVar
                  SrcSpanInfo
                    { srcInfoSpan =
                        SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 131 5 131 6
                    , srcInfoPoints = []
                    }
                  (Ident
                     SrcSpanInfo
                       { srcInfoSpan =
                           SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 131 5 131 6
                       , srcInfoPoints = []
                       }
                     "x")
              ]
              (UnGuardedRhs
                 SrcSpanInfo
                   { srcInfoSpan =
                       SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 131 7 131 10
                   , srcInfoPoints =
                       [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 131 7 131 8 ]
                   }
                 (Var
                    SrcSpanInfo
                      { srcInfoSpan =
                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 131 9 131 10
                      , srcInfoPoints = []
                      }
                    (UnQual
                       SrcSpanInfo
                         { srcInfoSpan =
                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 131 9 131 10
                         , srcInfoPoints = []
                         }
                       (Ident
                          SrcSpanInfo
                            { srcInfoSpan =
                                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 131 9 131 10
                            , srcInfoPoints = []
                            }
                          "x"))))
              Nothing
          ]
      , TypeSig
          SrcSpanInfo
            { srcInfoSpan =
                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 133 1 133 16
            , srcInfoPoints =
                [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 133 9 133 11 ]
            }
          [ Ident
              SrcSpanInfo
                { srcInfoSpan =
                    SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 133 1 133 8
                , srcInfoPoints = []
                }
              "fooapp1"
          ]
          (TyCon
             SrcSpanInfo
               { srcInfoSpan =
                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 133 12 133 16
               , srcInfoPoints = []
               }
             (UnQual
                SrcSpanInfo
                  { srcInfoSpan =
                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 133 12 133 16
                  , srcInfoPoints = []
                  }
                (Ident
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 133 12 133 16
                     , srcInfoPoints = []
                     }
                   "Bool")))
      , PatBind
          SrcSpanInfo
            { srcInfoSpan =
                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 134 1 134 19
            , srcInfoPoints = []
            }
          (PVar
             SrcSpanInfo
               { srcInfoSpan =
                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 134 1 134 8
               , srcInfoPoints = []
               }
             (Ident
                SrcSpanInfo
                  { srcInfoSpan =
                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 134 1 134 8
                  , srcInfoPoints = []
                  }
                "fooapp1"))
          (UnGuardedRhs
             SrcSpanInfo
               { srcInfoSpan =
                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 134 9 134 19
               , srcInfoPoints =
                   [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 134 9 134 10 ]
               }
             (App
                SrcSpanInfo
                  { srcInfoSpan =
                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 134 11 134 19
                  , srcInfoPoints = []
                  }
                (Var
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 134 11 134 14
                     , srcInfoPoints = []
                     }
                   (UnQual
                      SrcSpanInfo
                        { srcInfoSpan =
                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 134 11 134 14
                        , srcInfoPoints = []
                        }
                      (Ident
                         SrcSpanInfo
                           { srcInfoSpan =
                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 134 11 134 14
                           , srcInfoPoints = []
                           }
                         "foo")))
                (Con
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 134 15 134 19
                     , srcInfoPoints = []
                     }
                   (UnQual
                      SrcSpanInfo
                        { srcInfoSpan =
                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 134 15 134 19
                        , srcInfoPoints = []
                        }
                      (Ident
                         SrcSpanInfo
                           { srcInfoSpan =
                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 134 15 134 19
                           , srcInfoPoints = []
                           }
                         "True")))))
          Nothing
      , TypeSig
          SrcSpanInfo
            { srcInfoSpan =
                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 136 1 136 22
            , srcInfoPoints =
                [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 136 5 136 7 ]
            }
          [ Ident
              SrcSpanInfo
                { srcInfoSpan =
                    SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 136 1 136 4
                , srcInfoPoints = []
                }
              "bar"
          ]
          (TyFun
             SrcSpanInfo
               { srcInfoSpan =
                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 136 8 136 22
               , srcInfoPoints =
                   [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 136 14 136 16 ]
               }
             (TyApp
                SrcSpanInfo
                  { srcInfoSpan =
                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 136 8 136 13
                  , srcInfoPoints = []
                  }
                (TyCon
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 136 8 136 11
                     , srcInfoPoints = []
                     }
                   (UnQual
                      SrcSpanInfo
                        { srcInfoSpan =
                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 136 8 136 11
                        , srcInfoPoints = []
                        }
                      (Ident
                         SrcSpanInfo
                           { srcInfoSpan =
                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 136 8 136 11
                           , srcInfoPoints = []
                           }
                         "Bar")))
                (TyVar
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 136 12 136 13
                     , srcInfoPoints = []
                     }
                   (Ident
                      SrcSpanInfo
                        { srcInfoSpan =
                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 136 12 136 13
                        , srcInfoPoints = []
                        }
                      "a")))
             (TyApp
                SrcSpanInfo
                  { srcInfoSpan =
                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 136 17 136 22
                  , srcInfoPoints = []
                  }
                (TyCon
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 136 17 136 20
                     , srcInfoPoints = []
                     }
                   (UnQual
                      SrcSpanInfo
                        { srcInfoSpan =
                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 136 17 136 20
                        , srcInfoPoints = []
                        }
                      (Ident
                         SrcSpanInfo
                           { srcInfoSpan =
                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 136 17 136 20
                           , srcInfoPoints = []
                           }
                         "Bar")))
                (TyVar
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 136 21 136 22
                     , srcInfoPoints = []
                     }
                   (Ident
                      SrcSpanInfo
                        { srcInfoSpan =
                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 136 21 136 22
                        , srcInfoPoints = []
                        }
                      "a"))))
      , FunBind
          SrcSpanInfo
            { srcInfoSpan =
                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 137 1 137 10
            , srcInfoPoints = []
            }
          [ Match
              SrcSpanInfo
                { srcInfoSpan =
                    SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 137 1 137 10
                , srcInfoPoints = []
                }
              (Ident
                 SrcSpanInfo
                   { srcInfoSpan =
                       SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 137 1 137 4
                   , srcInfoPoints = []
                   }
                 "bar")
              [ PVar
                  SrcSpanInfo
                    { srcInfoSpan =
                        SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 137 5 137 6
                    , srcInfoPoints = []
                    }
                  (Ident
                     SrcSpanInfo
                       { srcInfoSpan =
                           SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 137 5 137 6
                       , srcInfoPoints = []
                       }
                     "x")
              ]
              (UnGuardedRhs
                 SrcSpanInfo
                   { srcInfoSpan =
                       SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 137 7 137 10
                   , srcInfoPoints =
                       [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 137 7 137 8 ]
                   }
                 (Var
                    SrcSpanInfo
                      { srcInfoSpan =
                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 137 9 137 10
                      , srcInfoPoints = []
                      }
                    (UnQual
                       SrcSpanInfo
                         { srcInfoSpan =
                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 137 9 137 10
                         , srcInfoPoints = []
                         }
                       (Ident
                          SrcSpanInfo
                            { srcInfoSpan =
                                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 137 9 137 10
                            , srcInfoPoints = []
                            }
                          "x"))))
              Nothing
          ]
      , TypeSig
          SrcSpanInfo
            { srcInfoSpan =
                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 139 1 139 16
            , srcInfoPoints =
                [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 139 9 139 11 ]
            }
          [ Ident
              SrcSpanInfo
                { srcInfoSpan =
                    SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 139 1 139 8
                , srcInfoPoints = []
                }
              "barapp1"
          ]
          (TyCon
             SrcSpanInfo
               { srcInfoSpan =
                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 139 12 139 16
               , srcInfoPoints = []
               }
             (UnQual
                SrcSpanInfo
                  { srcInfoSpan =
                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 139 12 139 16
                  , srcInfoPoints = []
                  }
                (Ident
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 139 12 139 16
                     , srcInfoPoints = []
                     }
                   "Bool")))
      , PatBind
          SrcSpanInfo
            { srcInfoSpan =
                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 140 1 140 19
            , srcInfoPoints = []
            }
          (PVar
             SrcSpanInfo
               { srcInfoSpan =
                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 140 1 140 8
               , srcInfoPoints = []
               }
             (Ident
                SrcSpanInfo
                  { srcInfoSpan =
                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 140 1 140 8
                  , srcInfoPoints = []
                  }
                "barapp1"))
          (UnGuardedRhs
             SrcSpanInfo
               { srcInfoSpan =
                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 140 9 140 19
               , srcInfoPoints =
                   [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 140 9 140 10 ]
               }
             (App
                SrcSpanInfo
                  { srcInfoSpan =
                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 140 11 140 19
                  , srcInfoPoints = []
                  }
                (Var
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 140 11 140 14
                     , srcInfoPoints = []
                     }
                   (UnQual
                      SrcSpanInfo
                        { srcInfoSpan =
                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 140 11 140 14
                        , srcInfoPoints = []
                        }
                      (Ident
                         SrcSpanInfo
                           { srcInfoSpan =
                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 140 11 140 14
                           , srcInfoPoints = []
                           }
                         "bar")))
                (Con
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 140 15 140 19
                     , srcInfoPoints = []
                     }
                   (UnQual
                      SrcSpanInfo
                        { srcInfoSpan =
                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 140 15 140 19
                        , srcInfoPoints = []
                        }
                      (Ident
                         SrcSpanInfo
                           { srcInfoSpan =
                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 140 15 140 19
                           , srcInfoPoints = []
                           }
                         "True")))))
          Nothing
      , TypeSig
          SrcSpanInfo
            { srcInfoSpan =
                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 142 1 142 15
            , srcInfoPoints =
                [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 142 9 142 11 ]
            }
          [ Ident
              SrcSpanInfo
                { srcInfoSpan =
                    SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 142 1 142 8
                , srcInfoPoints = []
                }
              "barapp2"
          ]
          (TyCon
             SrcSpanInfo
               { srcInfoSpan =
                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 142 12 142 15
               , srcInfoPoints = []
               }
             (UnQual
                SrcSpanInfo
                  { srcInfoSpan =
                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 142 12 142 15
                  , srcInfoPoints = []
                  }
                (Ident
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 142 12 142 15
                     , srcInfoPoints = []
                     }
                   "Int")))
      , PatBind
          SrcSpanInfo
            { srcInfoSpan =
                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 143 1 143 16
            , srcInfoPoints = []
            }
          (PVar
             SrcSpanInfo
               { srcInfoSpan =
                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 143 1 143 8
               , srcInfoPoints = []
               }
             (Ident
                SrcSpanInfo
                  { srcInfoSpan =
                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 143 1 143 8
                  , srcInfoPoints = []
                  }
                "barapp2"))
          (UnGuardedRhs
             SrcSpanInfo
               { srcInfoSpan =
                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 143 9 143 16
               , srcInfoPoints =
                   [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 143 9 143 10 ]
               }
             (App
                SrcSpanInfo
                  { srcInfoSpan =
                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 143 11 143 16
                  , srcInfoPoints = []
                  }
                (Var
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 143 11 143 14
                     , srcInfoPoints = []
                     }
                   (UnQual
                      SrcSpanInfo
                        { srcInfoSpan =
                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 143 11 143 14
                        , srcInfoPoints = []
                        }
                      (Ident
                         SrcSpanInfo
                           { srcInfoSpan =
                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 143 11 143 14
                           , srcInfoPoints = []
                           }
                         "bar")))
                (Lit
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 143 15 143 16
                     , srcInfoPoints = []
                     }
                   (Int
                      SrcSpanInfo
                        { srcInfoSpan =
                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 143 15 143 16
                        , srcInfoPoints = []
                        }
                      1
                      "1"))))
          Nothing
      , TypeFamDecl
          SrcSpanInfo
            { srcInfoSpan =
                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 148 1 148 18
            , srcInfoPoints =
                [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 148 1 148 5
                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 148 6 148 12
                ]
            }
          (DHApp
             SrcSpanInfo
               { srcInfoSpan =
                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 148 13 148 18
               , srcInfoPoints = []
               }
             (DHApp
                SrcSpanInfo
                  { srcInfoSpan =
                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 148 13 148 16
                  , srcInfoPoints = []
                  }
                (DHead
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 148 13 148 14
                     , srcInfoPoints = []
                     }
                   (Ident
                      SrcSpanInfo
                        { srcInfoSpan =
                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 148 13 148 14
                        , srcInfoPoints = []
                        }
                      "H"))
                (UnkindedVar
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 148 15 148 16
                     , srcInfoPoints = []
                     }
                   (Ident
                      SrcSpanInfo
                        { srcInfoSpan =
                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 148 15 148 16
                        , srcInfoPoints = []
                        }
                      "a")))
             (UnkindedVar
                SrcSpanInfo
                  { srcInfoSpan =
                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 148 17 148 18
                  , srcInfoPoints = []
                  }
                (Ident
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 148 17 148 18
                     , srcInfoPoints = []
                     }
                   "b")))
          (Just
             (TyVarSig
                SrcSpanInfo
                  { srcInfoSpan =
                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 148 19 148 22
                  , srcInfoPoints =
                      [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 148 19 148 20 ]
                  }
                (UnkindedVar
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 148 21 148 22
                     , srcInfoPoints = []
                     }
                   (Ident
                      SrcSpanInfo
                        { srcInfoSpan =
                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 148 21 148 22
                        , srcInfoPoints = []
                        }
                      "r"))))
          (Just
             (InjectivityInfo
                SrcSpanInfo
                  { srcInfoSpan =
                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 148 23 148 31
                  , srcInfoPoints =
                      [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 148 23 148 24
                      , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 148 27 148 29
                      ]
                  }
                (Ident
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 148 25 148 26
                     , srcInfoPoints = []
                     }
                   "r")
                [ Ident
                    SrcSpanInfo
                      { srcInfoSpan =
                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 148 30 148 31
                      , srcInfoPoints = []
                      }
                    "b"
                , Ident
                    SrcSpanInfo
                      { srcInfoSpan =
                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 148 32 148 33
                      , srcInfoPoints = []
                      }
                    "a"
                ]))
      , ClosedTypeFamDecl
          SrcSpanInfo
            { srcInfoSpan =
                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 149 1 149 19
            , srcInfoPoints =
                [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 149 1 149 5
                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 149 6 149 12
                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 149 35 149 40
                ]
            }
          (DHApp
             SrcSpanInfo
               { srcInfoSpan =
                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 149 13 149 19
               , srcInfoPoints = []
               }
             (DHApp
                SrcSpanInfo
                  { srcInfoSpan =
                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 149 13 149 17
                  , srcInfoPoints = []
                  }
                (DHead
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 149 13 149 15
                     , srcInfoPoints = []
                     }
                   (Ident
                      SrcSpanInfo
                        { srcInfoSpan =
                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 149 13 149 15
                        , srcInfoPoints = []
                        }
                      "Hc"))
                (UnkindedVar
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 149 16 149 17
                     , srcInfoPoints = []
                     }
                   (Ident
                      SrcSpanInfo
                        { srcInfoSpan =
                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 149 16 149 17
                        , srcInfoPoints = []
                        }
                      "a")))
             (UnkindedVar
                SrcSpanInfo
                  { srcInfoSpan =
                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 149 18 149 19
                  , srcInfoPoints = []
                  }
                (Ident
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 149 18 149 19
                     , srcInfoPoints = []
                     }
                   "b")))
          (Just
             (TyVarSig
                SrcSpanInfo
                  { srcInfoSpan =
                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 149 20 149 23
                  , srcInfoPoints =
                      [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 149 20 149 21 ]
                  }
                (UnkindedVar
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 149 22 149 23
                     , srcInfoPoints = []
                     }
                   (Ident
                      SrcSpanInfo
                        { srcInfoSpan =
                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 149 22 149 23
                        , srcInfoPoints = []
                        }
                      "r"))))
          (Just
             (InjectivityInfo
                SrcSpanInfo
                  { srcInfoSpan =
                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 149 24 149 32
                  , srcInfoPoints =
                      [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 149 24 149 25
                      , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 149 28 149 30
                      ]
                  }
                (Ident
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 149 26 149 27
                     , srcInfoPoints = []
                     }
                   "r")
                [ Ident
                    SrcSpanInfo
                      { srcInfoSpan =
                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 149 31 149 32
                      , srcInfoPoints = []
                      }
                    "b"
                , Ident
                    SrcSpanInfo
                      { srcInfoSpan =
                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 149 33 149 34
                      , srcInfoPoints = []
                      }
                    "a"
                ]))
          [ TypeEqn
              SrcSpanInfo
                { srcInfoSpan =
                    SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 150 3 150 15
                , srcInfoPoints =
                    [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 150 10 150 11 ]
                }
              (TyApp
                 SrcSpanInfo
                   { srcInfoSpan =
                       SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 150 3 150 9
                   , srcInfoPoints = []
                   }
                 (TyApp
                    SrcSpanInfo
                      { srcInfoSpan =
                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 150 3 150 7
                      , srcInfoPoints = []
                      }
                    (TyCon
                       SrcSpanInfo
                         { srcInfoSpan =
                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 150 3 150 5
                         , srcInfoPoints = []
                         }
                       (UnQual
                          SrcSpanInfo
                            { srcInfoSpan =
                                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 150 3 150 5
                            , srcInfoPoints = []
                            }
                          (Ident
                             SrcSpanInfo
                               { srcInfoSpan =
                                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 150 3 150 5
                               , srcInfoPoints = []
                               }
                             "Hc")))
                    (TyVar
                       SrcSpanInfo
                         { srcInfoSpan =
                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 150 6 150 7
                         , srcInfoPoints = []
                         }
                       (Ident
                          SrcSpanInfo
                            { srcInfoSpan =
                                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 150 6 150 7
                            , srcInfoPoints = []
                            }
                          "a")))
                 (TyVar
                    SrcSpanInfo
                      { srcInfoSpan =
                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 150 8 150 9
                      , srcInfoPoints = []
                      }
                    (Ident
                       SrcSpanInfo
                         { srcInfoSpan =
                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 150 8 150 9
                         , srcInfoPoints = []
                         }
                       "b")))
              (TyApp
                 SrcSpanInfo
                   { srcInfoSpan =
                       SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 150 12 150 15
                   , srcInfoPoints = []
                   }
                 (TyVar
                    SrcSpanInfo
                      { srcInfoSpan =
                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 150 12 150 13
                      , srcInfoPoints = []
                      }
                    (Ident
                       SrcSpanInfo
                         { srcInfoSpan =
                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 150 12 150 13
                         , srcInfoPoints = []
                         }
                       "a"))
                 (TyVar
                    SrcSpanInfo
                      { srcInfoSpan =
                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 150 14 150 15
                      , srcInfoPoints = []
                      }
                    (Ident
                       SrcSpanInfo
                         { srcInfoSpan =
                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 150 14 150 15
                         , srcInfoPoints = []
                         }
                       "b")))
          ]
      , ClassDecl
          SrcSpanInfo
            { srcInfoSpan =
                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 151 1 152 27
            , srcInfoPoints =
                [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 151 1 151 6
                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 151 15 151 20
                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 152 3 152 3
                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 156 1 156 0
                ]
            }
          Nothing
          (DHApp
             SrcSpanInfo
               { srcInfoSpan =
                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 151 7 151 14
               , srcInfoPoints = []
               }
             (DHApp
                SrcSpanInfo
                  { srcInfoSpan =
                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 151 7 151 12
                  , srcInfoPoints = []
                  }
                (DHead
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 151 7 151 10
                     , srcInfoPoints = []
                     }
                   (Ident
                      SrcSpanInfo
                        { srcInfoSpan =
                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 151 7 151 10
                        , srcInfoPoints = []
                        }
                      "Hcl"))
                (UnkindedVar
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 151 11 151 12
                     , srcInfoPoints = []
                     }
                   (Ident
                      SrcSpanInfo
                        { srcInfoSpan =
                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 151 11 151 12
                        , srcInfoPoints = []
                        }
                      "a")))
             (UnkindedVar
                SrcSpanInfo
                  { srcInfoSpan =
                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 151 13 151 14
                  , srcInfoPoints = []
                  }
                (Ident
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 151 13 151 14
                     , srcInfoPoints = []
                     }
                   "b")))
          []
          (Just
             [ ClsTyFam
                 SrcSpanInfo
                   { srcInfoSpan =
                       SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 152 3 152 27
                   , srcInfoPoints =
                       [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 152 3 152 7 ]
                   }
                 (DHApp
                    SrcSpanInfo
                      { srcInfoSpan =
                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 152 8 152 14
                      , srcInfoPoints = []
                      }
                    (DHApp
                       SrcSpanInfo
                         { srcInfoSpan =
                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 152 8 152 12
                         , srcInfoPoints = []
                         }
                       (DHead
                          SrcSpanInfo
                            { srcInfoSpan =
                                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 152 8 152 10
                            , srcInfoPoints = []
                            }
                          (Ident
                             SrcSpanInfo
                               { srcInfoSpan =
                                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 152 8 152 10
                               , srcInfoPoints = []
                               }
                             "Ht"))
                       (UnkindedVar
                          SrcSpanInfo
                            { srcInfoSpan =
                                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 152 11 152 12
                            , srcInfoPoints = []
                            }
                          (Ident
                             SrcSpanInfo
                               { srcInfoSpan =
                                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 152 11 152 12
                               , srcInfoPoints = []
                               }
                             "a")))
                    (UnkindedVar
                       SrcSpanInfo
                         { srcInfoSpan =
                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 152 13 152 14
                         , srcInfoPoints = []
                         }
                       (Ident
                          SrcSpanInfo
                            { srcInfoSpan =
                                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 152 13 152 14
                            , srcInfoPoints = []
                            }
                          "b")))
                 (Just
                    (TyVarSig
                       SrcSpanInfo
                         { srcInfoSpan =
                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 152 15 152 18
                         , srcInfoPoints =
                             [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 152 15 152 16 ]
                         }
                       (UnkindedVar
                          SrcSpanInfo
                            { srcInfoSpan =
                                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 152 17 152 18
                            , srcInfoPoints = []
                            }
                          (Ident
                             SrcSpanInfo
                               { srcInfoSpan =
                                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 152 17 152 18
                               , srcInfoPoints = []
                               }
                             "r"))))
                 (Just
                    (InjectivityInfo
                       SrcSpanInfo
                         { srcInfoSpan =
                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 152 19 152 27
                         , srcInfoPoints =
                             [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 152 19 152 20
                             , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 152 23 152 25
                             ]
                         }
                       (Ident
                          SrcSpanInfo
                            { srcInfoSpan =
                                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 152 21 152 22
                            , srcInfoPoints = []
                            }
                          "r")
                       [ Ident
                           SrcSpanInfo
                             { srcInfoSpan =
                                 SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 152 26 152 27
                             , srcInfoPoints = []
                             }
                           "b"
                       , Ident
                           SrcSpanInfo
                             { srcInfoSpan =
                                 SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 152 28 152 29
                             , srcInfoPoints = []
                             }
                           "a"
                       ]))
             ])
      , TypeFamDecl
          SrcSpanInfo
            { srcInfoSpan =
                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 156 1 156 19
            , srcInfoPoints =
                [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 156 1 156 5
                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 156 6 156 12
                ]
            }
          (DHApp
             SrcSpanInfo
               { srcInfoSpan =
                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 156 13 156 19
               , srcInfoPoints = []
               }
             (DHApp
                SrcSpanInfo
                  { srcInfoSpan =
                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 156 13 156 17
                  , srcInfoPoints = []
                  }
                (DHead
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 156 13 156 15
                     , srcInfoPoints = []
                     }
                   (Ident
                      SrcSpanInfo
                        { srcInfoSpan =
                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 156 13 156 15
                        , srcInfoPoints = []
                        }
                      "Jx"))
                (UnkindedVar
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 156 16 156 17
                     , srcInfoPoints = []
                     }
                   (Ident
                      SrcSpanInfo
                        { srcInfoSpan =
                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 156 16 156 17
                        , srcInfoPoints = []
                        }
                      "a")))
             (UnkindedVar
                SrcSpanInfo
                  { srcInfoSpan =
                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 156 18 156 19
                  , srcInfoPoints = []
                  }
                (Ident
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 156 18 156 19
                     , srcInfoPoints = []
                     }
                   "b")))
          (Just
             (TyVarSig
                SrcSpanInfo
                  { srcInfoSpan =
                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 156 20 156 23
                  , srcInfoPoints =
                      [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 156 20 156 21 ]
                  }
                (UnkindedVar
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 156 22 156 23
                     , srcInfoPoints = []
                     }
                   (Ident
                      SrcSpanInfo
                        { srcInfoSpan =
                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 156 22 156 23
                        , srcInfoPoints = []
                        }
                      "r"))))
          (Just
             (InjectivityInfo
                SrcSpanInfo
                  { srcInfoSpan =
                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 156 24 156 32
                  , srcInfoPoints =
                      [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 156 24 156 25
                      , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 156 28 156 30
                      ]
                  }
                (Ident
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 156 26 156 27
                     , srcInfoPoints = []
                     }
                   "r")
                [ Ident
                    SrcSpanInfo
                      { srcInfoSpan =
                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 156 31 156 32
                      , srcInfoPoints = []
                      }
                    "a"
                , Ident
                    SrcSpanInfo
                      { srcInfoSpan =
                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 156 33 156 34
                      , srcInfoPoints = []
                      }
                    "a"
                ]))
      , ClosedTypeFamDecl
          SrcSpanInfo
            { srcInfoSpan =
                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 157 1 157 20
            , srcInfoPoints =
                [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 157 1 157 5
                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 157 6 157 12
                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 157 36 157 41
                ]
            }
          (DHApp
             SrcSpanInfo
               { srcInfoSpan =
                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 157 13 157 20
               , srcInfoPoints = []
               }
             (DHApp
                SrcSpanInfo
                  { srcInfoSpan =
                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 157 13 157 18
                  , srcInfoPoints = []
                  }
                (DHead
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 157 13 157 16
                     , srcInfoPoints = []
                     }
                   (Ident
                      SrcSpanInfo
                        { srcInfoSpan =
                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 157 13 157 16
                        , srcInfoPoints = []
                        }
                      "Jcx"))
                (UnkindedVar
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 157 17 157 18
                     , srcInfoPoints = []
                     }
                   (Ident
                      SrcSpanInfo
                        { srcInfoSpan =
                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 157 17 157 18
                        , srcInfoPoints = []
                        }
                      "a")))
             (UnkindedVar
                SrcSpanInfo
                  { srcInfoSpan =
                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 157 19 157 20
                  , srcInfoPoints = []
                  }
                (Ident
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 157 19 157 20
                     , srcInfoPoints = []
                     }
                   "b")))
          (Just
             (TyVarSig
                SrcSpanInfo
                  { srcInfoSpan =
                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 157 21 157 24
                  , srcInfoPoints =
                      [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 157 21 157 22 ]
                  }
                (UnkindedVar
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 157 23 157 24
                     , srcInfoPoints = []
                     }
                   (Ident
                      SrcSpanInfo
                        { srcInfoSpan =
                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 157 23 157 24
                        , srcInfoPoints = []
                        }
                      "r"))))
          (Just
             (InjectivityInfo
                SrcSpanInfo
                  { srcInfoSpan =
                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 157 25 157 33
                  , srcInfoPoints =
                      [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 157 25 157 26
                      , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 157 29 157 31
                      ]
                  }
                (Ident
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 157 27 157 28
                     , srcInfoPoints = []
                     }
                   "r")
                [ Ident
                    SrcSpanInfo
                      { srcInfoSpan =
                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 157 32 157 33
                      , srcInfoPoints = []
                      }
                    "a"
                , Ident
                    SrcSpanInfo
                      { srcInfoSpan =
                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 157 34 157 35
                      , srcInfoPoints = []
                      }
                    "a"
                ]))
          [ TypeEqn
              SrcSpanInfo
                { srcInfoSpan =
                    SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 158 3 158 16
                , srcInfoPoints =
                    [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 158 11 158 12 ]
                }
              (TyApp
                 SrcSpanInfo
                   { srcInfoSpan =
                       SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 158 3 158 10
                   , srcInfoPoints = []
                   }
                 (TyApp
                    SrcSpanInfo
                      { srcInfoSpan =
                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 158 3 158 8
                      , srcInfoPoints = []
                      }
                    (TyCon
                       SrcSpanInfo
                         { srcInfoSpan =
                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 158 3 158 6
                         , srcInfoPoints = []
                         }
                       (UnQual
                          SrcSpanInfo
                            { srcInfoSpan =
                                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 158 3 158 6
                            , srcInfoPoints = []
                            }
                          (Ident
                             SrcSpanInfo
                               { srcInfoSpan =
                                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 158 3 158 6
                               , srcInfoPoints = []
                               }
                             "Jcx")))
                    (TyVar
                       SrcSpanInfo
                         { srcInfoSpan =
                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 158 7 158 8
                         , srcInfoPoints = []
                         }
                       (Ident
                          SrcSpanInfo
                            { srcInfoSpan =
                                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 158 7 158 8
                            , srcInfoPoints = []
                            }
                          "a")))
                 (TyVar
                    SrcSpanInfo
                      { srcInfoSpan =
                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 158 9 158 10
                      , srcInfoPoints = []
                      }
                    (Ident
                       SrcSpanInfo
                         { srcInfoSpan =
                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 158 9 158 10
                         , srcInfoPoints = []
                         }
                       "b")))
              (TyApp
                 SrcSpanInfo
                   { srcInfoSpan =
                       SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 158 13 158 16
                   , srcInfoPoints = []
                   }
                 (TyVar
                    SrcSpanInfo
                      { srcInfoSpan =
                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 158 13 158 14
                      , srcInfoPoints = []
                      }
                    (Ident
                       SrcSpanInfo
                         { srcInfoSpan =
                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 158 13 158 14
                         , srcInfoPoints = []
                         }
                       "a"))
                 (TyVar
                    SrcSpanInfo
                      { srcInfoSpan =
                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 158 15 158 16
                      , srcInfoPoints = []
                      }
                    (Ident
                       SrcSpanInfo
                         { srcInfoSpan =
                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 158 15 158 16
                         , srcInfoPoints = []
                         }
                       "b")))
          ]
      , ClassDecl
          SrcSpanInfo
            { srcInfoSpan =
                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 159 1 160 27
            , srcInfoPoints =
                [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 159 1 159 6
                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 159 15 159 20
                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 160 3 160 3
                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 162 1 162 0
                ]
            }
          Nothing
          (DHApp
             SrcSpanInfo
               { srcInfoSpan =
                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 159 7 159 14
               , srcInfoPoints = []
               }
             (DHApp
                SrcSpanInfo
                  { srcInfoSpan =
                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 159 7 159 12
                  , srcInfoPoints = []
                  }
                (DHead
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 159 7 159 10
                     , srcInfoPoints = []
                     }
                   (Ident
                      SrcSpanInfo
                        { srcInfoSpan =
                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 159 7 159 10
                        , srcInfoPoints = []
                        }
                      "Jcl"))
                (UnkindedVar
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 159 11 159 12
                     , srcInfoPoints = []
                     }
                   (Ident
                      SrcSpanInfo
                        { srcInfoSpan =
                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 159 11 159 12
                        , srcInfoPoints = []
                        }
                      "a")))
             (UnkindedVar
                SrcSpanInfo
                  { srcInfoSpan =
                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 159 13 159 14
                  , srcInfoPoints = []
                  }
                (Ident
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 159 13 159 14
                     , srcInfoPoints = []
                     }
                   "b")))
          []
          (Just
             [ ClsTyFam
                 SrcSpanInfo
                   { srcInfoSpan =
                       SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 160 3 160 27
                   , srcInfoPoints =
                       [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 160 3 160 7 ]
                   }
                 (DHApp
                    SrcSpanInfo
                      { srcInfoSpan =
                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 160 8 160 14
                      , srcInfoPoints = []
                      }
                    (DHApp
                       SrcSpanInfo
                         { srcInfoSpan =
                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 160 8 160 12
                         , srcInfoPoints = []
                         }
                       (DHead
                          SrcSpanInfo
                            { srcInfoSpan =
                                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 160 8 160 10
                            , srcInfoPoints = []
                            }
                          (Ident
                             SrcSpanInfo
                               { srcInfoSpan =
                                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 160 8 160 10
                               , srcInfoPoints = []
                               }
                             "Jt"))
                       (UnkindedVar
                          SrcSpanInfo
                            { srcInfoSpan =
                                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 160 11 160 12
                            , srcInfoPoints = []
                            }
                          (Ident
                             SrcSpanInfo
                               { srcInfoSpan =
                                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 160 11 160 12
                               , srcInfoPoints = []
                               }
                             "a")))
                    (UnkindedVar
                       SrcSpanInfo
                         { srcInfoSpan =
                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 160 13 160 14
                         , srcInfoPoints = []
                         }
                       (Ident
                          SrcSpanInfo
                            { srcInfoSpan =
                                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 160 13 160 14
                            , srcInfoPoints = []
                            }
                          "b")))
                 (Just
                    (TyVarSig
                       SrcSpanInfo
                         { srcInfoSpan =
                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 160 15 160 18
                         , srcInfoPoints =
                             [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 160 15 160 16 ]
                         }
                       (UnkindedVar
                          SrcSpanInfo
                            { srcInfoSpan =
                                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 160 17 160 18
                            , srcInfoPoints = []
                            }
                          (Ident
                             SrcSpanInfo
                               { srcInfoSpan =
                                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 160 17 160 18
                               , srcInfoPoints = []
                               }
                             "r"))))
                 (Just
                    (InjectivityInfo
                       SrcSpanInfo
                         { srcInfoSpan =
                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 160 19 160 27
                         , srcInfoPoints =
                             [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 160 19 160 20
                             , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 160 23 160 25
                             ]
                         }
                       (Ident
                          SrcSpanInfo
                            { srcInfoSpan =
                                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 160 21 160 22
                            , srcInfoPoints = []
                            }
                          "r")
                       [ Ident
                           SrcSpanInfo
                             { srcInfoSpan =
                                 SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 160 26 160 27
                             , srcInfoPoints = []
                             }
                           "a"
                       , Ident
                           SrcSpanInfo
                             { srcInfoSpan =
                                 SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 160 28 160 29
                             , srcInfoPoints = []
                             }
                           "a"
                       ]))
             ])
      , TypeFamDecl
          SrcSpanInfo
            { srcInfoSpan =
                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 162 1 162 19
            , srcInfoPoints =
                [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 162 1 162 5
                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 162 6 162 12
                ]
            }
          (DHApp
             SrcSpanInfo
               { srcInfoSpan =
                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 162 13 162 19
               , srcInfoPoints = []
               }
             (DHApp
                SrcSpanInfo
                  { srcInfoSpan =
                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 162 13 162 17
                  , srcInfoPoints = []
                  }
                (DHead
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 162 13 162 15
                     , srcInfoPoints = []
                     }
                   (Ident
                      SrcSpanInfo
                        { srcInfoSpan =
                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 162 13 162 15
                        , srcInfoPoints = []
                        }
                      "Kx"))
                (UnkindedVar
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 162 16 162 17
                     , srcInfoPoints = []
                     }
                   (Ident
                      SrcSpanInfo
                        { srcInfoSpan =
                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 162 16 162 17
                        , srcInfoPoints = []
                        }
                      "a")))
             (UnkindedVar
                SrcSpanInfo
                  { srcInfoSpan =
                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 162 18 162 19
                  , srcInfoPoints = []
                  }
                (Ident
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 162 18 162 19
                     , srcInfoPoints = []
                     }
                   "b")))
          (Just
             (TyVarSig
                SrcSpanInfo
                  { srcInfoSpan =
                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 162 20 162 23
                  , srcInfoPoints =
                      [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 162 20 162 21 ]
                  }
                (UnkindedVar
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 162 22 162 23
                     , srcInfoPoints = []
                     }
                   (Ident
                      SrcSpanInfo
                        { srcInfoSpan =
                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 162 22 162 23
                        , srcInfoPoints = []
                        }
                      "r"))))
          (Just
             (InjectivityInfo
                SrcSpanInfo
                  { srcInfoSpan =
                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 162 24 162 32
                  , srcInfoPoints =
                      [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 162 24 162 25
                      , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 162 28 162 30
                      ]
                  }
                (Ident
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 162 26 162 27
                     , srcInfoPoints = []
                     }
                   "r")
                [ Ident
                    SrcSpanInfo
                      { srcInfoSpan =
                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 162 31 162 32
                      , srcInfoPoints = []
                      }
                    "a"
                , Ident
                    SrcSpanInfo
                      { srcInfoSpan =
                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 162 33 162 34
                      , srcInfoPoints = []
                      }
                    "b"
                , Ident
                    SrcSpanInfo
                      { srcInfoSpan =
                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 162 35 162 36
                      , srcInfoPoints = []
                      }
                    "b"
                ]))
      , ClosedTypeFamDecl
          SrcSpanInfo
            { srcInfoSpan =
                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 163 1 163 20
            , srcInfoPoints =
                [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 163 1 163 5
                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 163 6 163 12
                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 163 38 163 43
                ]
            }
          (DHApp
             SrcSpanInfo
               { srcInfoSpan =
                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 163 13 163 20
               , srcInfoPoints = []
               }
             (DHApp
                SrcSpanInfo
                  { srcInfoSpan =
                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 163 13 163 18
                  , srcInfoPoints = []
                  }
                (DHead
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 163 13 163 16
                     , srcInfoPoints = []
                     }
                   (Ident
                      SrcSpanInfo
                        { srcInfoSpan =
                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 163 13 163 16
                        , srcInfoPoints = []
                        }
                      "Kcx"))
                (UnkindedVar
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 163 17 163 18
                     , srcInfoPoints = []
                     }
                   (Ident
                      SrcSpanInfo
                        { srcInfoSpan =
                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 163 17 163 18
                        , srcInfoPoints = []
                        }
                      "a")))
             (UnkindedVar
                SrcSpanInfo
                  { srcInfoSpan =
                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 163 19 163 20
                  , srcInfoPoints = []
                  }
                (Ident
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 163 19 163 20
                     , srcInfoPoints = []
                     }
                   "b")))
          (Just
             (TyVarSig
                SrcSpanInfo
                  { srcInfoSpan =
                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 163 21 163 24
                  , srcInfoPoints =
                      [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 163 21 163 22 ]
                  }
                (UnkindedVar
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 163 23 163 24
                     , srcInfoPoints = []
                     }
                   (Ident
                      SrcSpanInfo
                        { srcInfoSpan =
                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 163 23 163 24
                        , srcInfoPoints = []
                        }
                      "r"))))
          (Just
             (InjectivityInfo
                SrcSpanInfo
                  { srcInfoSpan =
                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 163 25 163 33
                  , srcInfoPoints =
                      [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 163 25 163 26
                      , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 163 29 163 31
                      ]
                  }
                (Ident
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 163 27 163 28
                     , srcInfoPoints = []
                     }
                   "r")
                [ Ident
                    SrcSpanInfo
                      { srcInfoSpan =
                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 163 32 163 33
                      , srcInfoPoints = []
                      }
                    "a"
                , Ident
                    SrcSpanInfo
                      { srcInfoSpan =
                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 163 34 163 35
                      , srcInfoPoints = []
                      }
                    "b"
                , Ident
                    SrcSpanInfo
                      { srcInfoSpan =
                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 163 36 163 37
                      , srcInfoPoints = []
                      }
                    "b"
                ]))
          [ TypeEqn
              SrcSpanInfo
                { srcInfoSpan =
                    SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 164 3 164 16
                , srcInfoPoints =
                    [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 164 11 164 12 ]
                }
              (TyApp
                 SrcSpanInfo
                   { srcInfoSpan =
                       SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 164 3 164 10
                   , srcInfoPoints = []
                   }
                 (TyApp
                    SrcSpanInfo
                      { srcInfoSpan =
                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 164 3 164 8
                      , srcInfoPoints = []
                      }
                    (TyCon
                       SrcSpanInfo
                         { srcInfoSpan =
                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 164 3 164 6
                         , srcInfoPoints = []
                         }
                       (UnQual
                          SrcSpanInfo
                            { srcInfoSpan =
                                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 164 3 164 6
                            , srcInfoPoints = []
                            }
                          (Ident
                             SrcSpanInfo
                               { srcInfoSpan =
                                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 164 3 164 6
                               , srcInfoPoints = []
                               }
                             "Kcx")))
                    (TyVar
                       SrcSpanInfo
                         { srcInfoSpan =
                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 164 7 164 8
                         , srcInfoPoints = []
                         }
                       (Ident
                          SrcSpanInfo
                            { srcInfoSpan =
                                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 164 7 164 8
                            , srcInfoPoints = []
                            }
                          "a")))
                 (TyVar
                    SrcSpanInfo
                      { srcInfoSpan =
                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 164 9 164 10
                      , srcInfoPoints = []
                      }
                    (Ident
                       SrcSpanInfo
                         { srcInfoSpan =
                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 164 9 164 10
                         , srcInfoPoints = []
                         }
                       "b")))
              (TyApp
                 SrcSpanInfo
                   { srcInfoSpan =
                       SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 164 13 164 16
                   , srcInfoPoints = []
                   }
                 (TyVar
                    SrcSpanInfo
                      { srcInfoSpan =
                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 164 13 164 14
                      , srcInfoPoints = []
                      }
                    (Ident
                       SrcSpanInfo
                         { srcInfoSpan =
                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 164 13 164 14
                         , srcInfoPoints = []
                         }
                       "a"))
                 (TyVar
                    SrcSpanInfo
                      { srcInfoSpan =
                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 164 15 164 16
                      , srcInfoPoints = []
                      }
                    (Ident
                       SrcSpanInfo
                         { srcInfoSpan =
                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 164 15 164 16
                         , srcInfoPoints = []
                         }
                       "b")))
          ]
      , ClassDecl
          SrcSpanInfo
            { srcInfoSpan =
                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 165 1 166 27
            , srcInfoPoints =
                [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 165 1 165 6
                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 165 15 165 20
                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 166 3 166 3
                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 170 1 170 0
                ]
            }
          Nothing
          (DHApp
             SrcSpanInfo
               { srcInfoSpan =
                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 165 7 165 14
               , srcInfoPoints = []
               }
             (DHApp
                SrcSpanInfo
                  { srcInfoSpan =
                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 165 7 165 12
                  , srcInfoPoints = []
                  }
                (DHead
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 165 7 165 10
                     , srcInfoPoints = []
                     }
                   (Ident
                      SrcSpanInfo
                        { srcInfoSpan =
                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 165 7 165 10
                        , srcInfoPoints = []
                        }
                      "Kcl"))
                (UnkindedVar
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 165 11 165 12
                     , srcInfoPoints = []
                     }
                   (Ident
                      SrcSpanInfo
                        { srcInfoSpan =
                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 165 11 165 12
                        , srcInfoPoints = []
                        }
                      "a")))
             (UnkindedVar
                SrcSpanInfo
                  { srcInfoSpan =
                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 165 13 165 14
                  , srcInfoPoints = []
                  }
                (Ident
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 165 13 165 14
                     , srcInfoPoints = []
                     }
                   "b")))
          []
          (Just
             [ ClsTyFam
                 SrcSpanInfo
                   { srcInfoSpan =
                       SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 166 3 166 27
                   , srcInfoPoints =
                       [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 166 3 166 7 ]
                   }
                 (DHApp
                    SrcSpanInfo
                      { srcInfoSpan =
                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 166 8 166 14
                      , srcInfoPoints = []
                      }
                    (DHApp
                       SrcSpanInfo
                         { srcInfoSpan =
                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 166 8 166 12
                         , srcInfoPoints = []
                         }
                       (DHead
                          SrcSpanInfo
                            { srcInfoSpan =
                                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 166 8 166 10
                            , srcInfoPoints = []
                            }
                          (Ident
                             SrcSpanInfo
                               { srcInfoSpan =
                                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 166 8 166 10
                               , srcInfoPoints = []
                               }
                             "Kt"))
                       (UnkindedVar
                          SrcSpanInfo
                            { srcInfoSpan =
                                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 166 11 166 12
                            , srcInfoPoints = []
                            }
                          (Ident
                             SrcSpanInfo
                               { srcInfoSpan =
                                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 166 11 166 12
                               , srcInfoPoints = []
                               }
                             "a")))
                    (UnkindedVar
                       SrcSpanInfo
                         { srcInfoSpan =
                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 166 13 166 14
                         , srcInfoPoints = []
                         }
                       (Ident
                          SrcSpanInfo
                            { srcInfoSpan =
                                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 166 13 166 14
                            , srcInfoPoints = []
                            }
                          "b")))
                 (Just
                    (TyVarSig
                       SrcSpanInfo
                         { srcInfoSpan =
                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 166 15 166 18
                         , srcInfoPoints =
                             [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 166 15 166 16 ]
                         }
                       (UnkindedVar
                          SrcSpanInfo
                            { srcInfoSpan =
                                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 166 17 166 18
                            , srcInfoPoints = []
                            }
                          (Ident
                             SrcSpanInfo
                               { srcInfoSpan =
                                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 166 17 166 18
                               , srcInfoPoints = []
                               }
                             "r"))))
                 (Just
                    (InjectivityInfo
                       SrcSpanInfo
                         { srcInfoSpan =
                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 166 19 166 27
                         , srcInfoPoints =
                             [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 166 19 166 20
                             , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 166 23 166 25
                             ]
                         }
                       (Ident
                          SrcSpanInfo
                            { srcInfoSpan =
                                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 166 21 166 22
                            , srcInfoPoints = []
                            }
                          "r")
                       [ Ident
                           SrcSpanInfo
                             { srcInfoSpan =
                                 SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 166 26 166 27
                             , srcInfoPoints = []
                             }
                           "a"
                       , Ident
                           SrcSpanInfo
                             { srcInfoSpan =
                                 SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 166 28 166 29
                             , srcInfoPoints = []
                             }
                           "b"
                       , Ident
                           SrcSpanInfo
                             { srcInfoSpan =
                                 SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 166 30 166 31
                             , srcInfoPoints = []
                             }
                           "b"
                       ]))
             ])
      , ClosedTypeFamDecl
          SrcSpanInfo
            { srcInfoSpan =
                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 170 1 170 24
            , srcInfoPoints =
                [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 170 1 170 5
                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 170 6 170 12
                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 170 47 170 52
                ]
            }
          (DHApp
             SrcSpanInfo
               { srcInfoSpan =
                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 170 13 170 24
               , srcInfoPoints = []
               }
             (DHead
                SrcSpanInfo
                  { srcInfoSpan =
                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 170 13 170 14
                  , srcInfoPoints = []
                  }
                (Ident
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 170 13 170 14
                     , srcInfoPoints = []
                     }
                   "L"))
             (KindedVar
                SrcSpanInfo
                  { srcInfoSpan =
                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 170 15 170 24
                  , srcInfoPoints =
                      [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 170 15 170 16
                      , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 170 18 170 20
                      , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 170 23 170 24
                      ]
                  }
                (Ident
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 170 16 170 17
                     , srcInfoPoints = []
                     }
                   "a")
                (KindVar
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 170 21 170 23
                     , srcInfoPoints = []
                     }
                   (UnQual
                      SrcSpanInfo
                        { srcInfoSpan =
                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 170 21 170 23
                        , srcInfoPoints = []
                        }
                      (Ident
                         SrcSpanInfo
                           { srcInfoSpan =
                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 170 21 170 23
                           , srcInfoPoints = []
                           }
                         "k1")))))
          (Just
             (TyVarSig
                SrcSpanInfo
                  { srcInfoSpan =
                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 170 25 170 36
                  , srcInfoPoints =
                      [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 170 25 170 26 ]
                  }
                (KindedVar
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 170 27 170 36
                     , srcInfoPoints =
                         [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 170 27 170 28
                         , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 170 30 170 32
                         , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 170 35 170 36
                         ]
                     }
                   (Ident
                      SrcSpanInfo
                        { srcInfoSpan =
                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 170 28 170 29
                        , srcInfoPoints = []
                        }
                      "r")
                   (KindVar
                      SrcSpanInfo
                        { srcInfoSpan =
                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 170 33 170 35
                        , srcInfoPoints = []
                        }
                      (UnQual
                         SrcSpanInfo
                           { srcInfoSpan =
                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 170 33 170 35
                           , srcInfoPoints = []
                           }
                         (Ident
                            SrcSpanInfo
                              { srcInfoSpan =
                                  SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 170 33 170 35
                              , srcInfoPoints = []
                              }
                            "k2"))))))
          (Just
             (InjectivityInfo
                SrcSpanInfo
                  { srcInfoSpan =
                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 170 37 170 46
                  , srcInfoPoints =
                      [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 170 37 170 38
                      , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 170 41 170 43
                      ]
                  }
                (Ident
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 170 39 170 40
                     , srcInfoPoints = []
                     }
                   "r")
                [ Ident
                    SrcSpanInfo
                      { srcInfoSpan =
                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 170 44 170 46
                      , srcInfoPoints = []
                      }
                    "k1"
                ]))
          [ TypeEqn
              SrcSpanInfo
                { srcInfoSpan =
                    SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 171 5 171 19
                , srcInfoPoints =
                    [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 171 14 171 15 ]
                }
              (TyApp
                 SrcSpanInfo
                   { srcInfoSpan =
                       SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 171 5 171 12
                   , srcInfoPoints = []
                   }
                 (TyCon
                    SrcSpanInfo
                      { srcInfoSpan =
                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 171 5 171 6
                      , srcInfoPoints = []
                      }
                    (UnQual
                       SrcSpanInfo
                         { srcInfoSpan =
                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 171 5 171 6
                         , srcInfoPoints = []
                         }
                       (Ident
                          SrcSpanInfo
                            { srcInfoSpan =
                                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 171 5 171 6
                            , srcInfoPoints = []
                            }
                          "L")))
                 (TyPromoted
                    SrcSpanInfo
                      { srcInfoSpan =
                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 171 7 171 12
                      , srcInfoPoints =
                          [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 171 7 171 8 ]
                      }
                    (PromotedCon
                       SrcSpanInfo
                         { srcInfoSpan =
                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 171 7 171 12
                         , srcInfoPoints =
                             [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 171 7 171 8 ]
                         }
                       True
                       (UnQual
                          SrcSpanInfo
                            { srcInfoSpan =
                                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 171 8 171 12
                            , srcInfoPoints = []
                            }
                          (Ident
                             SrcSpanInfo
                               { srcInfoSpan =
                                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 171 8 171 12
                               , srcInfoPoints = []
                               }
                             "True")))))
              (TyCon
                 SrcSpanInfo
                   { srcInfoSpan =
                       SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 171 16 171 19
                   , srcInfoPoints = []
                   }
                 (UnQual
                    SrcSpanInfo
                      { srcInfoSpan =
                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 171 16 171 19
                      , srcInfoPoints = []
                      }
                    (Ident
                       SrcSpanInfo
                         { srcInfoSpan =
                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 171 16 171 19
                         , srcInfoPoints = []
                         }
                       "Int")))
          , TypeEqn
              SrcSpanInfo
                { srcInfoSpan =
                    SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 172 5 172 19
                , srcInfoPoints =
                    [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 172 14 172 15 ]
                }
              (TyApp
                 SrcSpanInfo
                   { srcInfoSpan =
                       SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 172 5 172 13
                   , srcInfoPoints = []
                   }
                 (TyCon
                    SrcSpanInfo
                      { srcInfoSpan =
                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 172 5 172 6
                      , srcInfoPoints = []
                      }
                    (UnQual
                       SrcSpanInfo
                         { srcInfoSpan =
                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 172 5 172 6
                         , srcInfoPoints = []
                         }
                       (Ident
                          SrcSpanInfo
                            { srcInfoSpan =
                                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 172 5 172 6
                            , srcInfoPoints = []
                            }
                          "L")))
                 (TyPromoted
                    SrcSpanInfo
                      { srcInfoSpan =
                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 172 7 172 13
                      , srcInfoPoints =
                          [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 172 7 172 8 ]
                      }
                    (PromotedCon
                       SrcSpanInfo
                         { srcInfoSpan =
                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 172 7 172 13
                         , srcInfoPoints =
                             [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 172 7 172 8 ]
                         }
                       True
                       (UnQual
                          SrcSpanInfo
                            { srcInfoSpan =
                                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 172 8 172 13
                            , srcInfoPoints = []
                            }
                          (Ident
                             SrcSpanInfo
                               { srcInfoSpan =
                                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 172 8 172 13
                               , srcInfoPoints = []
                               }
                             "False")))))
              (TyCon
                 SrcSpanInfo
                   { srcInfoSpan =
                       SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 172 16 172 19
                   , srcInfoPoints = []
                   }
                 (UnQual
                    SrcSpanInfo
                      { srcInfoSpan =
                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 172 16 172 19
                      , srcInfoPoints = []
                      }
                    (Ident
                       SrcSpanInfo
                         { srcInfoSpan =
                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 172 16 172 19
                         , srcInfoPoints = []
                         }
                       "Int")))
          , TypeEqn
              SrcSpanInfo
                { srcInfoSpan =
                    SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 173 5 173 17
                , srcInfoPoints =
                    [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 173 14 173 15 ]
                }
              (TyApp
                 SrcSpanInfo
                   { srcInfoSpan =
                       SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 173 5 173 12
                   , srcInfoPoints = []
                   }
                 (TyCon
                    SrcSpanInfo
                      { srcInfoSpan =
                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 173 5 173 6
                      , srcInfoPoints = []
                      }
                    (UnQual
                       SrcSpanInfo
                         { srcInfoSpan =
                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 173 5 173 6
                         , srcInfoPoints = []
                         }
                       (Ident
                          SrcSpanInfo
                            { srcInfoSpan =
                                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 173 5 173 6
                            , srcInfoPoints = []
                            }
                          "L")))
                 (TyCon
                    SrcSpanInfo
                      { srcInfoSpan =
                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 173 7 173 12
                      , srcInfoPoints = []
                      }
                    (UnQual
                       SrcSpanInfo
                         { srcInfoSpan =
                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 173 7 173 12
                         , srcInfoPoints = []
                         }
                       (Ident
                          SrcSpanInfo
                            { srcInfoSpan =
                                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 173 7 173 12
                            , srcInfoPoints = []
                            }
                          "Maybe"))))
              (TyPromoted
                 SrcSpanInfo
                   { srcInfoSpan =
                       SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 173 16 173 17
                   , srcInfoPoints = []
                   }
                 (PromotedInteger
                    SrcSpanInfo
                      { srcInfoSpan =
                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 173 16 173 17
                      , srcInfoPoints = []
                      }
                    3
                    "3"))
          , TypeEqn
              SrcSpanInfo
                { srcInfoSpan =
                    SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 174 5 174 17
                , srcInfoPoints =
                    [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 174 14 174 15 ]
                }
              (TyApp
                 SrcSpanInfo
                   { srcInfoSpan =
                       SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 174 5 174 9
                   , srcInfoPoints = []
                   }
                 (TyCon
                    SrcSpanInfo
                      { srcInfoSpan =
                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 174 5 174 6
                      , srcInfoPoints = []
                      }
                    (UnQual
                       SrcSpanInfo
                         { srcInfoSpan =
                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 174 5 174 6
                         , srcInfoPoints = []
                         }
                       (Ident
                          SrcSpanInfo
                            { srcInfoSpan =
                                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 174 5 174 6
                            , srcInfoPoints = []
                            }
                          "L")))
                 (TyCon
                    SrcSpanInfo
                      { srcInfoSpan =
                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 174 7 174 9
                      , srcInfoPoints = []
                      }
                    (UnQual
                       SrcSpanInfo
                         { srcInfoSpan =
                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 174 7 174 9
                         , srcInfoPoints = []
                         }
                       (Ident
                          SrcSpanInfo
                            { srcInfoSpan =
                                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 174 7 174 9
                            , srcInfoPoints = []
                            }
                          "IO"))))
              (TyPromoted
                 SrcSpanInfo
                   { srcInfoSpan =
                       SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 174 16 174 17
                   , srcInfoPoints = []
                   }
                 (PromotedInteger
                    SrcSpanInfo
                      { srcInfoSpan =
                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 174 16 174 17
                      , srcInfoPoints = []
                      }
                    3
                    "3"))
          ]
      , DataDecl
          SrcSpanInfo
            { srcInfoSpan =
                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 176 1 176 30
            , srcInfoPoints =
                [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 176 22 176 23 ]
            }
          (DataType
             SrcSpanInfo
               { srcInfoSpan =
                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 176 1 176 5
               , srcInfoPoints = []
               })
          Nothing
          (DHApp
             SrcSpanInfo
               { srcInfoSpan =
                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 176 6 176 21
               , srcInfoPoints = []
               }
             (DHead
                SrcSpanInfo
                  { srcInfoSpan =
                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 176 6 176 12
                  , srcInfoPoints = []
                  }
                (Ident
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 176 6 176 12
                     , srcInfoPoints = []
                     }
                   "KProxy"))
             (KindedVar
                SrcSpanInfo
                  { srcInfoSpan =
                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 176 13 176 21
                  , srcInfoPoints =
                      [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 176 13 176 14
                      , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 176 16 176 18
                      , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 176 20 176 21
                      ]
                  }
                (Ident
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 176 14 176 15
                     , srcInfoPoints = []
                     }
                   "a")
                (KindStar
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 176 19 176 20
                     , srcInfoPoints = []
                     })))
          [ QualConDecl
              SrcSpanInfo
                { srcInfoSpan =
                    SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 176 24 176 30
                , srcInfoPoints = []
                }
              Nothing
              Nothing
              (ConDecl
                 SrcSpanInfo
                   { srcInfoSpan =
                       SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 176 24 176 30
                   , srcInfoPoints = []
                   }
                 (Ident
                    SrcSpanInfo
                      { srcInfoSpan =
                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 176 24 176 30
                      , srcInfoPoints = []
                      }
                    "KProxy")
                 [])
          ]
          []
      , TypeFamDecl
          SrcSpanInfo
            { srcInfoSpan =
                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 177 1 177 36
            , srcInfoPoints =
                [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 177 1 177 5
                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 177 6 177 12
                ]
            }
          (DHApp
             SrcSpanInfo
               { srcInfoSpan =
                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 177 13 177 36
               , srcInfoPoints = []
               }
             (DHead
                SrcSpanInfo
                  { srcInfoSpan =
                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 177 13 177 15
                  , srcInfoPoints = []
                  }
                (Ident
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 177 13 177 15
                     , srcInfoPoints = []
                     }
                   "KP"))
             (KindedVar
                SrcSpanInfo
                  { srcInfoSpan =
                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 177 16 177 36
                  , srcInfoPoints =
                      [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 177 16 177 17
                      , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 177 24 177 26
                      , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 177 35 177 36
                      ]
                  }
                (Ident
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 177 17 177 23
                     , srcInfoPoints = []
                     }
                   "kproxy")
                (KindApp
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 177 27 177 35
                     , srcInfoPoints = []
                     }
                   (KindVar
                      SrcSpanInfo
                        { srcInfoSpan =
                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 177 27 177 33
                        , srcInfoPoints = []
                        }
                      (UnQual
                         SrcSpanInfo
                           { srcInfoSpan =
                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 177 27 177 33
                           , srcInfoPoints = []
                           }
                         (Ident
                            SrcSpanInfo
                              { srcInfoSpan =
                                  SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 177 27 177 33
                              , srcInfoPoints = []
                              }
                            "KProxy")))
                   (KindVar
                      SrcSpanInfo
                        { srcInfoSpan =
                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 177 34 177 35
                        , srcInfoPoints = []
                        }
                      (UnQual
                         SrcSpanInfo
                           { srcInfoSpan =
                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 177 34 177 35
                           , srcInfoPoints = []
                           }
                         (Ident
                            SrcSpanInfo
                              { srcInfoSpan =
                                  SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 177 34 177 35
                              , srcInfoPoints = []
                              }
                            "k"))))))
          (Just
             (TyVarSig
                SrcSpanInfo
                  { srcInfoSpan =
                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 177 37 177 40
                  , srcInfoPoints =
                      [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 177 37 177 38 ]
                  }
                (UnkindedVar
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 177 39 177 40
                     , srcInfoPoints = []
                     }
                   (Ident
                      SrcSpanInfo
                        { srcInfoSpan =
                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 177 39 177 40
                        , srcInfoPoints = []
                        }
                      "r"))))
          (Just
             (InjectivityInfo
                SrcSpanInfo
                  { srcInfoSpan =
                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 177 41 177 49
                  , srcInfoPoints =
                      [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 177 41 177 42
                      , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 177 45 177 47
                      ]
                  }
                (Ident
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 177 43 177 44
                     , srcInfoPoints = []
                     }
                   "r")
                [ Ident
                    SrcSpanInfo
                      { srcInfoSpan =
                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 177 48 177 49
                      , srcInfoPoints = []
                      }
                    "k"
                ]))
      , TypeInsDecl
          SrcSpanInfo
            { srcInfoSpan =
                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 178 1 178 48
            , srcInfoPoints =
                [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 178 1 178 5
                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 178 6 178 14
                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 178 43 178 44
                ]
            }
          (TyApp
             SrcSpanInfo
               { srcInfoSpan =
                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 178 15 178 42
               , srcInfoPoints = []
               }
             (TyCon
                SrcSpanInfo
                  { srcInfoSpan =
                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 178 15 178 17
                  , srcInfoPoints = []
                  }
                (UnQual
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 178 15 178 17
                     , srcInfoPoints = []
                     }
                   (Ident
                      SrcSpanInfo
                        { srcInfoSpan =
                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 178 15 178 17
                        , srcInfoPoints = []
                        }
                      "KP")))
             (TyKind
                SrcSpanInfo
                  { srcInfoSpan =
                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 178 18 178 42
                  , srcInfoPoints =
                      [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 178 18 178 19
                      , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 178 27 178 29
                      , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 178 41 178 42
                      ]
                  }
                (TyPromoted
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 178 19 178 26
                     , srcInfoPoints =
                         [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 178 19 178 20 ]
                     }
                   (PromotedCon
                      SrcSpanInfo
                        { srcInfoSpan =
                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 178 19 178 26
                        , srcInfoPoints =
                            [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 178 19 178 20 ]
                        }
                      True
                      (UnQual
                         SrcSpanInfo
                           { srcInfoSpan =
                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 178 20 178 26
                           , srcInfoPoints = []
                           }
                         (Ident
                            SrcSpanInfo
                              { srcInfoSpan =
                                  SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 178 20 178 26
                              , srcInfoPoints = []
                              }
                            "KProxy"))))
                (KindApp
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 178 30 178 41
                     , srcInfoPoints = []
                     }
                   (KindVar
                      SrcSpanInfo
                        { srcInfoSpan =
                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 178 30 178 36
                        , srcInfoPoints = []
                        }
                      (UnQual
                         SrcSpanInfo
                           { srcInfoSpan =
                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 178 30 178 36
                           , srcInfoPoints = []
                           }
                         (Ident
                            SrcSpanInfo
                              { srcInfoSpan =
                                  SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 178 30 178 36
                              , srcInfoPoints = []
                              }
                            "KProxy")))
                   (KindVar
                      SrcSpanInfo
                        { srcInfoSpan =
                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 178 37 178 41
                        , srcInfoPoints = []
                        }
                      (UnQual
                         SrcSpanInfo
                           { srcInfoSpan =
                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 178 37 178 41
                           , srcInfoPoints = []
                           }
                         (Ident
                            SrcSpanInfo
                              { srcInfoSpan =
                                  SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 178 37 178 41
                              , srcInfoPoints = []
                              }
                            "Bool"))))))
          (TyCon
             SrcSpanInfo
               { srcInfoSpan =
                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 178 45 178 48
               , srcInfoPoints = []
               }
             (UnQual
                SrcSpanInfo
                  { srcInfoSpan =
                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 178 45 178 48
                  , srcInfoPoints = []
                  }
                (Ident
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 178 45 178 48
                     , srcInfoPoints = []
                     }
                   "Int")))
      , TypeInsDecl
          SrcSpanInfo
            { srcInfoSpan =
                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 179 1 179 49
            , srcInfoPoints =
                [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 179 1 179 5
                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 179 6 179 14
                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 179 43 179 44
                ]
            }
          (TyApp
             SrcSpanInfo
               { srcInfoSpan =
                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 179 15 179 39
               , srcInfoPoints = []
               }
             (TyCon
                SrcSpanInfo
                  { srcInfoSpan =
                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 179 15 179 17
                  , srcInfoPoints = []
                  }
                (UnQual
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 179 15 179 17
                     , srcInfoPoints = []
                     }
                   (Ident
                      SrcSpanInfo
                        { srcInfoSpan =
                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 179 15 179 17
                        , srcInfoPoints = []
                        }
                      "KP")))
             (TyKind
                SrcSpanInfo
                  { srcInfoSpan =
                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 179 18 179 39
                  , srcInfoPoints =
                      [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 179 18 179 19
                      , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 179 27 179 29
                      , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 179 38 179 39
                      ]
                  }
                (TyPromoted
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 179 19 179 26
                     , srcInfoPoints =
                         [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 179 19 179 20 ]
                     }
                   (PromotedCon
                      SrcSpanInfo
                        { srcInfoSpan =
                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 179 19 179 26
                        , srcInfoPoints =
                            [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 179 19 179 20 ]
                        }
                      True
                      (UnQual
                         SrcSpanInfo
                           { srcInfoSpan =
                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 179 20 179 26
                           , srcInfoPoints = []
                           }
                         (Ident
                            SrcSpanInfo
                              { srcInfoSpan =
                                  SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 179 20 179 26
                              , srcInfoPoints = []
                              }
                            "KProxy"))))
                (KindApp
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 179 30 179 38
                     , srcInfoPoints = []
                     }
                   (KindVar
                      SrcSpanInfo
                        { srcInfoSpan =
                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 179 30 179 36
                        , srcInfoPoints = []
                        }
                      (UnQual
                         SrcSpanInfo
                           { srcInfoSpan =
                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 179 30 179 36
                           , srcInfoPoints = []
                           }
                         (Ident
                            SrcSpanInfo
                              { srcInfoSpan =
                                  SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 179 30 179 36
                              , srcInfoPoints = []
                              }
                            "KProxy")))
                   (KindStar
                      SrcSpanInfo
                        { srcInfoSpan =
                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 179 37 179 38
                        , srcInfoPoints = []
                        }))))
          (TyCon
             SrcSpanInfo
               { srcInfoSpan =
                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 179 45 179 49
               , srcInfoPoints = []
               }
             (UnQual
                SrcSpanInfo
                  { srcInfoSpan =
                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 179 45 179 49
                  , srcInfoPoints = []
                  }
                (Ident
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 179 45 179 49
                     , srcInfoPoints = []
                     }
                   "Char")))
      , TypeSig
          SrcSpanInfo
            { srcInfoSpan =
                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 181 1 181 66
            , srcInfoPoints =
                [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 181 11 181 13 ]
            }
          [ Ident
              SrcSpanInfo
                { srcInfoSpan =
                    SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 181 1 181 10
                , srcInfoPoints = []
                }
              "kproxy_id"
          ]
          (TyFun
             SrcSpanInfo
               { srcInfoSpan =
                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 181 14 181 66
               , srcInfoPoints =
                   [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 181 39 181 41 ]
               }
             (TyApp
                SrcSpanInfo
                  { srcInfoSpan =
                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 181 14 181 38
                  , srcInfoPoints = []
                  }
                (TyCon
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 181 14 181 16
                     , srcInfoPoints = []
                     }
                   (UnQual
                      SrcSpanInfo
                        { srcInfoSpan =
                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 181 14 181 16
                        , srcInfoPoints = []
                        }
                      (Ident
                         SrcSpanInfo
                           { srcInfoSpan =
                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 181 14 181 16
                           , srcInfoPoints = []
                           }
                         "KP")))
                (TyKind
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 181 17 181 38
                     , srcInfoPoints =
                         [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 181 17 181 18
                         , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 181 26 181 28
                         , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 181 37 181 38
                         ]
                     }
                   (TyPromoted
                      SrcSpanInfo
                        { srcInfoSpan =
                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 181 18 181 25
                        , srcInfoPoints =
                            [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 181 18 181 19 ]
                        }
                      (PromotedCon
                         SrcSpanInfo
                           { srcInfoSpan =
                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 181 18 181 25
                           , srcInfoPoints =
                               [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 181 18 181 19 ]
                           }
                         True
                         (UnQual
                            SrcSpanInfo
                              { srcInfoSpan =
                                  SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 181 19 181 25
                              , srcInfoPoints = []
                              }
                            (Ident
                               SrcSpanInfo
                                 { srcInfoSpan =
                                     SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 181 19 181 25
                                 , srcInfoPoints = []
                                 }
                               "KProxy"))))
                   (KindApp
                      SrcSpanInfo
                        { srcInfoSpan =
                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 181 29 181 37
                        , srcInfoPoints = []
                        }
                      (KindVar
                         SrcSpanInfo
                           { srcInfoSpan =
                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 181 29 181 35
                           , srcInfoPoints = []
                           }
                         (UnQual
                            SrcSpanInfo
                              { srcInfoSpan =
                                  SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 181 29 181 35
                              , srcInfoPoints = []
                              }
                            (Ident
                               SrcSpanInfo
                                 { srcInfoSpan =
                                     SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 181 29 181 35
                                 , srcInfoPoints = []
                                 }
                               "KProxy")))
                      (KindVar
                         SrcSpanInfo
                           { srcInfoSpan =
                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 181 36 181 37
                           , srcInfoPoints = []
                           }
                         (UnQual
                            SrcSpanInfo
                              { srcInfoSpan =
                                  SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 181 36 181 37
                              , srcInfoPoints = []
                              }
                            (Ident
                               SrcSpanInfo
                                 { srcInfoSpan =
                                     SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 181 36 181 37
                                 , srcInfoPoints = []
                                 }
                               "k"))))))
             (TyApp
                SrcSpanInfo
                  { srcInfoSpan =
                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 181 42 181 66
                  , srcInfoPoints = []
                  }
                (TyCon
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 181 42 181 44
                     , srcInfoPoints = []
                     }
                   (UnQual
                      SrcSpanInfo
                        { srcInfoSpan =
                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 181 42 181 44
                        , srcInfoPoints = []
                        }
                      (Ident
                         SrcSpanInfo
                           { srcInfoSpan =
                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 181 42 181 44
                           , srcInfoPoints = []
                           }
                         "KP")))
                (TyKind
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 181 45 181 66
                     , srcInfoPoints =
                         [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 181 45 181 46
                         , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 181 54 181 56
                         , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 181 65 181 66
                         ]
                     }
                   (TyPromoted
                      SrcSpanInfo
                        { srcInfoSpan =
                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 181 46 181 53
                        , srcInfoPoints =
                            [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 181 46 181 47 ]
                        }
                      (PromotedCon
                         SrcSpanInfo
                           { srcInfoSpan =
                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 181 46 181 53
                           , srcInfoPoints =
                               [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 181 46 181 47 ]
                           }
                         True
                         (UnQual
                            SrcSpanInfo
                              { srcInfoSpan =
                                  SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 181 47 181 53
                              , srcInfoPoints = []
                              }
                            (Ident
                               SrcSpanInfo
                                 { srcInfoSpan =
                                     SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 181 47 181 53
                                 , srcInfoPoints = []
                                 }
                               "KProxy"))))
                   (KindApp
                      SrcSpanInfo
                        { srcInfoSpan =
                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 181 57 181 65
                        , srcInfoPoints = []
                        }
                      (KindVar
                         SrcSpanInfo
                           { srcInfoSpan =
                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 181 57 181 63
                           , srcInfoPoints = []
                           }
                         (UnQual
                            SrcSpanInfo
                              { srcInfoSpan =
                                  SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 181 57 181 63
                              , srcInfoPoints = []
                              }
                            (Ident
                               SrcSpanInfo
                                 { srcInfoSpan =
                                     SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 181 57 181 63
                                 , srcInfoPoints = []
                                 }
                               "KProxy")))
                      (KindVar
                         SrcSpanInfo
                           { srcInfoSpan =
                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 181 64 181 65
                           , srcInfoPoints = []
                           }
                         (UnQual
                            SrcSpanInfo
                              { srcInfoSpan =
                                  SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 181 64 181 65
                              , srcInfoPoints = []
                              }
                            (Ident
                               SrcSpanInfo
                                 { srcInfoSpan =
                                     SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 181 64 181 65
                                 , srcInfoPoints = []
                                 }
                               "k")))))))
      , FunBind
          SrcSpanInfo
            { srcInfoSpan =
                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 182 1 182 16
            , srcInfoPoints = []
            }
          [ Match
              SrcSpanInfo
                { srcInfoSpan =
                    SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 182 1 182 16
                , srcInfoPoints = []
                }
              (Ident
                 SrcSpanInfo
                   { srcInfoSpan =
                       SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 182 1 182 10
                   , srcInfoPoints = []
                   }
                 "kproxy_id")
              [ PVar
                  SrcSpanInfo
                    { srcInfoSpan =
                        SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 182 11 182 12
                    , srcInfoPoints = []
                    }
                  (Ident
                     SrcSpanInfo
                       { srcInfoSpan =
                           SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 182 11 182 12
                       , srcInfoPoints = []
                       }
                     "x")
              ]
              (UnGuardedRhs
                 SrcSpanInfo
                   { srcInfoSpan =
                       SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 182 13 182 16
                   , srcInfoPoints =
                       [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 182 13 182 14 ]
                   }
                 (Var
                    SrcSpanInfo
                      { srcInfoSpan =
                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 182 15 182 16
                      , srcInfoPoints = []
                      }
                    (UnQual
                       SrcSpanInfo
                         { srcInfoSpan =
                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 182 15 182 16
                         , srcInfoPoints = []
                         }
                       (Ident
                          SrcSpanInfo
                            { srcInfoSpan =
                                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 182 15 182 16
                            , srcInfoPoints = []
                            }
                          "x"))))
              Nothing
          ]
      , PatBind
          SrcSpanInfo
            { srcInfoSpan =
                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 184 1 184 30
            , srcInfoPoints = []
            }
          (PVar
             SrcSpanInfo
               { srcInfoSpan =
                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 184 1 184 14
               , srcInfoPoints = []
               }
             (Ident
                SrcSpanInfo
                  { srcInfoSpan =
                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 184 1 184 14
                  , srcInfoPoints = []
                  }
                "kproxy_id_use"))
          (UnGuardedRhs
             SrcSpanInfo
               { srcInfoSpan =
                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 184 15 184 30
               , srcInfoPoints =
                   [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 184 15 184 16 ]
               }
             (App
                SrcSpanInfo
                  { srcInfoSpan =
                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 184 17 184 30
                  , srcInfoPoints = []
                  }
                (Var
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 184 17 184 26
                     , srcInfoPoints = []
                     }
                   (UnQual
                      SrcSpanInfo
                        { srcInfoSpan =
                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 184 17 184 26
                        , srcInfoPoints = []
                        }
                      (Ident
                         SrcSpanInfo
                           { srcInfoSpan =
                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 184 17 184 26
                           , srcInfoPoints = []
                           }
                         "kproxy_id")))
                (Lit
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 184 27 184 30
                     , srcInfoPoints = []
                     }
                   (Char
                      SrcSpanInfo
                        { srcInfoSpan =
                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 184 27 184 30
                        , srcInfoPoints = []
                        }
                      'a'
                      "a"))))
          Nothing
      , TypeFamDecl
          SrcSpanInfo
            { srcInfoSpan =
                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 188 1 188 17
            , srcInfoPoints =
                [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 188 1 188 5
                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 188 6 188 12
                ]
            }
          (DHApp
             SrcSpanInfo
               { srcInfoSpan =
                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 188 13 188 17
               , srcInfoPoints = []
               }
             (DHead
                SrcSpanInfo
                  { srcInfoSpan =
                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 188 13 188 15
                  , srcInfoPoints = []
                  }
                (Ident
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 188 13 188 15
                     , srcInfoPoints = []
                     }
                   "Gx"))
             (UnkindedVar
                SrcSpanInfo
                  { srcInfoSpan =
                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 188 16 188 17
                  , srcInfoPoints = []
                  }
                (Ident
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 188 16 188 17
                     , srcInfoPoints = []
                     }
                   "a")))
          Nothing
          Nothing
      , TypeFamDecl
          SrcSpanInfo
            { srcInfoSpan =
                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 189 1 189 17
            , srcInfoPoints =
                [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 189 1 189 5
                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 189 6 189 12
                ]
            }
          (DHApp
             SrcSpanInfo
               { srcInfoSpan =
                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 189 13 189 17
               , srcInfoPoints = []
               }
             (DHead
                SrcSpanInfo
                  { srcInfoSpan =
                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 189 13 189 15
                  , srcInfoPoints = []
                  }
                (Ident
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 189 13 189 15
                     , srcInfoPoints = []
                     }
                   "Hx"))
             (UnkindedVar
                SrcSpanInfo
                  { srcInfoSpan =
                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 189 16 189 17
                  , srcInfoPoints = []
                  }
                (Ident
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 189 16 189 17
                     , srcInfoPoints = []
                     }
                   "a")))
          Nothing
          Nothing
      , TypeFamDecl
          SrcSpanInfo
            { srcInfoSpan =
                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 190 1 190 17
            , srcInfoPoints =
                [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 190 1 190 5
                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 190 6 190 12
                ]
            }
          (DHApp
             SrcSpanInfo
               { srcInfoSpan =
                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 190 13 190 17
               , srcInfoPoints = []
               }
             (DHead
                SrcSpanInfo
                  { srcInfoSpan =
                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 190 13 190 15
                  , srcInfoPoints = []
                  }
                (Ident
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 190 13 190 15
                     , srcInfoPoints = []
                     }
                   "Gi"))
             (UnkindedVar
                SrcSpanInfo
                  { srcInfoSpan =
                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 190 16 190 17
                  , srcInfoPoints = []
                  }
                (Ident
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 190 16 190 17
                     , srcInfoPoints = []
                     }
                   "a")))
          (Just
             (TyVarSig
                SrcSpanInfo
                  { srcInfoSpan =
                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 190 18 190 21
                  , srcInfoPoints =
                      [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 190 18 190 19 ]
                  }
                (UnkindedVar
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 190 20 190 21
                     , srcInfoPoints = []
                     }
                   (Ident
                      SrcSpanInfo
                        { srcInfoSpan =
                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 190 20 190 21
                        , srcInfoPoints = []
                        }
                      "r"))))
          (Just
             (InjectivityInfo
                SrcSpanInfo
                  { srcInfoSpan =
                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 190 22 190 30
                  , srcInfoPoints =
                      [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 190 22 190 23
                      , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 190 26 190 28
                      ]
                  }
                (Ident
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 190 24 190 25
                     , srcInfoPoints = []
                     }
                   "r")
                [ Ident
                    SrcSpanInfo
                      { srcInfoSpan =
                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 190 29 190 30
                      , srcInfoPoints = []
                      }
                    "a"
                ]))
      , TypeInsDecl
          SrcSpanInfo
            { srcInfoSpan =
                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 191 1 191 28
            , srcInfoPoints =
                [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 191 1 191 5
                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 191 6 191 14
                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 191 22 191 23
                ]
            }
          (TyApp
             SrcSpanInfo
               { srcInfoSpan =
                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 191 15 191 21
               , srcInfoPoints = []
               }
             (TyCon
                SrcSpanInfo
                  { srcInfoSpan =
                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 191 15 191 17
                  , srcInfoPoints = []
                  }
                (UnQual
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 191 15 191 17
                     , srcInfoPoints = []
                     }
                   (Ident
                      SrcSpanInfo
                        { srcInfoSpan =
                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 191 15 191 17
                        , srcInfoPoints = []
                        }
                      "Gi")))
             (TyCon
                SrcSpanInfo
                  { srcInfoSpan =
                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 191 18 191 21
                  , srcInfoPoints = []
                  }
                (UnQual
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 191 18 191 21
                     , srcInfoPoints = []
                     }
                   (Ident
                      SrcSpanInfo
                        { srcInfoSpan =
                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 191 18 191 21
                        , srcInfoPoints = []
                        }
                      "Int"))))
          (TyCon
             SrcSpanInfo
               { srcInfoSpan =
                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 191 24 191 28
               , srcInfoPoints = []
               }
             (UnQual
                SrcSpanInfo
                  { srcInfoSpan =
                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 191 24 191 28
                  , srcInfoPoints = []
                  }
                (Ident
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 191 24 191 28
                     , srcInfoPoints = []
                     }
                   "Char")))
      , TypeFamDecl
          SrcSpanInfo
            { srcInfoSpan =
                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 192 1 192 17
            , srcInfoPoints =
                [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 192 1 192 5
                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 192 6 192 12
                ]
            }
          (DHApp
             SrcSpanInfo
               { srcInfoSpan =
                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 192 13 192 17
               , srcInfoPoints = []
               }
             (DHead
                SrcSpanInfo
                  { srcInfoSpan =
                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 192 13 192 15
                  , srcInfoPoints = []
                  }
                (Ident
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 192 13 192 15
                     , srcInfoPoints = []
                     }
                   "Hi"))
             (UnkindedVar
                SrcSpanInfo
                  { srcInfoSpan =
                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 192 16 192 17
                  , srcInfoPoints = []
                  }
                (Ident
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 192 16 192 17
                     , srcInfoPoints = []
                     }
                   "a")))
          (Just
             (TyVarSig
                SrcSpanInfo
                  { srcInfoSpan =
                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 192 18 192 21
                  , srcInfoPoints =
                      [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 192 18 192 19 ]
                  }
                (UnkindedVar
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 192 20 192 21
                     , srcInfoPoints = []
                     }
                   (Ident
                      SrcSpanInfo
                        { srcInfoSpan =
                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 192 20 192 21
                        , srcInfoPoints = []
                        }
                      "r"))))
          (Just
             (InjectivityInfo
                SrcSpanInfo
                  { srcInfoSpan =
                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 192 22 192 30
                  , srcInfoPoints =
                      [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 192 22 192 23
                      , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 192 26 192 28
                      ]
                  }
                (Ident
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 192 24 192 25
                     , srcInfoPoints = []
                     }
                   "r")
                [ Ident
                    SrcSpanInfo
                      { srcInfoSpan =
                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 192 29 192 30
                      , srcInfoPoints = []
                      }
                    "a"
                ]))
      , TypeFamDecl
          SrcSpanInfo
            { srcInfoSpan =
                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 194 1 194 17
            , srcInfoPoints =
                [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 194 1 194 5
                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 194 6 194 12
                ]
            }
          (DHApp
             SrcSpanInfo
               { srcInfoSpan =
                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 194 13 194 17
               , srcInfoPoints = []
               }
             (DHead
                SrcSpanInfo
                  { srcInfoSpan =
                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 194 13 194 15
                  , srcInfoPoints = []
                  }
                (Ident
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 194 13 194 15
                     , srcInfoPoints = []
                     }
                   "F2"))
             (UnkindedVar
                SrcSpanInfo
                  { srcInfoSpan =
                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 194 16 194 17
                  , srcInfoPoints = []
                  }
                (Ident
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 194 16 194 17
                     , srcInfoPoints = []
                     }
                   "a")))
          (Just
             (TyVarSig
                SrcSpanInfo
                  { srcInfoSpan =
                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 194 18 194 21
                  , srcInfoPoints =
                      [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 194 18 194 19 ]
                  }
                (UnkindedVar
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 194 20 194 21
                     , srcInfoPoints = []
                     }
                   (Ident
                      SrcSpanInfo
                        { srcInfoSpan =
                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 194 20 194 21
                        , srcInfoPoints = []
                        }
                      "r"))))
          (Just
             (InjectivityInfo
                SrcSpanInfo
                  { srcInfoSpan =
                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 194 22 194 30
                  , srcInfoPoints =
                      [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 194 22 194 23
                      , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 194 26 194 28
                      ]
                  }
                (Ident
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 194 24 194 25
                     , srcInfoPoints = []
                     }
                   "r")
                [ Ident
                    SrcSpanInfo
                      { srcInfoSpan =
                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 194 29 194 30
                      , srcInfoPoints = []
                      }
                    "a"
                ]))
      , TypeInsDecl
          SrcSpanInfo
            { srcInfoSpan =
                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 195 1 195 36
            , srcInfoPoints =
                [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 195 1 195 5
                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 195 6 195 14
                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 195 28 195 29
                ]
            }
          (TyApp
             SrcSpanInfo
               { srcInfoSpan =
                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 195 15 195 21
               , srcInfoPoints = []
               }
             (TyCon
                SrcSpanInfo
                  { srcInfoSpan =
                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 195 15 195 17
                  , srcInfoPoints = []
                  }
                (UnQual
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 195 15 195 17
                     , srcInfoPoints = []
                     }
                   (Ident
                      SrcSpanInfo
                        { srcInfoSpan =
                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 195 15 195 17
                        , srcInfoPoints = []
                        }
                      "F2")))
             (TyList
                SrcSpanInfo
                  { srcInfoSpan =
                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 195 18 195 21
                  , srcInfoPoints =
                      [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 195 18 195 19
                      , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 195 20 195 21
                      ]
                  }
                (TyVar
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 195 19 195 20
                     , srcInfoPoints = []
                     }
                   (Ident
                      SrcSpanInfo
                        { srcInfoSpan =
                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 195 19 195 20
                        , srcInfoPoints = []
                        }
                      "a"))))
          (TyList
             SrcSpanInfo
               { srcInfoSpan =
                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 195 30 195 36
               , srcInfoPoints =
                   [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 195 30 195 31
                   , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 195 35 195 36
                   ]
               }
             (TyApp
                SrcSpanInfo
                  { srcInfoSpan =
                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 195 31 195 35
                  , srcInfoPoints = []
                  }
                (TyCon
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 195 31 195 33
                     , srcInfoPoints = []
                     }
                   (UnQual
                      SrcSpanInfo
                        { srcInfoSpan =
                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 195 31 195 33
                        , srcInfoPoints = []
                        }
                      (Ident
                         SrcSpanInfo
                           { srcInfoSpan =
                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 195 31 195 33
                           , srcInfoPoints = []
                           }
                         "Gi")))
                (TyVar
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 195 34 195 35
                     , srcInfoPoints = []
                     }
                   (Ident
                      SrcSpanInfo
                        { srcInfoSpan =
                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 195 34 195 35
                        , srcInfoPoints = []
                        }
                      "a"))))
      , TypeInsDecl
          SrcSpanInfo
            { srcInfoSpan =
                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 196 1 196 41
            , srcInfoPoints =
                [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 196 1 196 5
                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 196 6 196 14
                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 196 28 196 29
                ]
            }
          (TyApp
             SrcSpanInfo
               { srcInfoSpan =
                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 196 15 196 27
               , srcInfoPoints = []
               }
             (TyCon
                SrcSpanInfo
                  { srcInfoSpan =
                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 196 15 196 17
                  , srcInfoPoints = []
                  }
                (UnQual
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 196 15 196 17
                     , srcInfoPoints = []
                     }
                   (Ident
                      SrcSpanInfo
                        { srcInfoSpan =
                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 196 15 196 17
                        , srcInfoPoints = []
                        }
                      "F2")))
             (TyParen
                SrcSpanInfo
                  { srcInfoSpan =
                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 196 18 196 27
                  , srcInfoPoints =
                      [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 196 18 196 19
                      , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 196 26 196 27
                      ]
                  }
                (TyApp
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 196 19 196 26
                     , srcInfoPoints = []
                     }
                   (TyCon
                      SrcSpanInfo
                        { srcInfoSpan =
                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 196 19 196 24
                        , srcInfoPoints = []
                        }
                      (UnQual
                         SrcSpanInfo
                           { srcInfoSpan =
                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 196 19 196 24
                           , srcInfoPoints = []
                           }
                         (Ident
                            SrcSpanInfo
                              { srcInfoSpan =
                                  SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 196 19 196 24
                              , srcInfoPoints = []
                              }
                            "Maybe")))
                   (TyVar
                      SrcSpanInfo
                        { srcInfoSpan =
                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 196 25 196 26
                        , srcInfoPoints = []
                        }
                      (Ident
                         SrcSpanInfo
                           { srcInfoSpan =
                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 196 25 196 26
                           , srcInfoPoints = []
                           }
                         "a")))))
          (TyFun
             SrcSpanInfo
               { srcInfoSpan =
                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 196 30 196 41
               , srcInfoPoints =
                   [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 196 35 196 37 ]
               }
             (TyApp
                SrcSpanInfo
                  { srcInfoSpan =
                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 196 30 196 34
                  , srcInfoPoints = []
                  }
                (TyCon
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 196 30 196 32
                     , srcInfoPoints = []
                     }
                   (UnQual
                      SrcSpanInfo
                        { srcInfoSpan =
                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 196 30 196 32
                        , srcInfoPoints = []
                        }
                      (Ident
                         SrcSpanInfo
                           { srcInfoSpan =
                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 196 30 196 32
                           , srcInfoPoints = []
                           }
                         "Hi")))
                (TyVar
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 196 33 196 34
                     , srcInfoPoints = []
                     }
                   (Ident
                      SrcSpanInfo
                        { srcInfoSpan =
                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 196 33 196 34
                        , srcInfoPoints = []
                        }
                      "a")))
             (TyCon
                SrcSpanInfo
                  { srcInfoSpan =
                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 196 38 196 41
                  , srcInfoPoints = []
                  }
                (UnQual
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 196 38 196 41
                     , srcInfoPoints = []
                     }
                   (Ident
                      SrcSpanInfo
                        { srcInfoSpan =
                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 196 38 196 41
                        , srcInfoPoints = []
                        }
                      "Int"))))
      , TypeFamDecl
          SrcSpanInfo
            { srcInfoSpan =
                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 198 1 198 17
            , srcInfoPoints =
                [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 198 1 198 5
                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 198 6 198 12
                ]
            }
          (DHApp
             SrcSpanInfo
               { srcInfoSpan =
                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 198 13 198 17
               , srcInfoPoints = []
               }
             (DHead
                SrcSpanInfo
                  { srcInfoSpan =
                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 198 13 198 15
                  , srcInfoPoints = []
                  }
                (Ident
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 198 13 198 15
                     , srcInfoPoints = []
                     }
                   "F4"))
             (UnkindedVar
                SrcSpanInfo
                  { srcInfoSpan =
                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 198 16 198 17
                  , srcInfoPoints = []
                  }
                (Ident
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 198 16 198 17
                     , srcInfoPoints = []
                     }
                   "a")))
          (Just
             (TyVarSig
                SrcSpanInfo
                  { srcInfoSpan =
                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 198 18 198 21
                  , srcInfoPoints =
                      [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 198 18 198 19 ]
                  }
                (UnkindedVar
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 198 20 198 21
                     , srcInfoPoints = []
                     }
                   (Ident
                      SrcSpanInfo
                        { srcInfoSpan =
                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 198 20 198 21
                        , srcInfoPoints = []
                        }
                      "r"))))
          (Just
             (InjectivityInfo
                SrcSpanInfo
                  { srcInfoSpan =
                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 198 22 198 30
                  , srcInfoPoints =
                      [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 198 22 198 23
                      , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 198 26 198 28
                      ]
                  }
                (Ident
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 198 24 198 25
                     , srcInfoPoints = []
                     }
                   "r")
                [ Ident
                    SrcSpanInfo
                      { srcInfoSpan =
                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 198 29 198 30
                      , srcInfoPoints = []
                      }
                    "a"
                ]))
      , TypeInsDecl
          SrcSpanInfo
            { srcInfoSpan =
                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 199 1 199 50
            , srcInfoPoints =
                [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 199 1 199 5
                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 199 6 199 14
                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 199 28 199 29
                ]
            }
          (TyApp
             SrcSpanInfo
               { srcInfoSpan =
                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 199 15 199 21
               , srcInfoPoints = []
               }
             (TyCon
                SrcSpanInfo
                  { srcInfoSpan =
                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 199 15 199 17
                  , srcInfoPoints = []
                  }
                (UnQual
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 199 15 199 17
                     , srcInfoPoints = []
                     }
                   (Ident
                      SrcSpanInfo
                        { srcInfoSpan =
                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 199 15 199 17
                        , srcInfoPoints = []
                        }
                      "F4")))
             (TyList
                SrcSpanInfo
                  { srcInfoSpan =
                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 199 18 199 21
                  , srcInfoPoints =
                      [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 199 18 199 19
                      , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 199 20 199 21
                      ]
                  }
                (TyVar
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 199 19 199 20
                     , srcInfoPoints = []
                     }
                   (Ident
                      SrcSpanInfo
                        { srcInfoSpan =
                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 199 19 199 20
                        , srcInfoPoints = []
                        }
                      "a"))))
          (TyTuple
             SrcSpanInfo
               { srcInfoSpan =
                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 199 30 199 50
               , srcInfoPoints =
                   [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 199 30 199 31
                   , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 199 35 199 36
                   , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 199 38 199 39
                   , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 199 43 199 44
                   , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 199 49 199 50
                   ]
               }
             Boxed
             [ TyApp
                 SrcSpanInfo
                   { srcInfoSpan =
                       SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 199 31 199 35
                   , srcInfoPoints = []
                   }
                 (TyCon
                    SrcSpanInfo
                      { srcInfoSpan =
                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 199 31 199 33
                      , srcInfoPoints = []
                      }
                    (UnQual
                       SrcSpanInfo
                         { srcInfoSpan =
                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 199 31 199 33
                         , srcInfoPoints = []
                         }
                       (Ident
                          SrcSpanInfo
                            { srcInfoSpan =
                                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 199 31 199 33
                            , srcInfoPoints = []
                            }
                          "Gx")))
                 (TyVar
                    SrcSpanInfo
                      { srcInfoSpan =
                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 199 34 199 35
                      , srcInfoPoints = []
                      }
                    (Ident
                       SrcSpanInfo
                         { srcInfoSpan =
                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 199 34 199 35
                         , srcInfoPoints = []
                         }
                       "a"))
             , TyVar
                 SrcSpanInfo
                   { srcInfoSpan =
                       SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 199 37 199 38
                   , srcInfoPoints = []
                   }
                 (Ident
                    SrcSpanInfo
                      { srcInfoSpan =
                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 199 37 199 38
                      , srcInfoPoints = []
                      }
                    "a")
             , TyVar
                 SrcSpanInfo
                   { srcInfoSpan =
                       SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 199 42 199 43
                   , srcInfoPoints = []
                   }
                 (Ident
                    SrcSpanInfo
                      { srcInfoSpan =
                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 199 42 199 43
                      , srcInfoPoints = []
                      }
                    "a")
             , TyVar
                 SrcSpanInfo
                   { srcInfoSpan =
                       SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 199 48 199 49
                   , srcInfoPoints = []
                   }
                 (Ident
                    SrcSpanInfo
                      { srcInfoSpan =
                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 199 48 199 49
                      , srcInfoPoints = []
                      }
                    "a")
             ])
      , TypeInsDecl
          SrcSpanInfo
            { srcInfoSpan =
                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 200 1 200 50
            , srcInfoPoints =
                [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 200 1 200 5
                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 200 6 200 14
                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 200 28 200 29
                ]
            }
          (TyApp
             SrcSpanInfo
               { srcInfoSpan =
                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 200 15 200 27
               , srcInfoPoints = []
               }
             (TyCon
                SrcSpanInfo
                  { srcInfoSpan =
                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 200 15 200 17
                  , srcInfoPoints = []
                  }
                (UnQual
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 200 15 200 17
                     , srcInfoPoints = []
                     }
                   (Ident
                      SrcSpanInfo
                        { srcInfoSpan =
                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 200 15 200 17
                        , srcInfoPoints = []
                        }
                      "F4")))
             (TyParen
                SrcSpanInfo
                  { srcInfoSpan =
                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 200 18 200 27
                  , srcInfoPoints =
                      [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 200 18 200 19
                      , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 200 26 200 27
                      ]
                  }
                (TyApp
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 200 19 200 26
                     , srcInfoPoints = []
                     }
                   (TyCon
                      SrcSpanInfo
                        { srcInfoSpan =
                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 200 19 200 24
                        , srcInfoPoints = []
                        }
                      (UnQual
                         SrcSpanInfo
                           { srcInfoSpan =
                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 200 19 200 24
                           , srcInfoPoints = []
                           }
                         (Ident
                            SrcSpanInfo
                              { srcInfoSpan =
                                  SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 200 19 200 24
                              , srcInfoPoints = []
                              }
                            "Maybe")))
                   (TyVar
                      SrcSpanInfo
                        { srcInfoSpan =
                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 200 25 200 26
                        , srcInfoPoints = []
                        }
                      (Ident
                         SrcSpanInfo
                           { srcInfoSpan =
                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 200 25 200 26
                           , srcInfoPoints = []
                           }
                         "a")))))
          (TyTuple
             SrcSpanInfo
               { srcInfoSpan =
                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 200 30 200 50
               , srcInfoPoints =
                   [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 200 30 200 31
                   , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 200 35 200 36
                   , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 200 38 200 39
                   , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 200 43 200 44
                   , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 200 49 200 50
                   ]
               }
             Boxed
             [ TyApp
                 SrcSpanInfo
                   { srcInfoSpan =
                       SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 200 31 200 35
                   , srcInfoPoints = []
                   }
                 (TyCon
                    SrcSpanInfo
                      { srcInfoSpan =
                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 200 31 200 33
                      , srcInfoPoints = []
                      }
                    (UnQual
                       SrcSpanInfo
                         { srcInfoSpan =
                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 200 31 200 33
                         , srcInfoPoints = []
                         }
                       (Ident
                          SrcSpanInfo
                            { srcInfoSpan =
                                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 200 31 200 33
                            , srcInfoPoints = []
                            }
                          "Hx")))
                 (TyVar
                    SrcSpanInfo
                      { srcInfoSpan =
                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 200 34 200 35
                      , srcInfoPoints = []
                      }
                    (Ident
                       SrcSpanInfo
                         { srcInfoSpan =
                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 200 34 200 35
                         , srcInfoPoints = []
                         }
                       "a"))
             , TyVar
                 SrcSpanInfo
                   { srcInfoSpan =
                       SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 200 37 200 38
                   , srcInfoPoints = []
                   }
                 (Ident
                    SrcSpanInfo
                      { srcInfoSpan =
                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 200 37 200 38
                      , srcInfoPoints = []
                      }
                    "a")
             , TyCon
                 SrcSpanInfo
                   { srcInfoSpan =
                       SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 200 40 200 43
                   , srcInfoPoints = []
                   }
                 (UnQual
                    SrcSpanInfo
                      { srcInfoSpan =
                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 200 40 200 43
                      , srcInfoPoints = []
                      }
                    (Ident
                       SrcSpanInfo
                         { srcInfoSpan =
                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 200 40 200 43
                         , srcInfoPoints = []
                         }
                       "Int"))
             , TyCon
                 SrcSpanInfo
                   { srcInfoSpan =
                       SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 200 45 200 49
                   , srcInfoPoints = []
                   }
                 (UnQual
                    SrcSpanInfo
                      { srcInfoSpan =
                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 200 45 200 49
                      , srcInfoPoints = []
                      }
                    (Ident
                       SrcSpanInfo
                         { srcInfoSpan =
                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 200 45 200 49
                         , srcInfoPoints = []
                         }
                       "Bool"))
             ])
      , TypeFamDecl
          SrcSpanInfo
            { srcInfoSpan =
                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 202 1 202 19
            , srcInfoPoints =
                [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 202 1 202 5
                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 202 6 202 12
                ]
            }
          (DHApp
             SrcSpanInfo
               { srcInfoSpan =
                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 202 13 202 19
               , srcInfoPoints = []
               }
             (DHApp
                SrcSpanInfo
                  { srcInfoSpan =
                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 202 13 202 17
                  , srcInfoPoints = []
                  }
                (DHead
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 202 13 202 15
                     , srcInfoPoints = []
                     }
                   (Ident
                      SrcSpanInfo
                        { srcInfoSpan =
                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 202 13 202 15
                        , srcInfoPoints = []
                        }
                      "G2"))
                (UnkindedVar
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 202 16 202 17
                     , srcInfoPoints = []
                     }
                   (Ident
                      SrcSpanInfo
                        { srcInfoSpan =
                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 202 16 202 17
                        , srcInfoPoints = []
                        }
                      "a")))
             (UnkindedVar
                SrcSpanInfo
                  { srcInfoSpan =
                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 202 18 202 19
                  , srcInfoPoints = []
                  }
                (Ident
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 202 18 202 19
                     , srcInfoPoints = []
                     }
                   "b")))
          (Just
             (TyVarSig
                SrcSpanInfo
                  { srcInfoSpan =
                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 202 20 202 23
                  , srcInfoPoints =
                      [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 202 20 202 21 ]
                  }
                (UnkindedVar
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 202 22 202 23
                     , srcInfoPoints = []
                     }
                   (Ident
                      SrcSpanInfo
                        { srcInfoSpan =
                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 202 22 202 23
                        , srcInfoPoints = []
                        }
                      "r"))))
          (Just
             (InjectivityInfo
                SrcSpanInfo
                  { srcInfoSpan =
                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 202 24 202 32
                  , srcInfoPoints =
                      [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 202 24 202 25
                      , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 202 28 202 30
                      ]
                  }
                (Ident
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 202 26 202 27
                     , srcInfoPoints = []
                     }
                   "r")
                [ Ident
                    SrcSpanInfo
                      { srcInfoSpan =
                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 202 31 202 32
                      , srcInfoPoints = []
                      }
                    "a"
                , Ident
                    SrcSpanInfo
                      { srcInfoSpan =
                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 202 33 202 34
                      , srcInfoPoints = []
                      }
                    "b"
                ]))
      , TypeInsDecl
          SrcSpanInfo
            { srcInfoSpan =
                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 203 1 203 36
            , srcInfoPoints =
                [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 203 1 203 5
                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 203 6 203 14
                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 203 28 203 29
                ]
            }
          (TyApp
             SrcSpanInfo
               { srcInfoSpan =
                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 203 15 203 27
               , srcInfoPoints = []
               }
             (TyApp
                SrcSpanInfo
                  { srcInfoSpan =
                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 203 15 203 19
                  , srcInfoPoints = []
                  }
                (TyCon
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 203 15 203 17
                     , srcInfoPoints = []
                     }
                   (UnQual
                      SrcSpanInfo
                        { srcInfoSpan =
                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 203 15 203 17
                        , srcInfoPoints = []
                        }
                      (Ident
                         SrcSpanInfo
                           { srcInfoSpan =
                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 203 15 203 17
                           , srcInfoPoints = []
                           }
                         "G2")))
                (TyVar
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 203 18 203 19
                     , srcInfoPoints = []
                     }
                   (Ident
                      SrcSpanInfo
                        { srcInfoSpan =
                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 203 18 203 19
                        , srcInfoPoints = []
                        }
                      "a")))
             (TyCon
                SrcSpanInfo
                  { srcInfoSpan =
                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 203 23 203 27
                  , srcInfoPoints = []
                  }
                (UnQual
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 203 23 203 27
                     , srcInfoPoints = []
                     }
                   (Ident
                      SrcSpanInfo
                        { srcInfoSpan =
                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 203 23 203 27
                        , srcInfoPoints = []
                        }
                      "Bool"))))
          (TyTuple
             SrcSpanInfo
               { srcInfoSpan =
                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 203 30 203 36
               , srcInfoPoints =
                   [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 203 30 203 31
                   , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 203 32 203 33
                   , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 203 35 203 36
                   ]
               }
             Boxed
             [ TyVar
                 SrcSpanInfo
                   { srcInfoSpan =
                       SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 203 31 203 32
                   , srcInfoPoints = []
                   }
                 (Ident
                    SrcSpanInfo
                      { srcInfoSpan =
                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 203 31 203 32
                      , srcInfoPoints = []
                      }
                    "a")
             , TyVar
                 SrcSpanInfo
                   { srcInfoSpan =
                       SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 203 34 203 35
                   , srcInfoPoints = []
                   }
                 (Ident
                    SrcSpanInfo
                      { srcInfoSpan =
                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 203 34 203 35
                      , srcInfoPoints = []
                      }
                    "a")
             ])
      , TypeInsDecl
          SrcSpanInfo
            { srcInfoSpan =
                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 204 1 204 39
            , srcInfoPoints =
                [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 204 1 204 5
                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 204 6 204 14
                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 204 28 204 29
                ]
            }
          (TyApp
             SrcSpanInfo
               { srcInfoSpan =
                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 204 15 204 24
               , srcInfoPoints = []
               }
             (TyApp
                SrcSpanInfo
                  { srcInfoSpan =
                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 204 15 204 22
                  , srcInfoPoints = []
                  }
                (TyCon
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 204 15 204 17
                     , srcInfoPoints = []
                     }
                   (UnQual
                      SrcSpanInfo
                        { srcInfoSpan =
                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 204 15 204 17
                        , srcInfoPoints = []
                        }
                      (Ident
                         SrcSpanInfo
                           { srcInfoSpan =
                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 204 15 204 17
                           , srcInfoPoints = []
                           }
                         "G2")))
                (TyCon
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 204 18 204 22
                     , srcInfoPoints = []
                     }
                   (UnQual
                      SrcSpanInfo
                        { srcInfoSpan =
                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 204 18 204 22
                        , srcInfoPoints = []
                        }
                      (Ident
                         SrcSpanInfo
                           { srcInfoSpan =
                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 204 18 204 22
                           , srcInfoPoints = []
                           }
                         "Bool"))))
             (TyVar
                SrcSpanInfo
                  { srcInfoSpan =
                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 204 23 204 24
                  , srcInfoPoints = []
                  }
                (Ident
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 204 23 204 24
                     , srcInfoPoints = []
                     }
                   "b")))
          (TyTuple
             SrcSpanInfo
               { srcInfoSpan =
                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 204 30 204 39
               , srcInfoPoints =
                   [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 204 30 204 31
                   , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 204 32 204 33
                   , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 204 38 204 39
                   ]
               }
             Boxed
             [ TyVar
                 SrcSpanInfo
                   { srcInfoSpan =
                       SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 204 31 204 32
                   , srcInfoPoints = []
                   }
                 (Ident
                    SrcSpanInfo
                      { srcInfoSpan =
                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 204 31 204 32
                      , srcInfoPoints = []
                      }
                    "b")
             , TyCon
                 SrcSpanInfo
                   { srcInfoSpan =
                       SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 204 34 204 38
                   , srcInfoPoints = []
                   }
                 (UnQual
                    SrcSpanInfo
                      { srcInfoSpan =
                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 204 34 204 38
                      , srcInfoPoints = []
                      }
                    (Ident
                       SrcSpanInfo
                         { srcInfoSpan =
                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 204 34 204 38
                         , srcInfoPoints = []
                         }
                       "Bool"))
             ])
      , TypeFamDecl
          SrcSpanInfo
            { srcInfoSpan =
                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 206 1 206 17
            , srcInfoPoints =
                [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 206 1 206 5
                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 206 6 206 12
                ]
            }
          (DHApp
             SrcSpanInfo
               { srcInfoSpan =
                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 206 13 206 17
               , srcInfoPoints = []
               }
             (DHead
                SrcSpanInfo
                  { srcInfoSpan =
                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 206 13 206 15
                  , srcInfoPoints = []
                  }
                (Ident
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 206 13 206 15
                     , srcInfoPoints = []
                     }
                   "G6"))
             (UnkindedVar
                SrcSpanInfo
                  { srcInfoSpan =
                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 206 16 206 17
                  , srcInfoPoints = []
                  }
                (Ident
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 206 16 206 17
                     , srcInfoPoints = []
                     }
                   "a")))
          (Just
             (TyVarSig
                SrcSpanInfo
                  { srcInfoSpan =
                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 206 18 206 21
                  , srcInfoPoints =
                      [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 206 18 206 19 ]
                  }
                (UnkindedVar
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 206 20 206 21
                     , srcInfoPoints = []
                     }
                   (Ident
                      SrcSpanInfo
                        { srcInfoSpan =
                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 206 20 206 21
                        , srcInfoPoints = []
                        }
                      "r"))))
          (Just
             (InjectivityInfo
                SrcSpanInfo
                  { srcInfoSpan =
                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 206 22 206 30
                  , srcInfoPoints =
                      [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 206 22 206 23
                      , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 206 26 206 28
                      ]
                  }
                (Ident
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 206 24 206 25
                     , srcInfoPoints = []
                     }
                   "r")
                [ Ident
                    SrcSpanInfo
                      { srcInfoSpan =
                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 206 29 206 30
                      , srcInfoPoints = []
                      }
                    "a"
                ]))
      , TypeInsDecl
          SrcSpanInfo
            { srcInfoSpan =
                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 207 1 207 31
            , srcInfoPoints =
                [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 207 1 207 5
                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 207 6 207 14
                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 207 23 207 24
                ]
            }
          (TyApp
             SrcSpanInfo
               { srcInfoSpan =
                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 207 15 207 21
               , srcInfoPoints = []
               }
             (TyCon
                SrcSpanInfo
                  { srcInfoSpan =
                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 207 15 207 17
                  , srcInfoPoints = []
                  }
                (UnQual
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 207 15 207 17
                     , srcInfoPoints = []
                     }
                   (Ident
                      SrcSpanInfo
                        { srcInfoSpan =
                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 207 15 207 17
                        , srcInfoPoints = []
                        }
                      "G6")))
             (TyList
                SrcSpanInfo
                  { srcInfoSpan =
                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 207 18 207 21
                  , srcInfoPoints =
                      [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 207 18 207 19
                      , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 207 20 207 21
                      ]
                  }
                (TyVar
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 207 19 207 20
                     , srcInfoPoints = []
                     }
                   (Ident
                      SrcSpanInfo
                        { srcInfoSpan =
                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 207 19 207 20
                        , srcInfoPoints = []
                        }
                      "a"))))
          (TyList
             SrcSpanInfo
               { srcInfoSpan =
                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 207 25 207 31
               , srcInfoPoints =
                   [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 207 25 207 26
                   , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 207 30 207 31
                   ]
               }
             (TyApp
                SrcSpanInfo
                  { srcInfoSpan =
                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 207 26 207 30
                  , srcInfoPoints = []
                  }
                (TyCon
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 207 26 207 28
                     , srcInfoPoints = []
                     }
                   (UnQual
                      SrcSpanInfo
                        { srcInfoSpan =
                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 207 26 207 28
                        , srcInfoPoints = []
                        }
                      (Ident
                         SrcSpanInfo
                           { srcInfoSpan =
                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 207 26 207 28
                           , srcInfoPoints = []
                           }
                         "Gi")))
                (TyVar
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 207 29 207 30
                     , srcInfoPoints = []
                     }
                   (Ident
                      SrcSpanInfo
                        { srcInfoSpan =
                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 207 29 207 30
                        , srcInfoPoints = []
                        }
                      "a"))))
      , TypeInsDecl
          SrcSpanInfo
            { srcInfoSpan =
                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 208 1 208 28
            , srcInfoPoints =
                [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 208 1 208 5
                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 208 6 208 14
                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 208 23 208 24
                ]
            }
          (TyApp
             SrcSpanInfo
               { srcInfoSpan =
                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 208 15 208 22
               , srcInfoPoints = []
               }
             (TyCon
                SrcSpanInfo
                  { srcInfoSpan =
                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 208 15 208 17
                  , srcInfoPoints = []
                  }
                (UnQual
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 208 15 208 17
                     , srcInfoPoints = []
                     }
                   (Ident
                      SrcSpanInfo
                        { srcInfoSpan =
                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 208 15 208 17
                        , srcInfoPoints = []
                        }
                      "G6")))
             (TyCon
                SrcSpanInfo
                  { srcInfoSpan =
                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 208 18 208 22
                  , srcInfoPoints = []
                  }
                (UnQual
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 208 18 208 22
                     , srcInfoPoints = []
                     }
                   (Ident
                      SrcSpanInfo
                        { srcInfoSpan =
                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 208 18 208 22
                        , srcInfoPoints = []
                        }
                      "Bool"))))
          (TyCon
             SrcSpanInfo
               { srcInfoSpan =
                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 208 25 208 28
               , srcInfoPoints = []
               }
             (UnQual
                SrcSpanInfo
                  { srcInfoSpan =
                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 208 25 208 28
                  , srcInfoPoints = []
                  }
                (Ident
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 208 25 208 28
                     , srcInfoPoints = []
                     }
                   "Int")))
      , TypeSig
          SrcSpanInfo
            { srcInfoSpan =
                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 210 1 210 22
            , srcInfoPoints =
                [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 210 7 210 9 ]
            }
          [ Ident
              SrcSpanInfo
                { srcInfoSpan =
                    SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 210 1 210 6
                , srcInfoPoints = []
                }
              "g6_id"
          ]
          (TyFun
             SrcSpanInfo
               { srcInfoSpan =
                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 210 10 210 22
               , srcInfoPoints =
                   [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 210 15 210 17 ]
               }
             (TyApp
                SrcSpanInfo
                  { srcInfoSpan =
                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 210 10 210 14
                  , srcInfoPoints = []
                  }
                (TyCon
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 210 10 210 12
                     , srcInfoPoints = []
                     }
                   (UnQual
                      SrcSpanInfo
                        { srcInfoSpan =
                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 210 10 210 12
                        , srcInfoPoints = []
                        }
                      (Ident
                         SrcSpanInfo
                           { srcInfoSpan =
                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 210 10 210 12
                           , srcInfoPoints = []
                           }
                         "G6")))
                (TyVar
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 210 13 210 14
                     , srcInfoPoints = []
                     }
                   (Ident
                      SrcSpanInfo
                        { srcInfoSpan =
                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 210 13 210 14
                        , srcInfoPoints = []
                        }
                      "a")))
             (TyApp
                SrcSpanInfo
                  { srcInfoSpan =
                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 210 18 210 22
                  , srcInfoPoints = []
                  }
                (TyCon
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 210 18 210 20
                     , srcInfoPoints = []
                     }
                   (UnQual
                      SrcSpanInfo
                        { srcInfoSpan =
                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 210 18 210 20
                        , srcInfoPoints = []
                        }
                      (Ident
                         SrcSpanInfo
                           { srcInfoSpan =
                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 210 18 210 20
                           , srcInfoPoints = []
                           }
                         "G6")))
                (TyVar
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 210 21 210 22
                     , srcInfoPoints = []
                     }
                   (Ident
                      SrcSpanInfo
                        { srcInfoSpan =
                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 210 21 210 22
                        , srcInfoPoints = []
                        }
                      "a"))))
      , FunBind
          SrcSpanInfo
            { srcInfoSpan =
                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 211 1 211 12
            , srcInfoPoints = []
            }
          [ Match
              SrcSpanInfo
                { srcInfoSpan =
                    SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 211 1 211 12
                , srcInfoPoints = []
                }
              (Ident
                 SrcSpanInfo
                   { srcInfoSpan =
                       SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 211 1 211 6
                   , srcInfoPoints = []
                   }
                 "g6_id")
              [ PVar
                  SrcSpanInfo
                    { srcInfoSpan =
                        SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 211 7 211 8
                    , srcInfoPoints = []
                    }
                  (Ident
                     SrcSpanInfo
                       { srcInfoSpan =
                           SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 211 7 211 8
                       , srcInfoPoints = []
                       }
                     "x")
              ]
              (UnGuardedRhs
                 SrcSpanInfo
                   { srcInfoSpan =
                       SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 211 9 211 12
                   , srcInfoPoints =
                       [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 211 9 211 10 ]
                   }
                 (Var
                    SrcSpanInfo
                      { srcInfoSpan =
                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 211 11 211 12
                      , srcInfoPoints = []
                      }
                    (UnQual
                       SrcSpanInfo
                         { srcInfoSpan =
                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 211 11 211 12
                         , srcInfoPoints = []
                         }
                       (Ident
                          SrcSpanInfo
                            { srcInfoSpan =
                                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 211 11 211 12
                            , srcInfoPoints = []
                            }
                          "x"))))
              Nothing
          ]
      , TypeSig
          SrcSpanInfo
            { srcInfoSpan =
                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 213 1 213 17
            , srcInfoPoints =
                [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 213 8 213 10 ]
            }
          [ Ident
              SrcSpanInfo
                { srcInfoSpan =
                    SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 213 1 213 7
                , srcInfoPoints = []
                }
              "g6_use"
          ]
          (TyList
             SrcSpanInfo
               { srcInfoSpan =
                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 213 11 213 17
               , srcInfoPoints =
                   [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 213 11 213 12
                   , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 213 16 213 17
                   ]
               }
             (TyCon
                SrcSpanInfo
                  { srcInfoSpan =
                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 213 12 213 16
                  , srcInfoPoints = []
                  }
                (UnQual
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 213 12 213 16
                     , srcInfoPoints = []
                     }
                   (Ident
                      SrcSpanInfo
                        { srcInfoSpan =
                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 213 12 213 16
                        , srcInfoPoints = []
                        }
                      "Char"))))
      , PatBind
          SrcSpanInfo
            { srcInfoSpan =
                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 214 1 214 21
            , srcInfoPoints = []
            }
          (PVar
             SrcSpanInfo
               { srcInfoSpan =
                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 214 1 214 7
               , srcInfoPoints = []
               }
             (Ident
                SrcSpanInfo
                  { srcInfoSpan =
                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 214 1 214 7
                  , srcInfoPoints = []
                  }
                "g6_use"))
          (UnGuardedRhs
             SrcSpanInfo
               { srcInfoSpan =
                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 214 8 214 21
               , srcInfoPoints =
                   [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 214 8 214 9 ]
               }
             (App
                SrcSpanInfo
                  { srcInfoSpan =
                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 214 10 214 21
                  , srcInfoPoints = []
                  }
                (Var
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 214 10 214 15
                     , srcInfoPoints = []
                     }
                   (UnQual
                      SrcSpanInfo
                        { srcInfoSpan =
                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 214 10 214 15
                        , srcInfoPoints = []
                        }
                      (Ident
                         SrcSpanInfo
                           { srcInfoSpan =
                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 214 10 214 15
                           , srcInfoPoints = []
                           }
                         "g6_id")))
                (Lit
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 214 16 214 21
                     , srcInfoPoints = []
                     }
                   (String
                      SrcSpanInfo
                        { srcInfoSpan =
                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 214 16 214 21
                        , srcInfoPoints = []
                        }
                      "foo"
                      "foo"))))
          Nothing
      , TypeFamDecl
          SrcSpanInfo
            { srcInfoSpan =
                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 217 1 217 24
            , srcInfoPoints =
                [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 217 1 217 5
                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 217 6 217 12
                ]
            }
          (DHApp
             SrcSpanInfo
               { srcInfoSpan =
                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 217 13 217 24
               , srcInfoPoints = []
               }
             (DHead
                SrcSpanInfo
                  { srcInfoSpan =
                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 217 13 217 15
                  , srcInfoPoints = []
                  }
                (Ident
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 217 13 217 15
                     , srcInfoPoints = []
                     }
                   "Id"))
             (KindedVar
                SrcSpanInfo
                  { srcInfoSpan =
                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 217 16 217 24
                  , srcInfoPoints =
                      [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 217 16 217 17
                      , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 217 19 217 21
                      , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 217 23 217 24
                      ]
                  }
                (Ident
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 217 17 217 18
                     , srcInfoPoints = []
                     }
                   "a")
                (KindVar
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 217 22 217 23
                     , srcInfoPoints = []
                     }
                   (UnQual
                      SrcSpanInfo
                        { srcInfoSpan =
                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 217 22 217 23
                        , srcInfoPoints = []
                        }
                      (Ident
                         SrcSpanInfo
                           { srcInfoSpan =
                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 217 22 217 23
                           , srcInfoPoints = []
                           }
                         "k")))))
          (Just
             (TyVarSig
                SrcSpanInfo
                  { srcInfoSpan =
                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 217 25 217 40
                  , srcInfoPoints =
                      [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 217 25 217 26 ]
                  }
                (KindedVar
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 217 27 217 40
                     , srcInfoPoints =
                         [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 217 27 217 28
                         , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 217 35 217 37
                         , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 217 39 217 40
                         ]
                     }
                   (Ident
                      SrcSpanInfo
                        { srcInfoSpan =
                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 217 28 217 34
                        , srcInfoPoints = []
                        }
                      "result")
                   (KindVar
                      SrcSpanInfo
                        { srcInfoSpan =
                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 217 38 217 39
                        , srcInfoPoints = []
                        }
                      (UnQual
                         SrcSpanInfo
                           { srcInfoSpan =
                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 217 38 217 39
                           , srcInfoPoints = []
                           }
                         (Ident
                            SrcSpanInfo
                              { srcInfoSpan =
                                  SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 217 38 217 39
                              , srcInfoPoints = []
                              }
                            "k"))))))
          (Just
             (InjectivityInfo
                SrcSpanInfo
                  { srcInfoSpan =
                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 217 41 217 54
                  , srcInfoPoints =
                      [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 217 41 217 42
                      , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 217 50 217 52
                      ]
                  }
                (Ident
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 217 43 217 49
                     , srcInfoPoints = []
                     }
                   "result")
                [ Ident
                    SrcSpanInfo
                      { srcInfoSpan =
                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 217 53 217 54
                      , srcInfoPoints = []
                      }
                    "a"
                ]))
      , TypeInsDecl
          SrcSpanInfo
            { srcInfoSpan =
                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 218 1 218 23
            , srcInfoPoints =
                [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 218 1 218 5
                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 218 6 218 14
                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 218 20 218 21
                ]
            }
          (TyApp
             SrcSpanInfo
               { srcInfoSpan =
                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 218 15 218 19
               , srcInfoPoints = []
               }
             (TyCon
                SrcSpanInfo
                  { srcInfoSpan =
                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 218 15 218 17
                  , srcInfoPoints = []
                  }
                (UnQual
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 218 15 218 17
                     , srcInfoPoints = []
                     }
                   (Ident
                      SrcSpanInfo
                        { srcInfoSpan =
                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 218 15 218 17
                        , srcInfoPoints = []
                        }
                      "Id")))
             (TyVar
                SrcSpanInfo
                  { srcInfoSpan =
                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 218 18 218 19
                  , srcInfoPoints = []
                  }
                (Ident
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 218 18 218 19
                     , srcInfoPoints = []
                     }
                   "a")))
          (TyVar
             SrcSpanInfo
               { srcInfoSpan =
                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 218 22 218 23
               , srcInfoPoints = []
               }
             (Ident
                SrcSpanInfo
                  { srcInfoSpan =
                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 218 22 218 23
                  , srcInfoPoints = []
                  }
                "a"))
      , TypeFamDecl
          SrcSpanInfo
            { srcInfoSpan =
                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 222 1 222 31
            , srcInfoPoints =
                [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 222 1 222 5
                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 222 6 222 12
                ]
            }
          (DHApp
             SrcSpanInfo
               { srcInfoSpan =
                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 222 13 222 31
               , srcInfoPoints = []
               }
             (DHApp
                SrcSpanInfo
                  { srcInfoSpan =
                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 222 13 222 29
                  , srcInfoPoints = []
                  }
                (DHead
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 222 13 222 20
                     , srcInfoPoints = []
                     }
                   (Ident
                      SrcSpanInfo
                        { srcInfoSpan =
                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 222 13 222 20
                        , srcInfoPoints = []
                        }
                      "IdProxy"))
                (KindedVar
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 222 21 222 29
                     , srcInfoPoints =
                         [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 222 21 222 22
                         , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 222 24 222 26
                         , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 222 28 222 29
                         ]
                     }
                   (Ident
                      SrcSpanInfo
                        { srcInfoSpan =
                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 222 22 222 23
                        , srcInfoPoints = []
                        }
                      "a")
                   (KindVar
                      SrcSpanInfo
                        { srcInfoSpan =
                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 222 27 222 28
                        , srcInfoPoints = []
                        }
                      (UnQual
                         SrcSpanInfo
                           { srcInfoSpan =
                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 222 27 222 28
                           , srcInfoPoints = []
                           }
                         (Ident
                            SrcSpanInfo
                              { srcInfoSpan =
                                  SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 222 27 222 28
                              , srcInfoPoints = []
                              }
                            "k")))))
             (UnkindedVar
                SrcSpanInfo
                  { srcInfoSpan =
                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 222 30 222 31
                  , srcInfoPoints = []
                  }
                (Ident
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 222 30 222 31
                     , srcInfoPoints = []
                     }
                   "b")))
          (Just
             (TyVarSig
                SrcSpanInfo
                  { srcInfoSpan =
                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 222 32 222 35
                  , srcInfoPoints =
                      [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 222 32 222 33 ]
                  }
                (UnkindedVar
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 222 34 222 35
                     , srcInfoPoints = []
                     }
                   (Ident
                      SrcSpanInfo
                        { srcInfoSpan =
                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 222 34 222 35
                        , srcInfoPoints = []
                        }
                      "r"))))
          (Just
             (InjectivityInfo
                SrcSpanInfo
                  { srcInfoSpan =
                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 222 36 222 44
                  , srcInfoPoints =
                      [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 222 36 222 37
                      , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 222 40 222 42
                      ]
                  }
                (Ident
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 222 38 222 39
                     , srcInfoPoints = []
                     }
                   "r")
                [ Ident
                    SrcSpanInfo
                      { srcInfoSpan =
                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 222 43 222 44
                      , srcInfoPoints = []
                      }
                    "a"
                ]))
      , TypeInsDecl
          SrcSpanInfo
            { srcInfoSpan =
                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 223 1 223 37
            , srcInfoPoints =
                [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 223 1 223 5
                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 223 6 223 14
                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 223 27 223 28
                ]
            }
          (TyApp
             SrcSpanInfo
               { srcInfoSpan =
                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 223 15 223 26
               , srcInfoPoints = []
               }
             (TyApp
                SrcSpanInfo
                  { srcInfoSpan =
                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 223 15 223 24
                  , srcInfoPoints = []
                  }
                (TyCon
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 223 15 223 22
                     , srcInfoPoints = []
                     }
                   (UnQual
                      SrcSpanInfo
                        { srcInfoSpan =
                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 223 15 223 22
                        , srcInfoPoints = []
                        }
                      (Ident
                         SrcSpanInfo
                           { srcInfoSpan =
                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 223 15 223 22
                           , srcInfoPoints = []
                           }
                         "IdProxy")))
                (TyVar
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 223 23 223 24
                     , srcInfoPoints = []
                     }
                   (Ident
                      SrcSpanInfo
                        { srcInfoSpan =
                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 223 23 223 24
                        , srcInfoPoints = []
                        }
                      "a")))
             (TyVar
                SrcSpanInfo
                  { srcInfoSpan =
                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 223 25 223 26
                  , srcInfoPoints = []
                  }
                (Ident
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 223 25 223 26
                     , srcInfoPoints = []
                     }
                   "b")))
          (TyApp
             SrcSpanInfo
               { srcInfoSpan =
                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 223 29 223 37
               , srcInfoPoints = []
               }
             (TyParen
                SrcSpanInfo
                  { srcInfoSpan =
                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 223 29 223 35
                  , srcInfoPoints =
                      [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 223 29 223 30
                      , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 223 34 223 35
                      ]
                  }
                (TyApp
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 223 30 223 34
                     , srcInfoPoints = []
                     }
                   (TyCon
                      SrcSpanInfo
                        { srcInfoSpan =
                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 223 30 223 32
                        , srcInfoPoints = []
                        }
                      (UnQual
                         SrcSpanInfo
                           { srcInfoSpan =
                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 223 30 223 32
                           , srcInfoPoints = []
                           }
                         (Ident
                            SrcSpanInfo
                              { srcInfoSpan =
                                  SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 223 30 223 32
                              , srcInfoPoints = []
                              }
                            "Id")))
                   (TyVar
                      SrcSpanInfo
                        { srcInfoSpan =
                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 223 33 223 34
                        , srcInfoPoints = []
                        }
                      (Ident
                         SrcSpanInfo
                           { srcInfoSpan =
                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 223 33 223 34
                           , srcInfoPoints = []
                           }
                         "a"))))
             (TyVar
                SrcSpanInfo
                  { srcInfoSpan =
                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 223 36 223 37
                  , srcInfoPoints = []
                  }
                (Ident
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 223 36 223 37
                     , srcInfoPoints = []
                     }
                   "b")))
      , TypeDecl
          SrcSpanInfo
            { srcInfoSpan =
                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 226 1 226 20
            , srcInfoPoints =
                [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 226 1 226 5
                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 226 14 226 15
                ]
            }
          (DHApp
             SrcSpanInfo
               { srcInfoSpan =
                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 226 6 226 13
               , srcInfoPoints = []
               }
             (DHead
                SrcSpanInfo
                  { srcInfoSpan =
                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 226 6 226 11
                  , srcInfoPoints = []
                  }
                (Ident
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 226 6 226 11
                     , srcInfoPoints = []
                     }
                   "IdSyn"))
             (UnkindedVar
                SrcSpanInfo
                  { srcInfoSpan =
                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 226 12 226 13
                  , srcInfoPoints = []
                  }
                (Ident
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 226 12 226 13
                     , srcInfoPoints = []
                     }
                   "a")))
          (TyApp
             SrcSpanInfo
               { srcInfoSpan =
                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 226 16 226 20
               , srcInfoPoints = []
               }
             (TyCon
                SrcSpanInfo
                  { srcInfoSpan =
                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 226 16 226 18
                  , srcInfoPoints = []
                  }
                (UnQual
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 226 16 226 18
                     , srcInfoPoints = []
                     }
                   (Ident
                      SrcSpanInfo
                        { srcInfoSpan =
                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 226 16 226 18
                        , srcInfoPoints = []
                        }
                      "Id")))
             (TyVar
                SrcSpanInfo
                  { srcInfoSpan =
                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 226 19 226 20
                  , srcInfoPoints = []
                  }
                (Ident
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 226 19 226 20
                     , srcInfoPoints = []
                     }
                   "a")))
      , TypeFamDecl
          SrcSpanInfo
            { srcInfoSpan =
                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 227 1 227 34
            , srcInfoPoints =
                [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 227 1 227 5
                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 227 6 227 12
                ]
            }
          (DHApp
             SrcSpanInfo
               { srcInfoSpan =
                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 227 13 227 34
               , srcInfoPoints = []
               }
             (DHApp
                SrcSpanInfo
                  { srcInfoSpan =
                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 227 13 227 32
                  , srcInfoPoints = []
                  }
                (DHead
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 227 13 227 23
                     , srcInfoPoints = []
                     }
                   (Ident
                      SrcSpanInfo
                        { srcInfoSpan =
                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 227 13 227 23
                        , srcInfoPoints = []
                        }
                      "IdProxySyn"))
                (KindedVar
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 227 24 227 32
                     , srcInfoPoints =
                         [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 227 24 227 25
                         , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 227 27 227 29
                         , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 227 31 227 32
                         ]
                     }
                   (Ident
                      SrcSpanInfo
                        { srcInfoSpan =
                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 227 25 227 26
                        , srcInfoPoints = []
                        }
                      "a")
                   (KindVar
                      SrcSpanInfo
                        { srcInfoSpan =
                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 227 30 227 31
                        , srcInfoPoints = []
                        }
                      (UnQual
                         SrcSpanInfo
                           { srcInfoSpan =
                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 227 30 227 31
                           , srcInfoPoints = []
                           }
                         (Ident
                            SrcSpanInfo
                              { srcInfoSpan =
                                  SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 227 30 227 31
                              , srcInfoPoints = []
                              }
                            "k")))))
             (UnkindedVar
                SrcSpanInfo
                  { srcInfoSpan =
                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 227 33 227 34
                  , srcInfoPoints = []
                  }
                (Ident
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 227 33 227 34
                     , srcInfoPoints = []
                     }
                   "b")))
          (Just
             (TyVarSig
                SrcSpanInfo
                  { srcInfoSpan =
                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 227 35 227 38
                  , srcInfoPoints =
                      [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 227 35 227 36 ]
                  }
                (UnkindedVar
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 227 37 227 38
                     , srcInfoPoints = []
                     }
                   (Ident
                      SrcSpanInfo
                        { srcInfoSpan =
                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 227 37 227 38
                        , srcInfoPoints = []
                        }
                      "r"))))
          (Just
             (InjectivityInfo
                SrcSpanInfo
                  { srcInfoSpan =
                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 227 39 227 47
                  , srcInfoPoints =
                      [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 227 39 227 40
                      , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 227 43 227 45
                      ]
                  }
                (Ident
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 227 41 227 42
                     , srcInfoPoints = []
                     }
                   "r")
                [ Ident
                    SrcSpanInfo
                      { srcInfoSpan =
                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 227 46 227 47
                      , srcInfoPoints = []
                      }
                    "a"
                ]))
      , TypeInsDecl
          SrcSpanInfo
            { srcInfoSpan =
                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 228 1 228 43
            , srcInfoPoints =
                [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 228 1 228 5
                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 228 6 228 14
                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 228 30 228 31
                ]
            }
          (TyApp
             SrcSpanInfo
               { srcInfoSpan =
                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 228 15 228 29
               , srcInfoPoints = []
               }
             (TyApp
                SrcSpanInfo
                  { srcInfoSpan =
                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 228 15 228 27
                  , srcInfoPoints = []
                  }
                (TyCon
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 228 15 228 25
                     , srcInfoPoints = []
                     }
                   (UnQual
                      SrcSpanInfo
                        { srcInfoSpan =
                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 228 15 228 25
                        , srcInfoPoints = []
                        }
                      (Ident
                         SrcSpanInfo
                           { srcInfoSpan =
                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 228 15 228 25
                           , srcInfoPoints = []
                           }
                         "IdProxySyn")))
                (TyVar
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 228 26 228 27
                     , srcInfoPoints = []
                     }
                   (Ident
                      SrcSpanInfo
                        { srcInfoSpan =
                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 228 26 228 27
                        , srcInfoPoints = []
                        }
                      "a")))
             (TyVar
                SrcSpanInfo
                  { srcInfoSpan =
                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 228 28 228 29
                  , srcInfoPoints = []
                  }
                (Ident
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 228 28 228 29
                     , srcInfoPoints = []
                     }
                   "b")))
          (TyApp
             SrcSpanInfo
               { srcInfoSpan =
                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 228 32 228 43
               , srcInfoPoints = []
               }
             (TyParen
                SrcSpanInfo
                  { srcInfoSpan =
                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 228 32 228 41
                  , srcInfoPoints =
                      [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 228 32 228 33
                      , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 228 40 228 41
                      ]
                  }
                (TyApp
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 228 33 228 40
                     , srcInfoPoints = []
                     }
                   (TyCon
                      SrcSpanInfo
                        { srcInfoSpan =
                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 228 33 228 38
                        , srcInfoPoints = []
                        }
                      (UnQual
                         SrcSpanInfo
                           { srcInfoSpan =
                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 228 33 228 38
                           , srcInfoPoints = []
                           }
                         (Ident
                            SrcSpanInfo
                              { srcInfoSpan =
                                  SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 228 33 228 38
                              , srcInfoPoints = []
                              }
                            "IdSyn")))
                   (TyVar
                      SrcSpanInfo
                        { srcInfoSpan =
                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 228 39 228 40
                        , srcInfoPoints = []
                        }
                      (Ident
                         SrcSpanInfo
                           { srcInfoSpan =
                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 228 39 228 40
                           , srcInfoPoints = []
                           }
                         "a"))))
             (TyVar
                SrcSpanInfo
                  { srcInfoSpan =
                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 228 42 228 43
                  , srcInfoPoints = []
                  }
                (Ident
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 228 42 228 43
                     , srcInfoPoints = []
                     }
                   "b")))
      , TypeFamDecl
          SrcSpanInfo
            { srcInfoSpan =
                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 232 1 232 33
            , srcInfoPoints =
                [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 232 1 232 5
                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 232 6 232 12
                ]
            }
          (DHApp
             SrcSpanInfo
               { srcInfoSpan =
                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 232 13 232 33
               , srcInfoPoints = []
               }
             (DHApp
                SrcSpanInfo
                  { srcInfoSpan =
                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 232 13 232 24
                  , srcInfoPoints = []
                  }
                (DHead
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 232 13 232 15
                     , srcInfoPoints = []
                     }
                   (Ident
                      SrcSpanInfo
                        { srcInfoSpan =
                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 232 13 232 15
                        , srcInfoPoints = []
                        }
                      "Fa"))
                (KindedVar
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 232 16 232 24
                     , srcInfoPoints =
                         [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 232 16 232 17
                         , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 232 19 232 21
                         , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 232 23 232 24
                         ]
                     }
                   (Ident
                      SrcSpanInfo
                        { srcInfoSpan =
                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 232 17 232 18
                        , srcInfoPoints = []
                        }
                      "a")
                   (KindVar
                      SrcSpanInfo
                        { srcInfoSpan =
                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 232 22 232 23
                        , srcInfoPoints = []
                        }
                      (UnQual
                         SrcSpanInfo
                           { srcInfoSpan =
                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 232 22 232 23
                           , srcInfoPoints = []
                           }
                         (Ident
                            SrcSpanInfo
                              { srcInfoSpan =
                                  SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 232 22 232 23
                              , srcInfoPoints = []
                              }
                            "k")))))
             (KindedVar
                SrcSpanInfo
                  { srcInfoSpan =
                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 232 25 232 33
                  , srcInfoPoints =
                      [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 232 25 232 26
                      , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 232 28 232 30
                      , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 232 32 232 33
                      ]
                  }
                (Ident
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 232 26 232 27
                     , srcInfoPoints = []
                     }
                   "b")
                (KindVar
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 232 31 232 32
                     , srcInfoPoints = []
                     }
                   (UnQual
                      SrcSpanInfo
                        { srcInfoSpan =
                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 232 31 232 32
                        , srcInfoPoints = []
                        }
                      (Ident
                         SrcSpanInfo
                           { srcInfoSpan =
                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 232 31 232 32
                           , srcInfoPoints = []
                           }
                         "k")))))
          (Just
             (TyVarSig
                SrcSpanInfo
                  { srcInfoSpan =
                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 232 34 232 45
                  , srcInfoPoints =
                      [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 232 34 232 35 ]
                  }
                (KindedVar
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 232 36 232 45
                     , srcInfoPoints =
                         [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 232 36 232 37
                         , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 232 39 232 41
                         , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 232 44 232 45
                         ]
                     }
                   (Ident
                      SrcSpanInfo
                        { srcInfoSpan =
                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 232 37 232 38
                        , srcInfoPoints = []
                        }
                      "r")
                   (KindVar
                      SrcSpanInfo
                        { srcInfoSpan =
                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 232 42 232 44
                        , srcInfoPoints = []
                        }
                      (UnQual
                         SrcSpanInfo
                           { srcInfoSpan =
                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 232 42 232 44
                           , srcInfoPoints = []
                           }
                         (Ident
                            SrcSpanInfo
                              { srcInfoSpan =
                                  SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 232 42 232 44
                              , srcInfoPoints = []
                              }
                            "k2"))))))
          (Just
             (InjectivityInfo
                SrcSpanInfo
                  { srcInfoSpan =
                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 232 46 232 54
                  , srcInfoPoints =
                      [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 232 46 232 47
                      , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 232 50 232 52
                      ]
                  }
                (Ident
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 232 48 232 49
                     , srcInfoPoints = []
                     }
                   "r")
                [ Ident
                    SrcSpanInfo
                      { srcInfoSpan =
                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 232 53 232 54
                      , srcInfoPoints = []
                      }
                    "k"
                ]))
      , TypeInsDecl
          SrcSpanInfo
            { srcInfoSpan =
                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 233 1 233 25
            , srcInfoPoints =
                [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 233 1 233 5
                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 233 6 233 14
                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 233 22 233 23
                ]
            }
          (TyApp
             SrcSpanInfo
               { srcInfoSpan =
                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 233 15 233 21
               , srcInfoPoints = []
               }
             (TyApp
                SrcSpanInfo
                  { srcInfoSpan =
                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 233 15 233 19
                  , srcInfoPoints = []
                  }
                (TyCon
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 233 15 233 17
                     , srcInfoPoints = []
                     }
                   (UnQual
                      SrcSpanInfo
                        { srcInfoSpan =
                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 233 15 233 17
                        , srcInfoPoints = []
                        }
                      (Ident
                         SrcSpanInfo
                           { srcInfoSpan =
                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 233 15 233 17
                           , srcInfoPoints = []
                           }
                         "Fa")))
                (TyVar
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 233 18 233 19
                     , srcInfoPoints = []
                     }
                   (Ident
                      SrcSpanInfo
                        { srcInfoSpan =
                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 233 18 233 19
                        , srcInfoPoints = []
                        }
                      "a")))
             (TyVar
                SrcSpanInfo
                  { srcInfoSpan =
                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 233 20 233 21
                  , srcInfoPoints = []
                  }
                (Ident
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 233 20 233 21
                     , srcInfoPoints = []
                     }
                   "b")))
          (TyVar
             SrcSpanInfo
               { srcInfoSpan =
                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 233 24 233 25
               , srcInfoPoints = []
               }
             (Ident
                SrcSpanInfo
                  { srcInfoSpan =
                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 233 24 233 25
                  , srcInfoPoints = []
                  }
                "a"))
      , TypeFamDecl
          SrcSpanInfo
            { srcInfoSpan =
                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 236 1 236 51
            , srcInfoPoints =
                [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 236 1 236 5
                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 236 6 236 12
                ]
            }
          (DHApp
             SrcSpanInfo
               { srcInfoSpan =
                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 236 13 236 51
               , srcInfoPoints = []
               }
             (DHApp
                SrcSpanInfo
                  { srcInfoSpan =
                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 236 13 236 42
                  , srcInfoPoints = []
                  }
                (DHApp
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 236 13 236 33
                     , srcInfoPoints = []
                     }
                   (DHead
                      SrcSpanInfo
                        { srcInfoSpan =
                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 236 13 236 16
                        , srcInfoPoints = []
                        }
                      (Ident
                         SrcSpanInfo
                           { srcInfoSpan =
                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 236 13 236 16
                           , srcInfoPoints = []
                           }
                         "Arr"))
                   (KindedVar
                      SrcSpanInfo
                        { srcInfoSpan =
                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 236 17 236 33
                        , srcInfoPoints =
                            [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 236 17 236 18
                            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 236 23 236 25
                            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 236 32 236 33
                            ]
                        }
                      (Ident
                         SrcSpanInfo
                           { srcInfoSpan =
                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 236 18 236 22
                           , srcInfoPoints = []
                           }
                         "repr")
                      (KindFn
                         SrcSpanInfo
                           { srcInfoSpan =
                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 236 26 236 32
                           , srcInfoPoints =
                               [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 236 28 236 30 ]
                           }
                         (KindStar
                            SrcSpanInfo
                              { srcInfoSpan =
                                  SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 236 26 236 27
                              , srcInfoPoints = []
                              })
                         (KindStar
                            SrcSpanInfo
                              { srcInfoSpan =
                                  SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 236 31 236 32
                              , srcInfoPoints = []
                              }))))
                (KindedVar
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 236 34 236 42
                     , srcInfoPoints =
                         [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 236 34 236 35
                         , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 236 37 236 39
                         , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 236 41 236 42
                         ]
                     }
                   (Ident
                      SrcSpanInfo
                        { srcInfoSpan =
                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 236 35 236 36
                        , srcInfoPoints = []
                        }
                      "a")
                   (KindStar
                      SrcSpanInfo
                        { srcInfoSpan =
                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 236 40 236 41
                        , srcInfoPoints = []
                        })))
             (KindedVar
                SrcSpanInfo
                  { srcInfoSpan =
                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 236 43 236 51
                  , srcInfoPoints =
                      [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 236 43 236 44
                      , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 236 46 236 48
                      , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 236 50 236 51
                      ]
                  }
                (Ident
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 236 44 236 45
                     , srcInfoPoints = []
                     }
                   "b")
                (KindStar
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 236 49 236 50
                     , srcInfoPoints = []
                     })))
          (Just
             (TyVarSig
                SrcSpanInfo
                  { srcInfoSpan =
                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 236 52 236 62
                  , srcInfoPoints =
                      [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 236 52 236 53 ]
                  }
                (KindedVar
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 236 54 236 62
                     , srcInfoPoints =
                         [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 236 54 236 55
                         , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 236 57 236 59
                         , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 236 61 236 62
                         ]
                     }
                   (Ident
                      SrcSpanInfo
                        { srcInfoSpan =
                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 236 55 236 56
                        , srcInfoPoints = []
                        }
                      "r")
                   (KindStar
                      SrcSpanInfo
                        { srcInfoSpan =
                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 236 60 236 61
                        , srcInfoPoints = []
                        }))))
          (Just
             (InjectivityInfo
                SrcSpanInfo
                  { srcInfoSpan =
                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 236 63 236 74
                  , srcInfoPoints =
                      [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 236 63 236 64
                      , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 236 67 236 69
                      ]
                  }
                (Ident
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 236 65 236 66
                     , srcInfoPoints = []
                     }
                   "r")
                [ Ident
                    SrcSpanInfo
                      { srcInfoSpan =
                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 236 70 236 74
                      , srcInfoPoints = []
                      }
                    "repr"
                , Ident
                    SrcSpanInfo
                      { srcInfoSpan =
                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 236 75 236 76
                      , srcInfoPoints = []
                      }
                    "a"
                , Ident
                    SrcSpanInfo
                      { srcInfoSpan =
                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 236 77 236 78
                      , srcInfoPoints = []
                      }
                    "b"
                ]))
      , ClassDecl
          SrcSpanInfo
            { srcInfoSpan =
                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 238 1 243 51
            , srcInfoPoints =
                [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 238 1 238 6
                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 238 23 238 28
                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 239 5 239 5
                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 240 5 240 5
                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 242 5 242 5
                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 243 5 243 5
                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 245 1 245 0
                ]
            }
          Nothing
          (DHApp
             SrcSpanInfo
               { srcInfoSpan =
                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 238 7 238 22
               , srcInfoPoints = []
               }
             (DHead
                SrcSpanInfo
                  { srcInfoSpan =
                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 238 7 238 17
                  , srcInfoPoints = []
                  }
                (Ident
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 238 7 238 17
                     , srcInfoPoints = []
                     }
                   "ESymantics"))
             (UnkindedVar
                SrcSpanInfo
                  { srcInfoSpan =
                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 238 18 238 22
                  , srcInfoPoints = []
                  }
                (Ident
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 238 18 238 22
                     , srcInfoPoints = []
                     }
                   "repr")))
          []
          (Just
             [ ClsDecl
                 SrcSpanInfo
                   { srcInfoSpan =
                       SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 239 5 239 28
                   , srcInfoPoints =
                       [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 239 9 239 11 ]
                   }
                 (TypeSig
                    SrcSpanInfo
                      { srcInfoSpan =
                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 239 5 239 28
                      , srcInfoPoints =
                          [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 239 9 239 11 ]
                      }
                    [ Ident
                        SrcSpanInfo
                          { srcInfoSpan =
                              SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 239 5 239 8
                          , srcInfoPoints = []
                          }
                        "int"
                    ]
                    (TyFun
                       SrcSpanInfo
                         { srcInfoSpan =
                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 239 12 239 28
                         , srcInfoPoints =
                             [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 239 17 239 19 ]
                         }
                       (TyCon
                          SrcSpanInfo
                            { srcInfoSpan =
                                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 239 12 239 15
                            , srcInfoPoints = []
                            }
                          (UnQual
                             SrcSpanInfo
                               { srcInfoSpan =
                                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 239 12 239 15
                               , srcInfoPoints = []
                               }
                             (Ident
                                SrcSpanInfo
                                  { srcInfoSpan =
                                      SrcSpan
                                        "tests/examples/InjectiveTypeFamilies.hs" 239 12 239 15
                                  , srcInfoPoints = []
                                  }
                                "Int")))
                       (TyApp
                          SrcSpanInfo
                            { srcInfoSpan =
                                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 239 20 239 28
                            , srcInfoPoints = []
                            }
                          (TyVar
                             SrcSpanInfo
                               { srcInfoSpan =
                                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 239 20 239 24
                               , srcInfoPoints = []
                               }
                             (Ident
                                SrcSpanInfo
                                  { srcInfoSpan =
                                      SrcSpan
                                        "tests/examples/InjectiveTypeFamilies.hs" 239 20 239 24
                                  , srcInfoPoints = []
                                  }
                                "repr"))
                          (TyCon
                             SrcSpanInfo
                               { srcInfoSpan =
                                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 239 25 239 28
                               , srcInfoPoints = []
                               }
                             (UnQual
                                SrcSpanInfo
                                  { srcInfoSpan =
                                      SrcSpan
                                        "tests/examples/InjectiveTypeFamilies.hs" 239 25 239 28
                                  , srcInfoPoints = []
                                  }
                                (Ident
                                   SrcSpanInfo
                                     { srcInfoSpan =
                                         SrcSpan
                                           "tests/examples/InjectiveTypeFamilies.hs" 239 25 239 28
                                     , srcInfoPoints = []
                                     }
                                   "Int"))))))
             , ClsDecl
                 SrcSpanInfo
                   { srcInfoSpan =
                       SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 240 5 240 45
                   , srcInfoPoints =
                       [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 240 9 240 11 ]
                   }
                 (TypeSig
                    SrcSpanInfo
                      { srcInfoSpan =
                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 240 5 240 45
                      , srcInfoPoints =
                          [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 240 9 240 11 ]
                      }
                    [ Ident
                        SrcSpanInfo
                          { srcInfoSpan =
                              SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 240 5 240 8
                          , srcInfoPoints = []
                          }
                        "add"
                    ]
                    (TyFun
                       SrcSpanInfo
                         { srcInfoSpan =
                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 240 12 240 45
                         , srcInfoPoints =
                             [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 240 22 240 24 ]
                         }
                       (TyApp
                          SrcSpanInfo
                            { srcInfoSpan =
                                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 240 12 240 20
                            , srcInfoPoints = []
                            }
                          (TyVar
                             SrcSpanInfo
                               { srcInfoSpan =
                                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 240 12 240 16
                               , srcInfoPoints = []
                               }
                             (Ident
                                SrcSpanInfo
                                  { srcInfoSpan =
                                      SrcSpan
                                        "tests/examples/InjectiveTypeFamilies.hs" 240 12 240 16
                                  , srcInfoPoints = []
                                  }
                                "repr"))
                          (TyCon
                             SrcSpanInfo
                               { srcInfoSpan =
                                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 240 17 240 20
                               , srcInfoPoints = []
                               }
                             (UnQual
                                SrcSpanInfo
                                  { srcInfoSpan =
                                      SrcSpan
                                        "tests/examples/InjectiveTypeFamilies.hs" 240 17 240 20
                                  , srcInfoPoints = []
                                  }
                                (Ident
                                   SrcSpanInfo
                                     { srcInfoSpan =
                                         SrcSpan
                                           "tests/examples/InjectiveTypeFamilies.hs" 240 17 240 20
                                     , srcInfoPoints = []
                                     }
                                   "Int"))))
                       (TyFun
                          SrcSpanInfo
                            { srcInfoSpan =
                                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 240 25 240 45
                            , srcInfoPoints =
                                [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 240 34 240 36 ]
                            }
                          (TyApp
                             SrcSpanInfo
                               { srcInfoSpan =
                                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 240 25 240 33
                               , srcInfoPoints = []
                               }
                             (TyVar
                                SrcSpanInfo
                                  { srcInfoSpan =
                                      SrcSpan
                                        "tests/examples/InjectiveTypeFamilies.hs" 240 25 240 29
                                  , srcInfoPoints = []
                                  }
                                (Ident
                                   SrcSpanInfo
                                     { srcInfoSpan =
                                         SrcSpan
                                           "tests/examples/InjectiveTypeFamilies.hs" 240 25 240 29
                                     , srcInfoPoints = []
                                     }
                                   "repr"))
                             (TyCon
                                SrcSpanInfo
                                  { srcInfoSpan =
                                      SrcSpan
                                        "tests/examples/InjectiveTypeFamilies.hs" 240 30 240 33
                                  , srcInfoPoints = []
                                  }
                                (UnQual
                                   SrcSpanInfo
                                     { srcInfoSpan =
                                         SrcSpan
                                           "tests/examples/InjectiveTypeFamilies.hs" 240 30 240 33
                                     , srcInfoPoints = []
                                     }
                                   (Ident
                                      SrcSpanInfo
                                        { srcInfoSpan =
                                            SrcSpan
                                              "tests/examples/InjectiveTypeFamilies.hs"
                                              240
                                              30
                                              240
                                              33
                                        , srcInfoPoints = []
                                        }
                                      "Int"))))
                          (TyApp
                             SrcSpanInfo
                               { srcInfoSpan =
                                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 240 37 240 45
                               , srcInfoPoints = []
                               }
                             (TyVar
                                SrcSpanInfo
                                  { srcInfoSpan =
                                      SrcSpan
                                        "tests/examples/InjectiveTypeFamilies.hs" 240 37 240 41
                                  , srcInfoPoints = []
                                  }
                                (Ident
                                   SrcSpanInfo
                                     { srcInfoSpan =
                                         SrcSpan
                                           "tests/examples/InjectiveTypeFamilies.hs" 240 37 240 41
                                     , srcInfoPoints = []
                                     }
                                   "repr"))
                             (TyCon
                                SrcSpanInfo
                                  { srcInfoSpan =
                                      SrcSpan
                                        "tests/examples/InjectiveTypeFamilies.hs" 240 42 240 45
                                  , srcInfoPoints = []
                                  }
                                (UnQual
                                   SrcSpanInfo
                                     { srcInfoSpan =
                                         SrcSpan
                                           "tests/examples/InjectiveTypeFamilies.hs" 240 42 240 45
                                     , srcInfoPoints = []
                                     }
                                   (Ident
                                      SrcSpanInfo
                                        { srcInfoSpan =
                                            SrcSpan
                                              "tests/examples/InjectiveTypeFamilies.hs"
                                              240
                                              42
                                              240
                                              45
                                        , srcInfoPoints = []
                                        }
                                      "Int")))))))
             , ClsDecl
                 SrcSpanInfo
                   { srcInfoSpan =
                       SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 242 5 242 53
                   , srcInfoPoints =
                       [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 242 9 242 11 ]
                   }
                 (TypeSig
                    SrcSpanInfo
                      { srcInfoSpan =
                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 242 5 242 53
                      , srcInfoPoints =
                          [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 242 9 242 11 ]
                      }
                    [ Ident
                        SrcSpanInfo
                          { srcInfoSpan =
                              SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 242 5 242 8
                          , srcInfoPoints = []
                          }
                        "lam"
                    ]
                    (TyFun
                       SrcSpanInfo
                         { srcInfoSpan =
                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 242 12 242 53
                         , srcInfoPoints =
                             [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 242 31 242 33 ]
                         }
                       (TyParen
                          SrcSpanInfo
                            { srcInfoSpan =
                                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 242 12 242 30
                            , srcInfoPoints =
                                [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 242 12 242 13
                                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 242 29 242 30
                                ]
                            }
                          (TyFun
                             SrcSpanInfo
                               { srcInfoSpan =
                                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 242 13 242 29
                               , srcInfoPoints =
                                   [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 242 20 242 22
                                   ]
                               }
                             (TyApp
                                SrcSpanInfo
                                  { srcInfoSpan =
                                      SrcSpan
                                        "tests/examples/InjectiveTypeFamilies.hs" 242 13 242 19
                                  , srcInfoPoints = []
                                  }
                                (TyVar
                                   SrcSpanInfo
                                     { srcInfoSpan =
                                         SrcSpan
                                           "tests/examples/InjectiveTypeFamilies.hs" 242 13 242 17
                                     , srcInfoPoints = []
                                     }
                                   (Ident
                                      SrcSpanInfo
                                        { srcInfoSpan =
                                            SrcSpan
                                              "tests/examples/InjectiveTypeFamilies.hs"
                                              242
                                              13
                                              242
                                              17
                                        , srcInfoPoints = []
                                        }
                                      "repr"))
                                (TyVar
                                   SrcSpanInfo
                                     { srcInfoSpan =
                                         SrcSpan
                                           "tests/examples/InjectiveTypeFamilies.hs" 242 18 242 19
                                     , srcInfoPoints = []
                                     }
                                   (Ident
                                      SrcSpanInfo
                                        { srcInfoSpan =
                                            SrcSpan
                                              "tests/examples/InjectiveTypeFamilies.hs"
                                              242
                                              18
                                              242
                                              19
                                        , srcInfoPoints = []
                                        }
                                      "a")))
                             (TyApp
                                SrcSpanInfo
                                  { srcInfoSpan =
                                      SrcSpan
                                        "tests/examples/InjectiveTypeFamilies.hs" 242 23 242 29
                                  , srcInfoPoints = []
                                  }
                                (TyVar
                                   SrcSpanInfo
                                     { srcInfoSpan =
                                         SrcSpan
                                           "tests/examples/InjectiveTypeFamilies.hs" 242 23 242 27
                                     , srcInfoPoints = []
                                     }
                                   (Ident
                                      SrcSpanInfo
                                        { srcInfoSpan =
                                            SrcSpan
                                              "tests/examples/InjectiveTypeFamilies.hs"
                                              242
                                              23
                                              242
                                              27
                                        , srcInfoPoints = []
                                        }
                                      "repr"))
                                (TyVar
                                   SrcSpanInfo
                                     { srcInfoSpan =
                                         SrcSpan
                                           "tests/examples/InjectiveTypeFamilies.hs" 242 28 242 29
                                     , srcInfoPoints = []
                                     }
                                   (Ident
                                      SrcSpanInfo
                                        { srcInfoSpan =
                                            SrcSpan
                                              "tests/examples/InjectiveTypeFamilies.hs"
                                              242
                                              28
                                              242
                                              29
                                        , srcInfoPoints = []
                                        }
                                      "b")))))
                       (TyApp
                          SrcSpanInfo
                            { srcInfoSpan =
                                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 242 34 242 53
                            , srcInfoPoints = []
                            }
                          (TyVar
                             SrcSpanInfo
                               { srcInfoSpan =
                                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 242 34 242 38
                               , srcInfoPoints = []
                               }
                             (Ident
                                SrcSpanInfo
                                  { srcInfoSpan =
                                      SrcSpan
                                        "tests/examples/InjectiveTypeFamilies.hs" 242 34 242 38
                                  , srcInfoPoints = []
                                  }
                                "repr"))
                          (TyParen
                             SrcSpanInfo
                               { srcInfoSpan =
                                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 242 39 242 53
                               , srcInfoPoints =
                                   [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 242 39 242 40
                                   , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 242 52 242 53
                                   ]
                               }
                             (TyApp
                                SrcSpanInfo
                                  { srcInfoSpan =
                                      SrcSpan
                                        "tests/examples/InjectiveTypeFamilies.hs" 242 40 242 52
                                  , srcInfoPoints = []
                                  }
                                (TyApp
                                   SrcSpanInfo
                                     { srcInfoSpan =
                                         SrcSpan
                                           "tests/examples/InjectiveTypeFamilies.hs" 242 40 242 50
                                     , srcInfoPoints = []
                                     }
                                   (TyApp
                                      SrcSpanInfo
                                        { srcInfoSpan =
                                            SrcSpan
                                              "tests/examples/InjectiveTypeFamilies.hs"
                                              242
                                              40
                                              242
                                              48
                                        , srcInfoPoints = []
                                        }
                                      (TyCon
                                         SrcSpanInfo
                                           { srcInfoSpan =
                                               SrcSpan
                                                 "tests/examples/InjectiveTypeFamilies.hs"
                                                 242
                                                 40
                                                 242
                                                 43
                                           , srcInfoPoints = []
                                           }
                                         (UnQual
                                            SrcSpanInfo
                                              { srcInfoSpan =
                                                  SrcSpan
                                                    "tests/examples/InjectiveTypeFamilies.hs"
                                                    242
                                                    40
                                                    242
                                                    43
                                              , srcInfoPoints = []
                                              }
                                            (Ident
                                               SrcSpanInfo
                                                 { srcInfoSpan =
                                                     SrcSpan
                                                       "tests/examples/InjectiveTypeFamilies.hs"
                                                       242
                                                       40
                                                       242
                                                       43
                                                 , srcInfoPoints = []
                                                 }
                                               "Arr")))
                                      (TyVar
                                         SrcSpanInfo
                                           { srcInfoSpan =
                                               SrcSpan
                                                 "tests/examples/InjectiveTypeFamilies.hs"
                                                 242
                                                 44
                                                 242
                                                 48
                                           , srcInfoPoints = []
                                           }
                                         (Ident
                                            SrcSpanInfo
                                              { srcInfoSpan =
                                                  SrcSpan
                                                    "tests/examples/InjectiveTypeFamilies.hs"
                                                    242
                                                    44
                                                    242
                                                    48
                                              , srcInfoPoints = []
                                              }
                                            "repr")))
                                   (TyVar
                                      SrcSpanInfo
                                        { srcInfoSpan =
                                            SrcSpan
                                              "tests/examples/InjectiveTypeFamilies.hs"
                                              242
                                              49
                                              242
                                              50
                                        , srcInfoPoints = []
                                        }
                                      (Ident
                                         SrcSpanInfo
                                           { srcInfoSpan =
                                               SrcSpan
                                                 "tests/examples/InjectiveTypeFamilies.hs"
                                                 242
                                                 49
                                                 242
                                                 50
                                           , srcInfoPoints = []
                                           }
                                         "a")))
                                (TyVar
                                   SrcSpanInfo
                                     { srcInfoSpan =
                                         SrcSpan
                                           "tests/examples/InjectiveTypeFamilies.hs" 242 51 242 52
                                     , srcInfoPoints = []
                                     }
                                   (Ident
                                      SrcSpanInfo
                                        { srcInfoSpan =
                                            SrcSpan
                                              "tests/examples/InjectiveTypeFamilies.hs"
                                              242
                                              51
                                              242
                                              52
                                        , srcInfoPoints = []
                                        }
                                      "b")))))))
             , ClsDecl
                 SrcSpanInfo
                   { srcInfoSpan =
                       SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 243 5 243 51
                   , srcInfoPoints =
                       [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 243 9 243 11 ]
                   }
                 (TypeSig
                    SrcSpanInfo
                      { srcInfoSpan =
                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 243 5 243 51
                      , srcInfoPoints =
                          [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 243 9 243 11 ]
                      }
                    [ Ident
                        SrcSpanInfo
                          { srcInfoSpan =
                              SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 243 5 243 8
                          , srcInfoPoints = []
                          }
                        "app"
                    ]
                    (TyFun
                       SrcSpanInfo
                         { srcInfoSpan =
                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 243 12 243 51
                         , srcInfoPoints =
                             [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 243 32 243 34 ]
                         }
                       (TyApp
                          SrcSpanInfo
                            { srcInfoSpan =
                                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 243 12 243 31
                            , srcInfoPoints = []
                            }
                          (TyVar
                             SrcSpanInfo
                               { srcInfoSpan =
                                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 243 12 243 16
                               , srcInfoPoints = []
                               }
                             (Ident
                                SrcSpanInfo
                                  { srcInfoSpan =
                                      SrcSpan
                                        "tests/examples/InjectiveTypeFamilies.hs" 243 12 243 16
                                  , srcInfoPoints = []
                                  }
                                "repr"))
                          (TyParen
                             SrcSpanInfo
                               { srcInfoSpan =
                                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 243 17 243 31
                               , srcInfoPoints =
                                   [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 243 17 243 18
                                   , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 243 30 243 31
                                   ]
                               }
                             (TyApp
                                SrcSpanInfo
                                  { srcInfoSpan =
                                      SrcSpan
                                        "tests/examples/InjectiveTypeFamilies.hs" 243 18 243 30
                                  , srcInfoPoints = []
                                  }
                                (TyApp
                                   SrcSpanInfo
                                     { srcInfoSpan =
                                         SrcSpan
                                           "tests/examples/InjectiveTypeFamilies.hs" 243 18 243 28
                                     , srcInfoPoints = []
                                     }
                                   (TyApp
                                      SrcSpanInfo
                                        { srcInfoSpan =
                                            SrcSpan
                                              "tests/examples/InjectiveTypeFamilies.hs"
                                              243
                                              18
                                              243
                                              26
                                        , srcInfoPoints = []
                                        }
                                      (TyCon
                                         SrcSpanInfo
                                           { srcInfoSpan =
                                               SrcSpan
                                                 "tests/examples/InjectiveTypeFamilies.hs"
                                                 243
                                                 18
                                                 243
                                                 21
                                           , srcInfoPoints = []
                                           }
                                         (UnQual
                                            SrcSpanInfo
                                              { srcInfoSpan =
                                                  SrcSpan
                                                    "tests/examples/InjectiveTypeFamilies.hs"
                                                    243
                                                    18
                                                    243
                                                    21
                                              , srcInfoPoints = []
                                              }
                                            (Ident
                                               SrcSpanInfo
                                                 { srcInfoSpan =
                                                     SrcSpan
                                                       "tests/examples/InjectiveTypeFamilies.hs"
                                                       243
                                                       18
                                                       243
                                                       21
                                                 , srcInfoPoints = []
                                                 }
                                               "Arr")))
                                      (TyVar
                                         SrcSpanInfo
                                           { srcInfoSpan =
                                               SrcSpan
                                                 "tests/examples/InjectiveTypeFamilies.hs"
                                                 243
                                                 22
                                                 243
                                                 26
                                           , srcInfoPoints = []
                                           }
                                         (Ident
                                            SrcSpanInfo
                                              { srcInfoSpan =
                                                  SrcSpan
                                                    "tests/examples/InjectiveTypeFamilies.hs"
                                                    243
                                                    22
                                                    243
                                                    26
                                              , srcInfoPoints = []
                                              }
                                            "repr")))
                                   (TyVar
                                      SrcSpanInfo
                                        { srcInfoSpan =
                                            SrcSpan
                                              "tests/examples/InjectiveTypeFamilies.hs"
                                              243
                                              27
                                              243
                                              28
                                        , srcInfoPoints = []
                                        }
                                      (Ident
                                         SrcSpanInfo
                                           { srcInfoSpan =
                                               SrcSpan
                                                 "tests/examples/InjectiveTypeFamilies.hs"
                                                 243
                                                 27
                                                 243
                                                 28
                                           , srcInfoPoints = []
                                           }
                                         "a")))
                                (TyVar
                                   SrcSpanInfo
                                     { srcInfoSpan =
                                         SrcSpan
                                           "tests/examples/InjectiveTypeFamilies.hs" 243 29 243 30
                                     , srcInfoPoints = []
                                     }
                                   (Ident
                                      SrcSpanInfo
                                        { srcInfoSpan =
                                            SrcSpan
                                              "tests/examples/InjectiveTypeFamilies.hs"
                                              243
                                              29
                                              243
                                              30
                                        , srcInfoPoints = []
                                        }
                                      "b")))))
                       (TyFun
                          SrcSpanInfo
                            { srcInfoSpan =
                                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 243 35 243 51
                            , srcInfoPoints =
                                [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 243 42 243 44 ]
                            }
                          (TyApp
                             SrcSpanInfo
                               { srcInfoSpan =
                                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 243 35 243 41
                               , srcInfoPoints = []
                               }
                             (TyVar
                                SrcSpanInfo
                                  { srcInfoSpan =
                                      SrcSpan
                                        "tests/examples/InjectiveTypeFamilies.hs" 243 35 243 39
                                  , srcInfoPoints = []
                                  }
                                (Ident
                                   SrcSpanInfo
                                     { srcInfoSpan =
                                         SrcSpan
                                           "tests/examples/InjectiveTypeFamilies.hs" 243 35 243 39
                                     , srcInfoPoints = []
                                     }
                                   "repr"))
                             (TyVar
                                SrcSpanInfo
                                  { srcInfoSpan =
                                      SrcSpan
                                        "tests/examples/InjectiveTypeFamilies.hs" 243 40 243 41
                                  , srcInfoPoints = []
                                  }
                                (Ident
                                   SrcSpanInfo
                                     { srcInfoSpan =
                                         SrcSpan
                                           "tests/examples/InjectiveTypeFamilies.hs" 243 40 243 41
                                     , srcInfoPoints = []
                                     }
                                   "a")))
                          (TyApp
                             SrcSpanInfo
                               { srcInfoSpan =
                                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 243 45 243 51
                               , srcInfoPoints = []
                               }
                             (TyVar
                                SrcSpanInfo
                                  { srcInfoSpan =
                                      SrcSpan
                                        "tests/examples/InjectiveTypeFamilies.hs" 243 45 243 49
                                  , srcInfoPoints = []
                                  }
                                (Ident
                                   SrcSpanInfo
                                     { srcInfoSpan =
                                         SrcSpan
                                           "tests/examples/InjectiveTypeFamilies.hs" 243 45 243 49
                                     , srcInfoPoints = []
                                     }
                                   "repr"))
                             (TyVar
                                SrcSpanInfo
                                  { srcInfoSpan =
                                      SrcSpan
                                        "tests/examples/InjectiveTypeFamilies.hs" 243 50 243 51
                                  , srcInfoPoints = []
                                  }
                                (Ident
                                   SrcSpanInfo
                                     { srcInfoSpan =
                                         SrcSpan
                                           "tests/examples/InjectiveTypeFamilies.hs" 243 50 243 51
                                     , srcInfoPoints = []
                                     }
                                   "b"))))))
             ])
      , PatBind
          SrcSpanInfo
            { srcInfoSpan =
                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 245 1 246 63
            , srcInfoPoints = []
            }
          (PVar
             SrcSpanInfo
               { srcInfoSpan =
                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 245 1 245 4
               , srcInfoPoints = []
               }
             (Ident
                SrcSpanInfo
                  { srcInfoSpan =
                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 245 1 245 4
                  , srcInfoPoints = []
                  }
                "te4"))
          (UnGuardedRhs
             SrcSpanInfo
               { srcInfoSpan =
                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 245 5 246 63
               , srcInfoPoints =
                   [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 245 5 245 6 ]
               }
             (Let
                SrcSpanInfo
                  { srcInfoSpan =
                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 245 7 246 63
                  , srcInfoPoints =
                      [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 245 7 245 10
                      , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 246 7 246 9
                      ]
                  }
                (BDecls
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 245 11 245 69
                     , srcInfoPoints =
                         [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 245 11 245 11
                         , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 246 7 246 0
                         ]
                     }
                   [ PatBind
                       SrcSpanInfo
                         { srcInfoSpan =
                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 245 11 245 69
                         , srcInfoPoints = []
                         }
                       (PVar
                          SrcSpanInfo
                            { srcInfoSpan =
                                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 245 11 245 13
                            , srcInfoPoints = []
                            }
                          (Ident
                             SrcSpanInfo
                               { srcInfoSpan =
                                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 245 11 245 13
                               , srcInfoPoints = []
                               }
                             "c3"))
                       (UnGuardedRhs
                          SrcSpanInfo
                            { srcInfoSpan =
                                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 245 14 245 69
                            , srcInfoPoints =
                                [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 245 14 245 15 ]
                            }
                          (App
                             SrcSpanInfo
                               { srcInfoSpan =
                                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 245 16 245 69
                               , srcInfoPoints = []
                               }
                             (Var
                                SrcSpanInfo
                                  { srcInfoSpan =
                                      SrcSpan
                                        "tests/examples/InjectiveTypeFamilies.hs" 245 16 245 19
                                  , srcInfoPoints = []
                                  }
                                (UnQual
                                   SrcSpanInfo
                                     { srcInfoSpan =
                                         SrcSpan
                                           "tests/examples/InjectiveTypeFamilies.hs" 245 16 245 19
                                     , srcInfoPoints = []
                                     }
                                   (Ident
                                      SrcSpanInfo
                                        { srcInfoSpan =
                                            SrcSpan
                                              "tests/examples/InjectiveTypeFamilies.hs"
                                              245
                                              16
                                              245
                                              19
                                        , srcInfoPoints = []
                                        }
                                      "lam")))
                             (Paren
                                SrcSpanInfo
                                  { srcInfoSpan =
                                      SrcSpan
                                        "tests/examples/InjectiveTypeFamilies.hs" 245 20 245 69
                                  , srcInfoPoints =
                                      [ SrcSpan
                                          "tests/examples/InjectiveTypeFamilies.hs" 245 20 245 21
                                      , SrcSpan
                                          "tests/examples/InjectiveTypeFamilies.hs" 245 68 245 69
                                      ]
                                  }
                                (Lambda
                                   SrcSpanInfo
                                     { srcInfoSpan =
                                         SrcSpan
                                           "tests/examples/InjectiveTypeFamilies.hs" 245 21 245 68
                                     , srcInfoPoints =
                                         [ SrcSpan
                                             "tests/examples/InjectiveTypeFamilies.hs" 245 21 245 22
                                         , SrcSpan
                                             "tests/examples/InjectiveTypeFamilies.hs" 245 24 245 26
                                         ]
                                     }
                                   [ PVar
                                       SrcSpanInfo
                                         { srcInfoSpan =
                                             SrcSpan
                                               "tests/examples/InjectiveTypeFamilies.hs"
                                               245
                                               22
                                               245
                                               23
                                         , srcInfoPoints = []
                                         }
                                       (Ident
                                          SrcSpanInfo
                                            { srcInfoSpan =
                                                SrcSpan
                                                  "tests/examples/InjectiveTypeFamilies.hs"
                                                  245
                                                  22
                                                  245
                                                  23
                                            , srcInfoPoints = []
                                            }
                                          "f")
                                   ]
                                   (App
                                      SrcSpanInfo
                                        { srcInfoSpan =
                                            SrcSpan
                                              "tests/examples/InjectiveTypeFamilies.hs"
                                              245
                                              27
                                              245
                                              68
                                        , srcInfoPoints = []
                                        }
                                      (Var
                                         SrcSpanInfo
                                           { srcInfoSpan =
                                               SrcSpan
                                                 "tests/examples/InjectiveTypeFamilies.hs"
                                                 245
                                                 27
                                                 245
                                                 30
                                           , srcInfoPoints = []
                                           }
                                         (UnQual
                                            SrcSpanInfo
                                              { srcInfoSpan =
                                                  SrcSpan
                                                    "tests/examples/InjectiveTypeFamilies.hs"
                                                    245
                                                    27
                                                    245
                                                    30
                                              , srcInfoPoints = []
                                              }
                                            (Ident
                                               SrcSpanInfo
                                                 { srcInfoSpan =
                                                     SrcSpan
                                                       "tests/examples/InjectiveTypeFamilies.hs"
                                                       245
                                                       27
                                                       245
                                                       30
                                                 , srcInfoPoints = []
                                                 }
                                               "lam")))
                                      (Paren
                                         SrcSpanInfo
                                           { srcInfoSpan =
                                               SrcSpan
                                                 "tests/examples/InjectiveTypeFamilies.hs"
                                                 245
                                                 31
                                                 245
                                                 68
                                           , srcInfoPoints =
                                               [ SrcSpan
                                                   "tests/examples/InjectiveTypeFamilies.hs"
                                                   245
                                                   31
                                                   245
                                                   32
                                               , SrcSpan
                                                   "tests/examples/InjectiveTypeFamilies.hs"
                                                   245
                                                   67
                                                   245
                                                   68
                                               ]
                                           }
                                         (Lambda
                                            SrcSpanInfo
                                              { srcInfoSpan =
                                                  SrcSpan
                                                    "tests/examples/InjectiveTypeFamilies.hs"
                                                    245
                                                    32
                                                    245
                                                    67
                                              , srcInfoPoints =
                                                  [ SrcSpan
                                                      "tests/examples/InjectiveTypeFamilies.hs"
                                                      245
                                                      32
                                                      245
                                                      33
                                                  , SrcSpan
                                                      "tests/examples/InjectiveTypeFamilies.hs"
                                                      245
                                                      35
                                                      245
                                                      37
                                                  ]
                                              }
                                            [ PVar
                                                SrcSpanInfo
                                                  { srcInfoSpan =
                                                      SrcSpan
                                                        "tests/examples/InjectiveTypeFamilies.hs"
                                                        245
                                                        33
                                                        245
                                                        34
                                                  , srcInfoPoints = []
                                                  }
                                                (Ident
                                                   SrcSpanInfo
                                                     { srcInfoSpan =
                                                         SrcSpan
                                                           "tests/examples/InjectiveTypeFamilies.hs"
                                                           245
                                                           33
                                                           245
                                                           34
                                                     , srcInfoPoints = []
                                                     }
                                                   "x")
                                            ]
                                            (InfixApp
                                               SrcSpanInfo
                                                 { srcInfoSpan =
                                                     SrcSpan
                                                       "tests/examples/InjectiveTypeFamilies.hs"
                                                       245
                                                       38
                                                       245
                                                       67
                                                 , srcInfoPoints = []
                                                 }
                                               (Var
                                                  SrcSpanInfo
                                                    { srcInfoSpan =
                                                        SrcSpan
                                                          "tests/examples/InjectiveTypeFamilies.hs"
                                                          245
                                                          38
                                                          245
                                                          39
                                                    , srcInfoPoints = []
                                                    }
                                                  (UnQual
                                                     SrcSpanInfo
                                                       { srcInfoSpan =
                                                           SrcSpan
                                                             "tests/examples/InjectiveTypeFamilies.hs"
                                                             245
                                                             38
                                                             245
                                                             39
                                                       , srcInfoPoints = []
                                                       }
                                                     (Ident
                                                        SrcSpanInfo
                                                          { srcInfoSpan =
                                                              SrcSpan
                                                                "tests/examples/InjectiveTypeFamilies.hs"
                                                                245
                                                                38
                                                                245
                                                                39
                                                          , srcInfoPoints = []
                                                          }
                                                        "f")))
                                               (QVarOp
                                                  SrcSpanInfo
                                                    { srcInfoSpan =
                                                        SrcSpan
                                                          "tests/examples/InjectiveTypeFamilies.hs"
                                                          245
                                                          40
                                                          245
                                                          45
                                                    , srcInfoPoints =
                                                        [ SrcSpan
                                                            "tests/examples/InjectiveTypeFamilies.hs"
                                                            245
                                                            40
                                                            245
                                                            41
                                                        , SrcSpan
                                                            "tests/examples/InjectiveTypeFamilies.hs"
                                                            245
                                                            41
                                                            245
                                                            44
                                                        , SrcSpan
                                                            "tests/examples/InjectiveTypeFamilies.hs"
                                                            245
                                                            44
                                                            245
                                                            45
                                                        ]
                                                    }
                                                  (UnQual
                                                     SrcSpanInfo
                                                       { srcInfoSpan =
                                                           SrcSpan
                                                             "tests/examples/InjectiveTypeFamilies.hs"
                                                             245
                                                             40
                                                             245
                                                             45
                                                       , srcInfoPoints =
                                                           [ SrcSpan
                                                               "tests/examples/InjectiveTypeFamilies.hs"
                                                               245
                                                               40
                                                               245
                                                               41
                                                           , SrcSpan
                                                               "tests/examples/InjectiveTypeFamilies.hs"
                                                               245
                                                               41
                                                               245
                                                               44
                                                           , SrcSpan
                                                               "tests/examples/InjectiveTypeFamilies.hs"
                                                               245
                                                               44
                                                               245
                                                               45
                                                           ]
                                                       }
                                                     (Ident
                                                        SrcSpanInfo
                                                          { srcInfoSpan =
                                                              SrcSpan
                                                                "tests/examples/InjectiveTypeFamilies.hs"
                                                                245
                                                                41
                                                                245
                                                                44
                                                          , srcInfoPoints = []
                                                          }
                                                        "app")))
                                               (Paren
                                                  SrcSpanInfo
                                                    { srcInfoSpan =
                                                        SrcSpan
                                                          "tests/examples/InjectiveTypeFamilies.hs"
                                                          245
                                                          46
                                                          245
                                                          67
                                                    , srcInfoPoints =
                                                        [ SrcSpan
                                                            "tests/examples/InjectiveTypeFamilies.hs"
                                                            245
                                                            46
                                                            245
                                                            47
                                                        , SrcSpan
                                                            "tests/examples/InjectiveTypeFamilies.hs"
                                                            245
                                                            66
                                                            245
                                                            67
                                                        ]
                                                    }
                                                  (InfixApp
                                                     SrcSpanInfo
                                                       { srcInfoSpan =
                                                           SrcSpan
                                                             "tests/examples/InjectiveTypeFamilies.hs"
                                                             245
                                                             47
                                                             245
                                                             66
                                                       , srcInfoPoints = []
                                                       }
                                                     (Var
                                                        SrcSpanInfo
                                                          { srcInfoSpan =
                                                              SrcSpan
                                                                "tests/examples/InjectiveTypeFamilies.hs"
                                                                245
                                                                47
                                                                245
                                                                48
                                                          , srcInfoPoints = []
                                                          }
                                                        (UnQual
                                                           SrcSpanInfo
                                                             { srcInfoSpan =
                                                                 SrcSpan
                                                                   "tests/examples/InjectiveTypeFamilies.hs"
                                                                   245
                                                                   47
                                                                   245
                                                                   48
                                                             , srcInfoPoints = []
                                                             }
                                                           (Ident
                                                              SrcSpanInfo
                                                                { srcInfoSpan =
                                                                    SrcSpan
                                                                      "tests/examples/InjectiveTypeFamilies.hs"
                                                                      245
                                                                      47
                                                                      245
                                                                      48
                                                                , srcInfoPoints = []
                                                                }
                                                              "f")))
                                                     (QVarOp
                                                        SrcSpanInfo
                                                          { srcInfoSpan =
                                                              SrcSpan
                                                                "tests/examples/InjectiveTypeFamilies.hs"
                                                                245
                                                                49
                                                                245
                                                                54
                                                          , srcInfoPoints =
                                                              [ SrcSpan
                                                                  "tests/examples/InjectiveTypeFamilies.hs"
                                                                  245
                                                                  49
                                                                  245
                                                                  50
                                                              , SrcSpan
                                                                  "tests/examples/InjectiveTypeFamilies.hs"
                                                                  245
                                                                  50
                                                                  245
                                                                  53
                                                              , SrcSpan
                                                                  "tests/examples/InjectiveTypeFamilies.hs"
                                                                  245
                                                                  53
                                                                  245
                                                                  54
                                                              ]
                                                          }
                                                        (UnQual
                                                           SrcSpanInfo
                                                             { srcInfoSpan =
                                                                 SrcSpan
                                                                   "tests/examples/InjectiveTypeFamilies.hs"
                                                                   245
                                                                   49
                                                                   245
                                                                   54
                                                             , srcInfoPoints =
                                                                 [ SrcSpan
                                                                     "tests/examples/InjectiveTypeFamilies.hs"
                                                                     245
                                                                     49
                                                                     245
                                                                     50
                                                                 , SrcSpan
                                                                     "tests/examples/InjectiveTypeFamilies.hs"
                                                                     245
                                                                     50
                                                                     245
                                                                     53
                                                                 , SrcSpan
                                                                     "tests/examples/InjectiveTypeFamilies.hs"
                                                                     245
                                                                     53
                                                                     245
                                                                     54
                                                                 ]
                                                             }
                                                           (Ident
                                                              SrcSpanInfo
                                                                { srcInfoSpan =
                                                                    SrcSpan
                                                                      "tests/examples/InjectiveTypeFamilies.hs"
                                                                      245
                                                                      50
                                                                      245
                                                                      53
                                                                , srcInfoPoints = []
                                                                }
                                                              "app")))
                                                     (Paren
                                                        SrcSpanInfo
                                                          { srcInfoSpan =
                                                              SrcSpan
                                                                "tests/examples/InjectiveTypeFamilies.hs"
                                                                245
                                                                55
                                                                245
                                                                66
                                                          , srcInfoPoints =
                                                              [ SrcSpan
                                                                  "tests/examples/InjectiveTypeFamilies.hs"
                                                                  245
                                                                  55
                                                                  245
                                                                  56
                                                              , SrcSpan
                                                                  "tests/examples/InjectiveTypeFamilies.hs"
                                                                  245
                                                                  65
                                                                  245
                                                                  66
                                                              ]
                                                          }
                                                        (InfixApp
                                                           SrcSpanInfo
                                                             { srcInfoSpan =
                                                                 SrcSpan
                                                                   "tests/examples/InjectiveTypeFamilies.hs"
                                                                   245
                                                                   56
                                                                   245
                                                                   65
                                                             , srcInfoPoints = []
                                                             }
                                                           (Var
                                                              SrcSpanInfo
                                                                { srcInfoSpan =
                                                                    SrcSpan
                                                                      "tests/examples/InjectiveTypeFamilies.hs"
                                                                      245
                                                                      56
                                                                      245
                                                                      57
                                                                , srcInfoPoints = []
                                                                }
                                                              (UnQual
                                                                 SrcSpanInfo
                                                                   { srcInfoSpan =
                                                                       SrcSpan
                                                                         "tests/examples/InjectiveTypeFamilies.hs"
                                                                         245
                                                                         56
                                                                         245
                                                                         57
                                                                   , srcInfoPoints = []
                                                                   }
                                                                 (Ident
                                                                    SrcSpanInfo
                                                                      { srcInfoSpan =
                                                                          SrcSpan
                                                                            "tests/examples/InjectiveTypeFamilies.hs"
                                                                            245
                                                                            56
                                                                            245
                                                                            57
                                                                      , srcInfoPoints = []
                                                                      }
                                                                    "f")))
                                                           (QVarOp
                                                              SrcSpanInfo
                                                                { srcInfoSpan =
                                                                    SrcSpan
                                                                      "tests/examples/InjectiveTypeFamilies.hs"
                                                                      245
                                                                      58
                                                                      245
                                                                      63
                                                                , srcInfoPoints =
                                                                    [ SrcSpan
                                                                        "tests/examples/InjectiveTypeFamilies.hs"
                                                                        245
                                                                        58
                                                                        245
                                                                        59
                                                                    , SrcSpan
                                                                        "tests/examples/InjectiveTypeFamilies.hs"
                                                                        245
                                                                        59
                                                                        245
                                                                        62
                                                                    , SrcSpan
                                                                        "tests/examples/InjectiveTypeFamilies.hs"
                                                                        245
                                                                        62
                                                                        245
                                                                        63
                                                                    ]
                                                                }
                                                              (UnQual
                                                                 SrcSpanInfo
                                                                   { srcInfoSpan =
                                                                       SrcSpan
                                                                         "tests/examples/InjectiveTypeFamilies.hs"
                                                                         245
                                                                         58
                                                                         245
                                                                         63
                                                                   , srcInfoPoints =
                                                                       [ SrcSpan
                                                                           "tests/examples/InjectiveTypeFamilies.hs"
                                                                           245
                                                                           58
                                                                           245
                                                                           59
                                                                       , SrcSpan
                                                                           "tests/examples/InjectiveTypeFamilies.hs"
                                                                           245
                                                                           59
                                                                           245
                                                                           62
                                                                       , SrcSpan
                                                                           "tests/examples/InjectiveTypeFamilies.hs"
                                                                           245
                                                                           62
                                                                           245
                                                                           63
                                                                       ]
                                                                   }
                                                                 (Ident
                                                                    SrcSpanInfo
                                                                      { srcInfoSpan =
                                                                          SrcSpan
                                                                            "tests/examples/InjectiveTypeFamilies.hs"
                                                                            245
                                                                            59
                                                                            245
                                                                            62
                                                                      , srcInfoPoints = []
                                                                      }
                                                                    "app")))
                                                           (Var
                                                              SrcSpanInfo
                                                                { srcInfoSpan =
                                                                    SrcSpan
                                                                      "tests/examples/InjectiveTypeFamilies.hs"
                                                                      245
                                                                      64
                                                                      245
                                                                      65
                                                                , srcInfoPoints = []
                                                                }
                                                              (UnQual
                                                                 SrcSpanInfo
                                                                   { srcInfoSpan =
                                                                       SrcSpan
                                                                         "tests/examples/InjectiveTypeFamilies.hs"
                                                                         245
                                                                         64
                                                                         245
                                                                         65
                                                                   , srcInfoPoints = []
                                                                   }
                                                                 (Ident
                                                                    SrcSpanInfo
                                                                      { srcInfoSpan =
                                                                          SrcSpan
                                                                            "tests/examples/InjectiveTypeFamilies.hs"
                                                                            245
                                                                            64
                                                                            245
                                                                            65
                                                                      , srcInfoPoints = []
                                                                      }
                                                                    "x")))))))))))))))
                       Nothing
                   ])
                (InfixApp
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 246 10 246 63
                     , srcInfoPoints = []
                     }
                   (Paren
                      SrcSpanInfo
                        { srcInfoSpan =
                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 246 10 246 49
                        , srcInfoPoints =
                            [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 246 10 246 11
                            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 246 48 246 49
                            ]
                        }
                      (InfixApp
                         SrcSpanInfo
                           { srcInfoSpan =
                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 246 11 246 48
                           , srcInfoPoints = []
                           }
                         (Var
                            SrcSpanInfo
                              { srcInfoSpan =
                                  SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 246 11 246 13
                              , srcInfoPoints = []
                              }
                            (UnQual
                               SrcSpanInfo
                                 { srcInfoSpan =
                                     SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 246 11 246 13
                                 , srcInfoPoints = []
                                 }
                               (Ident
                                  SrcSpanInfo
                                    { srcInfoSpan =
                                        SrcSpan
                                          "tests/examples/InjectiveTypeFamilies.hs" 246 11 246 13
                                    , srcInfoPoints = []
                                    }
                                  "c3")))
                         (QVarOp
                            SrcSpanInfo
                              { srcInfoSpan =
                                  SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 246 14 246 19
                              , srcInfoPoints =
                                  [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 246 14 246 15
                                  , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 246 15 246 18
                                  , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 246 18 246 19
                                  ]
                              }
                            (UnQual
                               SrcSpanInfo
                                 { srcInfoSpan =
                                     SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 246 14 246 19
                                 , srcInfoPoints =
                                     [ SrcSpan
                                         "tests/examples/InjectiveTypeFamilies.hs" 246 14 246 15
                                     , SrcSpan
                                         "tests/examples/InjectiveTypeFamilies.hs" 246 15 246 18
                                     , SrcSpan
                                         "tests/examples/InjectiveTypeFamilies.hs" 246 18 246 19
                                     ]
                                 }
                               (Ident
                                  SrcSpanInfo
                                    { srcInfoSpan =
                                        SrcSpan
                                          "tests/examples/InjectiveTypeFamilies.hs" 246 15 246 18
                                    , srcInfoPoints = []
                                    }
                                  "app")))
                         (Paren
                            SrcSpanInfo
                              { srcInfoSpan =
                                  SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 246 20 246 48
                              , srcInfoPoints =
                                  [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 246 20 246 21
                                  , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 246 47 246 48
                                  ]
                              }
                            (App
                               SrcSpanInfo
                                 { srcInfoSpan =
                                     SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 246 21 246 47
                                 , srcInfoPoints = []
                                 }
                               (Var
                                  SrcSpanInfo
                                    { srcInfoSpan =
                                        SrcSpan
                                          "tests/examples/InjectiveTypeFamilies.hs" 246 21 246 24
                                    , srcInfoPoints = []
                                    }
                                  (UnQual
                                     SrcSpanInfo
                                       { srcInfoSpan =
                                           SrcSpan
                                             "tests/examples/InjectiveTypeFamilies.hs" 246 21 246 24
                                       , srcInfoPoints = []
                                       }
                                     (Ident
                                        SrcSpanInfo
                                          { srcInfoSpan =
                                              SrcSpan
                                                "tests/examples/InjectiveTypeFamilies.hs"
                                                246
                                                21
                                                246
                                                24
                                          , srcInfoPoints = []
                                          }
                                        "lam")))
                               (Paren
                                  SrcSpanInfo
                                    { srcInfoSpan =
                                        SrcSpan
                                          "tests/examples/InjectiveTypeFamilies.hs" 246 25 246 47
                                    , srcInfoPoints =
                                        [ SrcSpan
                                            "tests/examples/InjectiveTypeFamilies.hs" 246 25 246 26
                                        , SrcSpan
                                            "tests/examples/InjectiveTypeFamilies.hs" 246 46 246 47
                                        ]
                                    }
                                  (Lambda
                                     SrcSpanInfo
                                       { srcInfoSpan =
                                           SrcSpan
                                             "tests/examples/InjectiveTypeFamilies.hs" 246 26 246 46
                                       , srcInfoPoints =
                                           [ SrcSpan
                                               "tests/examples/InjectiveTypeFamilies.hs"
                                               246
                                               26
                                               246
                                               27
                                           , SrcSpan
                                               "tests/examples/InjectiveTypeFamilies.hs"
                                               246
                                               29
                                               246
                                               31
                                           ]
                                       }
                                     [ PVar
                                         SrcSpanInfo
                                           { srcInfoSpan =
                                               SrcSpan
                                                 "tests/examples/InjectiveTypeFamilies.hs"
                                                 246
                                                 27
                                                 246
                                                 28
                                           , srcInfoPoints = []
                                           }
                                         (Ident
                                            SrcSpanInfo
                                              { srcInfoSpan =
                                                  SrcSpan
                                                    "tests/examples/InjectiveTypeFamilies.hs"
                                                    246
                                                    27
                                                    246
                                                    28
                                              , srcInfoPoints = []
                                              }
                                            "x")
                                     ]
                                     (InfixApp
                                        SrcSpanInfo
                                          { srcInfoSpan =
                                              SrcSpan
                                                "tests/examples/InjectiveTypeFamilies.hs"
                                                246
                                                32
                                                246
                                                46
                                          , srcInfoPoints = []
                                          }
                                        (Var
                                           SrcSpanInfo
                                             { srcInfoSpan =
                                                 SrcSpan
                                                   "tests/examples/InjectiveTypeFamilies.hs"
                                                   246
                                                   32
                                                   246
                                                   33
                                             , srcInfoPoints = []
                                             }
                                           (UnQual
                                              SrcSpanInfo
                                                { srcInfoSpan =
                                                    SrcSpan
                                                      "tests/examples/InjectiveTypeFamilies.hs"
                                                      246
                                                      32
                                                      246
                                                      33
                                                , srcInfoPoints = []
                                                }
                                              (Ident
                                                 SrcSpanInfo
                                                   { srcInfoSpan =
                                                       SrcSpan
                                                         "tests/examples/InjectiveTypeFamilies.hs"
                                                         246
                                                         32
                                                         246
                                                         33
                                                   , srcInfoPoints = []
                                                   }
                                                 "x")))
                                        (QVarOp
                                           SrcSpanInfo
                                             { srcInfoSpan =
                                                 SrcSpan
                                                   "tests/examples/InjectiveTypeFamilies.hs"
                                                   246
                                                   34
                                                   246
                                                   39
                                             , srcInfoPoints =
                                                 [ SrcSpan
                                                     "tests/examples/InjectiveTypeFamilies.hs"
                                                     246
                                                     34
                                                     246
                                                     35
                                                 , SrcSpan
                                                     "tests/examples/InjectiveTypeFamilies.hs"
                                                     246
                                                     35
                                                     246
                                                     38
                                                 , SrcSpan
                                                     "tests/examples/InjectiveTypeFamilies.hs"
                                                     246
                                                     38
                                                     246
                                                     39
                                                 ]
                                             }
                                           (UnQual
                                              SrcSpanInfo
                                                { srcInfoSpan =
                                                    SrcSpan
                                                      "tests/examples/InjectiveTypeFamilies.hs"
                                                      246
                                                      34
                                                      246
                                                      39
                                                , srcInfoPoints =
                                                    [ SrcSpan
                                                        "tests/examples/InjectiveTypeFamilies.hs"
                                                        246
                                                        34
                                                        246
                                                        35
                                                    , SrcSpan
                                                        "tests/examples/InjectiveTypeFamilies.hs"
                                                        246
                                                        35
                                                        246
                                                        38
                                                    , SrcSpan
                                                        "tests/examples/InjectiveTypeFamilies.hs"
                                                        246
                                                        38
                                                        246
                                                        39
                                                    ]
                                                }
                                              (Ident
                                                 SrcSpanInfo
                                                   { srcInfoSpan =
                                                       SrcSpan
                                                         "tests/examples/InjectiveTypeFamilies.hs"
                                                         246
                                                         35
                                                         246
                                                         38
                                                   , srcInfoPoints = []
                                                   }
                                                 "add")))
                                        (App
                                           SrcSpanInfo
                                             { srcInfoSpan =
                                                 SrcSpan
                                                   "tests/examples/InjectiveTypeFamilies.hs"
                                                   246
                                                   40
                                                   246
                                                   46
                                             , srcInfoPoints = []
                                             }
                                           (Var
                                              SrcSpanInfo
                                                { srcInfoSpan =
                                                    SrcSpan
                                                      "tests/examples/InjectiveTypeFamilies.hs"
                                                      246
                                                      40
                                                      246
                                                      43
                                                , srcInfoPoints = []
                                                }
                                              (UnQual
                                                 SrcSpanInfo
                                                   { srcInfoSpan =
                                                       SrcSpan
                                                         "tests/examples/InjectiveTypeFamilies.hs"
                                                         246
                                                         40
                                                         246
                                                         43
                                                   , srcInfoPoints = []
                                                   }
                                                 (Ident
                                                    SrcSpanInfo
                                                      { srcInfoSpan =
                                                          SrcSpan
                                                            "tests/examples/InjectiveTypeFamilies.hs"
                                                            246
                                                            40
                                                            246
                                                            43
                                                      , srcInfoPoints = []
                                                      }
                                                    "int")))
                                           (Lit
                                              SrcSpanInfo
                                                { srcInfoSpan =
                                                    SrcSpan
                                                      "tests/examples/InjectiveTypeFamilies.hs"
                                                      246
                                                      44
                                                      246
                                                      46
                                                , srcInfoPoints = []
                                                }
                                              (Int
                                                 SrcSpanInfo
                                                   { srcInfoSpan =
                                                       SrcSpan
                                                         "tests/examples/InjectiveTypeFamilies.hs"
                                                         246
                                                         44
                                                         246
                                                         46
                                                   , srcInfoPoints = []
                                                   }
                                                 14
                                                 "14"))))))))))
                   (QVarOp
                      SrcSpanInfo
                        { srcInfoSpan =
                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 246 50 246 55
                        , srcInfoPoints =
                            [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 246 50 246 51
                            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 246 51 246 54
                            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 246 54 246 55
                            ]
                        }
                      (UnQual
                         SrcSpanInfo
                           { srcInfoSpan =
                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 246 50 246 55
                           , srcInfoPoints =
                               [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 246 50 246 51
                               , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 246 51 246 54
                               , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 246 54 246 55
                               ]
                           }
                         (Ident
                            SrcSpanInfo
                              { srcInfoSpan =
                                  SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 246 51 246 54
                              , srcInfoPoints = []
                              }
                            "app")))
                   (Paren
                      SrcSpanInfo
                        { srcInfoSpan =
                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 246 56 246 63
                        , srcInfoPoints =
                            [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 246 56 246 57
                            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 246 62 246 63
                            ]
                        }
                      (App
                         SrcSpanInfo
                           { srcInfoSpan =
                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 246 57 246 62
                           , srcInfoPoints = []
                           }
                         (Var
                            SrcSpanInfo
                              { srcInfoSpan =
                                  SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 246 57 246 60
                              , srcInfoPoints = []
                              }
                            (UnQual
                               SrcSpanInfo
                                 { srcInfoSpan =
                                     SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 246 57 246 60
                                 , srcInfoPoints = []
                                 }
                               (Ident
                                  SrcSpanInfo
                                    { srcInfoSpan =
                                        SrcSpan
                                          "tests/examples/InjectiveTypeFamilies.hs" 246 57 246 60
                                    , srcInfoPoints = []
                                    }
                                  "int")))
                         (Lit
                            SrcSpanInfo
                              { srcInfoSpan =
                                  SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 246 61 246 62
                              , srcInfoPoints = []
                              }
                            (Int
                               SrcSpanInfo
                                 { srcInfoSpan =
                                     SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 246 61 246 62
                                 , srcInfoPoints = []
                                 }
                               0
                               "0")))))))
          Nothing
      , ClassDecl
          SrcSpanInfo
            { srcInfoSpan =
                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 249 1 252 29
            , srcInfoPoints =
                [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 249 1 249 6
                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 249 19 249 24
                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 250 5 250 5
                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 251 5 251 5
                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 252 5 252 5
                , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 254 1 254 0
                ]
            }
          Nothing
          (DHApp
             SrcSpanInfo
               { srcInfoSpan =
                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 249 7 249 18
               , srcInfoPoints = []
               }
             (DHead
                SrcSpanInfo
                  { srcInfoSpan =
                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 249 7 249 16
                  , srcInfoPoints = []
                  }
                (Ident
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 249 7 249 16
                     , srcInfoPoints = []
                     }
                   "Manifold'"))
             (UnkindedVar
                SrcSpanInfo
                  { srcInfoSpan =
                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 249 17 249 18
                  , srcInfoPoints = []
                  }
                (Ident
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 249 17 249 18
                     , srcInfoPoints = []
                     }
                   "a")))
          []
          (Just
             [ ClsTyFam
                 SrcSpanInfo
                   { srcInfoSpan =
                       SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 250 5 250 30
                   , srcInfoPoints =
                       [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 250 5 250 9 ]
                   }
                 (DHApp
                    SrcSpanInfo
                      { srcInfoSpan =
                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 250 10 250 17
                      , srcInfoPoints = []
                      }
                    (DHead
                       SrcSpanInfo
                         { srcInfoSpan =
                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 250 10 250 14
                         , srcInfoPoints = []
                         }
                       (Ident
                          SrcSpanInfo
                            { srcInfoSpan =
                                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 250 10 250 14
                            , srcInfoPoints = []
                            }
                          "Base"))
                    (UnkindedVar
                       SrcSpanInfo
                         { srcInfoSpan =
                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 250 16 250 17
                         , srcInfoPoints = []
                         }
                       (Ident
                          SrcSpanInfo
                            { srcInfoSpan =
                                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 250 16 250 17
                            , srcInfoPoints = []
                            }
                          "a")))
                 (Just
                    (TyVarSig
                       SrcSpanInfo
                         { srcInfoSpan =
                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 250 18 250 21
                         , srcInfoPoints =
                             [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 250 18 250 19 ]
                         }
                       (UnkindedVar
                          SrcSpanInfo
                            { srcInfoSpan =
                                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 250 20 250 21
                            , srcInfoPoints = []
                            }
                          (Ident
                             SrcSpanInfo
                               { srcInfoSpan =
                                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 250 20 250 21
                               , srcInfoPoints = []
                               }
                             "r"))))
                 (Just
                    (InjectivityInfo
                       SrcSpanInfo
                         { srcInfoSpan =
                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 250 22 250 30
                         , srcInfoPoints =
                             [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 250 22 250 23
                             , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 250 26 250 28
                             ]
                         }
                       (Ident
                          SrcSpanInfo
                            { srcInfoSpan =
                                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 250 24 250 25
                            , srcInfoPoints = []
                            }
                          "r")
                       [ Ident
                           SrcSpanInfo
                             { srcInfoSpan =
                                 SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 250 29 250 30
                             , srcInfoPoints = []
                             }
                           "a"
                       ]))
             , ClsDecl
                 SrcSpanInfo
                   { srcInfoSpan =
                       SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 251 5 251 27
                   , srcInfoPoints =
                       [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 251 13 251 15 ]
                   }
                 (TypeSig
                    SrcSpanInfo
                      { srcInfoSpan =
                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 251 5 251 27
                      , srcInfoPoints =
                          [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 251 13 251 15 ]
                      }
                    [ Ident
                        SrcSpanInfo
                          { srcInfoSpan =
                              SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 251 5 251 12
                          , srcInfoPoints = []
                          }
                        "project"
                    ]
                    (TyFun
                       SrcSpanInfo
                         { srcInfoSpan =
                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 251 16 251 27
                         , srcInfoPoints =
                             [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 251 18 251 20 ]
                         }
                       (TyVar
                          SrcSpanInfo
                            { srcInfoSpan =
                                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 251 16 251 17
                            , srcInfoPoints = []
                            }
                          (Ident
                             SrcSpanInfo
                               { srcInfoSpan =
                                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 251 16 251 17
                               , srcInfoPoints = []
                               }
                             "a"))
                       (TyApp
                          SrcSpanInfo
                            { srcInfoSpan =
                                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 251 21 251 27
                            , srcInfoPoints = []
                            }
                          (TyCon
                             SrcSpanInfo
                               { srcInfoSpan =
                                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 251 21 251 25
                               , srcInfoPoints = []
                               }
                             (UnQual
                                SrcSpanInfo
                                  { srcInfoSpan =
                                      SrcSpan
                                        "tests/examples/InjectiveTypeFamilies.hs" 251 21 251 25
                                  , srcInfoPoints = []
                                  }
                                (Ident
                                   SrcSpanInfo
                                     { srcInfoSpan =
                                         SrcSpan
                                           "tests/examples/InjectiveTypeFamilies.hs" 251 21 251 25
                                     , srcInfoPoints = []
                                     }
                                   "Base")))
                          (TyVar
                             SrcSpanInfo
                               { srcInfoSpan =
                                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 251 26 251 27
                               , srcInfoPoints = []
                               }
                             (Ident
                                SrcSpanInfo
                                  { srcInfoSpan =
                                      SrcSpan
                                        "tests/examples/InjectiveTypeFamilies.hs" 251 26 251 27
                                  , srcInfoPoints = []
                                  }
                                "a")))))
             , ClsDecl
                 SrcSpanInfo
                   { srcInfoSpan =
                       SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 252 5 252 29
                   , srcInfoPoints =
                       [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 252 15 252 17 ]
                   }
                 (TypeSig
                    SrcSpanInfo
                      { srcInfoSpan =
                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 252 5 252 29
                      , srcInfoPoints =
                          [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 252 15 252 17 ]
                      }
                    [ Ident
                        SrcSpanInfo
                          { srcInfoSpan =
                              SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 252 5 252 14
                          , srcInfoPoints = []
                          }
                        "unproject"
                    ]
                    (TyFun
                       SrcSpanInfo
                         { srcInfoSpan =
                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 252 18 252 29
                         , srcInfoPoints =
                             [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 252 25 252 27 ]
                         }
                       (TyApp
                          SrcSpanInfo
                            { srcInfoSpan =
                                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 252 18 252 24
                            , srcInfoPoints = []
                            }
                          (TyCon
                             SrcSpanInfo
                               { srcInfoSpan =
                                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 252 18 252 22
                               , srcInfoPoints = []
                               }
                             (UnQual
                                SrcSpanInfo
                                  { srcInfoSpan =
                                      SrcSpan
                                        "tests/examples/InjectiveTypeFamilies.hs" 252 18 252 22
                                  , srcInfoPoints = []
                                  }
                                (Ident
                                   SrcSpanInfo
                                     { srcInfoSpan =
                                         SrcSpan
                                           "tests/examples/InjectiveTypeFamilies.hs" 252 18 252 22
                                     , srcInfoPoints = []
                                     }
                                   "Base")))
                          (TyVar
                             SrcSpanInfo
                               { srcInfoSpan =
                                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 252 23 252 24
                               , srcInfoPoints = []
                               }
                             (Ident
                                SrcSpanInfo
                                  { srcInfoSpan =
                                      SrcSpan
                                        "tests/examples/InjectiveTypeFamilies.hs" 252 23 252 24
                                  , srcInfoPoints = []
                                  }
                                "a")))
                       (TyVar
                          SrcSpanInfo
                            { srcInfoSpan =
                                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 252 28 252 29
                            , srcInfoPoints = []
                            }
                          (Ident
                             SrcSpanInfo
                               { srcInfoSpan =
                                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 252 28 252 29
                               , srcInfoPoints = []
                               }
                             "a"))))
             ])
      , TypeSig
          SrcSpanInfo
            { srcInfoSpan =
                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 254 1 254 53
            , srcInfoPoints =
                [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 254 5 254 7 ]
            }
          [ Ident
              SrcSpanInfo
                { srcInfoSpan =
                    SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 254 1 254 4
                , srcInfoPoints = []
                }
              "id'"
          ]
          (TyForall
             SrcSpanInfo
               { srcInfoSpan =
                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 254 8 254 53
               , srcInfoPoints =
                   [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 254 8 254 14
                   , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 254 16 254 17
                   ]
               }
             (Just
                [ UnkindedVar
                    SrcSpanInfo
                      { srcInfoSpan =
                          SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 254 15 254 16
                      , srcInfoPoints = []
                      }
                    (Ident
                       SrcSpanInfo
                         { srcInfoSpan =
                             SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 254 15 254 16
                         , srcInfoPoints = []
                         }
                       "a")
                ])
             (Just
                (CxSingle
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 254 18 254 36
                     , srcInfoPoints =
                         [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 254 18 254 19
                         , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 254 32 254 33
                         , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 254 34 254 36
                         ]
                     }
                   (ParenA
                      SrcSpanInfo
                        { srcInfoSpan =
                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 254 18 254 36
                        , srcInfoPoints =
                            [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 254 18 254 19
                            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 254 32 254 33
                            , SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 254 34 254 36
                            ]
                        }
                      (ClassA
                         SrcSpanInfo
                           { srcInfoSpan =
                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 254 20 254 31
                           , srcInfoPoints = []
                           }
                         (UnQual
                            SrcSpanInfo
                              { srcInfoSpan =
                                  SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 254 20 254 29
                              , srcInfoPoints = []
                              }
                            (Ident
                               SrcSpanInfo
                                 { srcInfoSpan =
                                     SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 254 20 254 29
                                 , srcInfoPoints = []
                                 }
                               "Manifold'"))
                         [ TyVar
                             SrcSpanInfo
                               { srcInfoSpan =
                                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 254 30 254 31
                               , srcInfoPoints = []
                               }
                             (Ident
                                SrcSpanInfo
                                  { srcInfoSpan =
                                      SrcSpan
                                        "tests/examples/InjectiveTypeFamilies.hs" 254 30 254 31
                                  , srcInfoPoints = []
                                  }
                                "a")
                         ]))))
             (TyFun
                SrcSpanInfo
                  { srcInfoSpan =
                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 254 37 254 53
                  , srcInfoPoints =
                      [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 254 44 254 46 ]
                  }
                (TyApp
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 254 37 254 43
                     , srcInfoPoints = []
                     }
                   (TyCon
                      SrcSpanInfo
                        { srcInfoSpan =
                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 254 37 254 41
                        , srcInfoPoints = []
                        }
                      (UnQual
                         SrcSpanInfo
                           { srcInfoSpan =
                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 254 37 254 41
                           , srcInfoPoints = []
                           }
                         (Ident
                            SrcSpanInfo
                              { srcInfoSpan =
                                  SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 254 37 254 41
                              , srcInfoPoints = []
                              }
                            "Base")))
                   (TyVar
                      SrcSpanInfo
                        { srcInfoSpan =
                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 254 42 254 43
                        , srcInfoPoints = []
                        }
                      (Ident
                         SrcSpanInfo
                           { srcInfoSpan =
                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 254 42 254 43
                           , srcInfoPoints = []
                           }
                         "a")))
                (TyApp
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 254 47 254 53
                     , srcInfoPoints = []
                     }
                   (TyCon
                      SrcSpanInfo
                        { srcInfoSpan =
                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 254 47 254 51
                        , srcInfoPoints = []
                        }
                      (UnQual
                         SrcSpanInfo
                           { srcInfoSpan =
                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 254 47 254 51
                           , srcInfoPoints = []
                           }
                         (Ident
                            SrcSpanInfo
                              { srcInfoSpan =
                                  SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 254 47 254 51
                              , srcInfoPoints = []
                              }
                            "Base")))
                   (TyVar
                      SrcSpanInfo
                        { srcInfoSpan =
                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 254 52 254 53
                        , srcInfoPoints = []
                        }
                      (Ident
                         SrcSpanInfo
                           { srcInfoSpan =
                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 254 52 254 53
                           , srcInfoPoints = []
                           }
                         "a")))))
      , PatBind
          SrcSpanInfo
            { srcInfoSpan =
                SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 255 1 255 26
            , srcInfoPoints = []
            }
          (PVar
             SrcSpanInfo
               { srcInfoSpan =
                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 255 1 255 4
               , srcInfoPoints = []
               }
             (Ident
                SrcSpanInfo
                  { srcInfoSpan =
                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 255 1 255 4
                  , srcInfoPoints = []
                  }
                "id'"))
          (UnGuardedRhs
             SrcSpanInfo
               { srcInfoSpan =
                   SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 255 5 255 26
               , srcInfoPoints =
                   [ SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 255 5 255 6 ]
               }
             (InfixApp
                SrcSpanInfo
                  { srcInfoSpan =
                      SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 255 7 255 26
                  , srcInfoPoints = []
                  }
                (Var
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 255 7 255 14
                     , srcInfoPoints = []
                     }
                   (UnQual
                      SrcSpanInfo
                        { srcInfoSpan =
                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 255 7 255 14
                        , srcInfoPoints = []
                        }
                      (Ident
                         SrcSpanInfo
                           { srcInfoSpan =
                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 255 7 255 14
                           , srcInfoPoints = []
                           }
                         "project")))
                (QVarOp
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 255 15 255 16
                     , srcInfoPoints = []
                     }
                   (UnQual
                      SrcSpanInfo
                        { srcInfoSpan =
                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 255 15 255 16
                        , srcInfoPoints = []
                        }
                      (Symbol
                         SrcSpanInfo
                           { srcInfoSpan =
                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 255 15 255 16
                           , srcInfoPoints = []
                           }
                         ".")))
                (Var
                   SrcSpanInfo
                     { srcInfoSpan =
                         SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 255 17 255 26
                     , srcInfoPoints = []
                     }
                   (UnQual
                      SrcSpanInfo
                        { srcInfoSpan =
                            SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 255 17 255 26
                        , srcInfoPoints = []
                        }
                      (Ident
                         SrcSpanInfo
                           { srcInfoSpan =
                               SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 255 17 255 26
                           , srcInfoPoints = []
                           }
                         "unproject")))))
          Nothing
      ]
  , [ Comment
        False
        (SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 12 15 12 43)
        " defines G, identical to F"
    , Comment
        False
        (SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 27 1 27 81)
        " this is injective - a type variable introduced in the LHS is not mentioned on"
    , Comment
        False
        (SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 28 1 28 56)
        " RHS but we don't claim injectivity in that argument."
    , Comment
        False
        (SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 35 1 35 46)
        " make sure we look through type synonyms..."
    , Comment
        False
        (SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 39 1 39 23)
        " .. but not newtypes"
    , Comment
        False
        (SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 44 1 44 24)
        " Closed type families"
    , Comment
        False
        (SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 46 1 46 80)
        " these are simple conversions from open type families. They should behave the"
    , Comment
        False
        (SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 47 1 47 8)
        " same"
    , Comment
        False
        (SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 64 1 64 72)
        " Here the last equation might return both Int and Char but we have to"
    , Comment
        False
        (SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 65 1 65 61)
        " recognize that it is not possible due to equation overlap"
    , Comment
        False
        (SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 71 1 71 81)
        " This is similar, except that the last equation contains concrete type.  Since"
    , Comment
        False
        (SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 72 1 72 56)
        " it is overlapped it should be dropped with a warning"
    , Comment
        False
        (SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 78 1 78 78)
        " this one was tricky in the early implementation of injectivity.  Now it is"
    , Comment
        False
        (SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 79 1 79 69)
        " identical to the above but we still keep it as a regression test."
    , Comment
        False
        (SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 85 1 85 79)
        " Now let's use declared type families. All the below definitions should work"
    , Comment
        False
        (SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 87 1 87 61)
        " No ambiguity for any of the arguments - all are injective"
    , Comment
        False
        (SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 91 1 91 55)
        " From 1st instance of F: a ~ Int, b ~ Char, c ~ Bool"
    , Comment
        False
        (SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 95 1 95 31)
        " now the closed variant of F"
    , Comment
        False
        (SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 102 1 102 65)
        " The last argument is not injective so it must be instantiated"
    , Comment
        False
        (SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 106 1 106 45)
        " From 1st instance of I: a ~ Int, b ~ Char"
    , Comment
        False
        (SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 110 1 110 30)
        " again, closed variant of I"
    , Comment
        False
        (SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 117 1 117 51)
        " Now we have to test weird closed type families:"
    , Comment
        False
        (SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 145 1 145 73)
        " Declarations below test more liberal RHSs of injectivity annotations:"
    , Comment
        False
        (SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 146 1 146 79)
        " permiting variables to appear in different order than the one in which they"
    , Comment
        False
        (SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 147 1 147 18)
        " were declared."
    , Comment
        False
        (SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 154 1 154 79)
        " repeated tyvars in the RHS of injectivity annotation: no warnings or errors"
    , Comment
        False
        (SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 155 1 155 59)
        " (consistent with behaviour for functional dependencies)"
    , Comment
        False
        (SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 168 1 168 71)
        " Declaring kind injectivity. Here we only claim that knowing the RHS"
    , Comment
        False
        (SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 169 1 169 45)
        " determines the LHS kind but not the type."
    , Comment
        False
        (SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 186 1 186 74)
        " Now test some awkward cases from The Injectivity Paper.  All should be"
    , Comment
        False
        (SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 187 1 187 13)
        " accepted."
    , Comment
        False
        (SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 216 1 216 56)
        " A sole exception to \"bare variables in the RHS\" rule"
    , Comment
        False
        (SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 220 1 220 81)
        " This makes sure that over-saturated type family applications at the top-level"
    , Comment
        False
        (SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 221 1 221 17)
        " are accepted."
    , Comment
        False
        (SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 225 1 225 52)
        " make sure we look through type synonyms properly"
    , Comment
        False
        (SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 230 1 230 80)
        " this has bare variable in the RHS but all LHS varaiables are also bare so it"
    , Comment
        False
        (SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 231 1 231 22)
        " should be accepted"
    , Comment
        False
        (SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 235 1 235 55)
        " Taken from #9587. This exposed a bug in the solver."
    , Comment
        False
        (SrcSpan "tests/examples/InjectiveTypeFamilies.hs" 248 1 248 40)
        " This used to fail during development"
    ]
  )