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