Promote/Constructors.hs:(0,0)-(0,0): Splicing declarations promote [d| data Foo = Foo | Foo :+ Foo data Bar = Bar Bar Bar Bar Bar Foo |] ======> data Foo = Foo | Foo :+ Foo data Bar = Bar Bar Bar Bar Bar Foo type FooSym0 = Foo type (:+$$$) (t :: Foo) (t :: Foo) = (:+) t t instance SuppressUnusedWarnings (:+$$) where suppressUnusedWarnings _ = snd (GHC.Tuple.(,) (:+$$###) GHC.Tuple.()) data (:+$$) (l :: Foo) (l :: TyFun Foo Foo) = forall arg. KindOf (Apply ((:+$$) l) arg) ~ KindOf ((:+$$$) l arg) => (:+$$###) type instance Apply ((:+$$) l) l = (:+$$$) l l instance SuppressUnusedWarnings (:+$) where suppressUnusedWarnings _ = snd (GHC.Tuple.(,) (:+$###) GHC.Tuple.()) data (:+$) (l :: TyFun Foo (TyFun Foo Foo -> GHC.Types.Type)) = forall arg. KindOf (Apply (:+$) arg) ~ KindOf ((:+$$) arg) => (:+$###) type instance Apply (:+$) l = (:+$$) l type BarSym5 (t :: Bar) (t :: Bar) (t :: Bar) (t :: Bar) (t :: Foo) = Bar t t t t t instance SuppressUnusedWarnings BarSym4 where suppressUnusedWarnings _ = snd (GHC.Tuple.(,) BarSym4KindInference GHC.Tuple.()) data BarSym4 (l :: Bar) (l :: Bar) (l :: Bar) (l :: Bar) (l :: TyFun Foo Bar) = forall arg. KindOf (Apply (BarSym4 l l l l) arg) ~ KindOf (BarSym5 l l l l arg) => BarSym4KindInference type instance Apply (BarSym4 l l l l) l = BarSym5 l l l l l instance SuppressUnusedWarnings BarSym3 where suppressUnusedWarnings _ = snd (GHC.Tuple.(,) BarSym3KindInference GHC.Tuple.()) data BarSym3 (l :: Bar) (l :: Bar) (l :: Bar) (l :: TyFun Bar (TyFun Foo Bar -> GHC.Types.Type)) = forall arg. KindOf (Apply (BarSym3 l l l) arg) ~ KindOf (BarSym4 l l l arg) => BarSym3KindInference type instance Apply (BarSym3 l l l) l = BarSym4 l l l l instance SuppressUnusedWarnings BarSym2 where suppressUnusedWarnings _ = snd (GHC.Tuple.(,) BarSym2KindInference GHC.Tuple.()) data BarSym2 (l :: Bar) (l :: Bar) (l :: TyFun Bar (TyFun Bar (TyFun Foo Bar -> GHC.Types.Type) -> GHC.Types.Type)) = forall arg. KindOf (Apply (BarSym2 l l) arg) ~ KindOf (BarSym3 l l arg) => BarSym2KindInference type instance Apply (BarSym2 l l) l = BarSym3 l l l instance SuppressUnusedWarnings BarSym1 where suppressUnusedWarnings _ = snd (GHC.Tuple.(,) BarSym1KindInference GHC.Tuple.()) data BarSym1 (l :: Bar) (l :: TyFun Bar (TyFun Bar (TyFun Bar (TyFun Foo Bar -> GHC.Types.Type) -> GHC.Types.Type) -> GHC.Types.Type)) = forall arg. KindOf (Apply (BarSym1 l) arg) ~ KindOf (BarSym2 l arg) => BarSym1KindInference type instance Apply (BarSym1 l) l = BarSym2 l l instance SuppressUnusedWarnings BarSym0 where suppressUnusedWarnings _ = snd (GHC.Tuple.(,) BarSym0KindInference GHC.Tuple.()) data BarSym0 (l :: TyFun Bar (TyFun Bar (TyFun Bar (TyFun Bar (TyFun Foo Bar -> GHC.Types.Type) -> GHC.Types.Type) -> GHC.Types.Type) -> GHC.Types.Type)) = forall arg. KindOf (Apply BarSym0 arg) ~ KindOf (BarSym1 arg) => BarSym0KindInference type instance Apply BarSym0 l = BarSym1 l