singletons-2.7: tests/compile-and-dump/Promote/GenDefunSymbols.golden
Promote/GenDefunSymbols.hs:0:0:: Splicing declarations
genDefunSymbols [''LiftMaybe, ''NatT, ''(:+)]
======>
type LiftMaybeSym0 :: forall (a :: Type) (b :: Type).
(~>) ((~>) a b) ((~>) (Maybe a) (Maybe b))
data LiftMaybeSym0 a0123456789876543210
where
LiftMaybeSym0KindInference :: Data.Singletons.Internal.SameKind (Apply LiftMaybeSym0 arg) (LiftMaybeSym1 arg) =>
LiftMaybeSym0 a0123456789876543210
type instance Apply LiftMaybeSym0 a0123456789876543210 = LiftMaybeSym1 a0123456789876543210
instance SuppressUnusedWarnings LiftMaybeSym0 where
suppressUnusedWarnings = snd (((,) LiftMaybeSym0KindInference) ())
type LiftMaybeSym1 :: forall (a :: Type) (b :: Type).
(~>) a b -> (~>) (Maybe a) (Maybe b)
data LiftMaybeSym1 a0123456789876543210 a0123456789876543210
where
LiftMaybeSym1KindInference :: Data.Singletons.Internal.SameKind (Apply (LiftMaybeSym1 a0123456789876543210) arg) (LiftMaybeSym2 a0123456789876543210 arg) =>
LiftMaybeSym1 a0123456789876543210 a0123456789876543210
type instance Apply (LiftMaybeSym1 a0123456789876543210) a0123456789876543210 = LiftMaybeSym2 a0123456789876543210 a0123456789876543210
instance SuppressUnusedWarnings (LiftMaybeSym1 a0123456789876543210) where
suppressUnusedWarnings = snd (((,) LiftMaybeSym1KindInference) ())
type LiftMaybeSym2 (a0123456789876543210 :: (~>) a b) (a0123456789876543210 :: Maybe a) =
LiftMaybe a0123456789876543210 a0123456789876543210 :: Maybe b
type ZeroSym0 = 'Zero :: NatT
type SuccSym0 :: (~>) NatT NatT
data SuccSym0 a0123456789876543210
where
SuccSym0KindInference :: Data.Singletons.Internal.SameKind (Apply SuccSym0 arg) (SuccSym1 arg) =>
SuccSym0 a0123456789876543210
type instance Apply SuccSym0 a0123456789876543210 = SuccSym1 a0123456789876543210
instance SuppressUnusedWarnings SuccSym0 where
suppressUnusedWarnings = snd (((,) SuccSym0KindInference) ())
type SuccSym1 (a0123456789876543210 :: NatT) =
'Succ a0123456789876543210 :: NatT
type (:+@#@$) :: (~>) Nat ((~>) Nat Nat)
data (:+@#@$) a0123456789876543210
where
(::+@#@$###) :: Data.Singletons.Internal.SameKind (Apply (:+@#@$) arg) ((:+@#@$$) arg) =>
(:+@#@$) a0123456789876543210
type instance Apply (:+@#@$) a0123456789876543210 = (:+@#@$$) a0123456789876543210
instance SuppressUnusedWarnings (:+@#@$) where
suppressUnusedWarnings = snd (((,) (::+@#@$###)) ())
type (:+@#@$$) :: Nat -> (~>) Nat Nat
data (:+@#@$$) a0123456789876543210 a0123456789876543210
where
(::+@#@$$###) :: Data.Singletons.Internal.SameKind (Apply ((:+@#@$$) a0123456789876543210) arg) ((:+@#@$$$) a0123456789876543210 arg) =>
(:+@#@$$) a0123456789876543210 a0123456789876543210
type instance Apply ((:+@#@$$) a0123456789876543210) a0123456789876543210 = (:+@#@$$$) a0123456789876543210 a0123456789876543210
instance SuppressUnusedWarnings ((:+@#@$$) a0123456789876543210) where
suppressUnusedWarnings = snd (((,) (::+@#@$$###)) ())
type (:+@#@$$$) (a0123456789876543210 :: Nat) (a0123456789876543210 :: Nat) =
(:+) a0123456789876543210 a0123456789876543210 :: Nat