singletons-base-3.0: tests/compile-and-dump/Singletons/T216.golden
Singletons/T216.hs:0:0:: Splicing declarations
genDefunSymbols [''MyProxy, ''Symmetry]
======>
data MyProxySym0 :: (~>) Type ((~>) k0123456789876543210 Type)
where
MyProxySym0KindInference :: SameKind (Apply MyProxySym0 arg) (MyProxySym1 arg) =>
MyProxySym0 k0123456789876543210
type instance Apply MyProxySym0 k0123456789876543210 = MyProxySym1 k0123456789876543210
instance SuppressUnusedWarnings MyProxySym0 where
suppressUnusedWarnings = snd (((,) MyProxySym0KindInference) ())
data MyProxySym1 (k0123456789876543210 :: Type) :: (~>) k0123456789876543210 Type
where
MyProxySym1KindInference :: SameKind (Apply (MyProxySym1 k0123456789876543210) arg) (MyProxySym2 k0123456789876543210 arg) =>
MyProxySym1 k0123456789876543210 e
type instance Apply (MyProxySym1 k0123456789876543210) e = MyProxy k0123456789876543210 e
instance SuppressUnusedWarnings (MyProxySym1 k0123456789876543210) where
suppressUnusedWarnings = snd (((,) MyProxySym1KindInference) ())
type family MyProxySym2 (k0123456789876543210 :: Type) (e :: k0123456789876543210) :: Type where
MyProxySym2 k0123456789876543210 e = MyProxy k0123456789876543210 e
data SymmetrySym0 :: (~>) t0123456789876543210 ((~>) t0123456789876543210 ((~>) ((:~:) a0123456789876543210 y0123456789876543210) Type))
where
SymmetrySym0KindInference :: SameKind (Apply SymmetrySym0 arg) (SymmetrySym1 arg) =>
SymmetrySym0 a0123456789876543210
type instance Apply SymmetrySym0 a0123456789876543210 = SymmetrySym1 a0123456789876543210
instance SuppressUnusedWarnings SymmetrySym0 where
suppressUnusedWarnings = snd (((,) SymmetrySym0KindInference) ())
data SymmetrySym1 (a0123456789876543210 :: t0123456789876543210) :: (~>) t0123456789876543210 ((~>) ((:~:) a0123456789876543210 y0123456789876543210) Type)
where
SymmetrySym1KindInference :: SameKind (Apply (SymmetrySym1 a0123456789876543210) arg) (SymmetrySym2 a0123456789876543210 arg) =>
SymmetrySym1 a0123456789876543210 y0123456789876543210
type instance Apply (SymmetrySym1 a0123456789876543210) y0123456789876543210 = SymmetrySym2 a0123456789876543210 y0123456789876543210
instance SuppressUnusedWarnings (SymmetrySym1 a0123456789876543210) where
suppressUnusedWarnings = snd (((,) SymmetrySym1KindInference) ())
data SymmetrySym2 (a0123456789876543210 :: t0123456789876543210) (y0123456789876543210 :: t0123456789876543210) :: (~>) ((:~:) a0123456789876543210 y0123456789876543210) Type
where
SymmetrySym2KindInference :: SameKind (Apply (SymmetrySym2 a0123456789876543210 y0123456789876543210) arg) (SymmetrySym3 a0123456789876543210 y0123456789876543210 arg) =>
SymmetrySym2 a0123456789876543210 y0123456789876543210 e
type instance Apply (SymmetrySym2 a0123456789876543210 y0123456789876543210) e = Symmetry a0123456789876543210 y0123456789876543210 e
instance SuppressUnusedWarnings (SymmetrySym2 a0123456789876543210 y0123456789876543210) where
suppressUnusedWarnings = snd (((,) SymmetrySym2KindInference) ())
type family SymmetrySym3 (a0123456789876543210 :: t0123456789876543210) (y0123456789876543210 :: t0123456789876543210) (e :: (:~:) a0123456789876543210 y0123456789876543210) :: Type where
SymmetrySym3 a0123456789876543210 y0123456789876543210 e = Symmetry a0123456789876543210 y0123456789876543210 e