Singletons/T322.hs:(0,0)-(0,0): Splicing declarations singletons [d| infixr 2 ! (!) :: Bool -> Bool -> Bool (!) = (||) |] ======> (!) :: Bool -> Bool -> Bool (!) = (||) infixr 2 ! type (!@#@$$$) (a0123456789876543210 :: Bool) (a0123456789876543210 :: Bool) = (:!) a0123456789876543210 a0123456789876543210 instance SuppressUnusedWarnings ((!@#@$$) a0123456789876543210) where suppressUnusedWarnings = snd (((,) (:!@#@$$###)) ()) data (!@#@$$) (a0123456789876543210 :: Bool) :: (~>) Bool Bool where (:!@#@$$###) :: forall a0123456789876543210 a0123456789876543210 arg. SameKind (Apply ((!@#@$$) a0123456789876543210) arg) ((!@#@$$$) a0123456789876543210 arg) => (!@#@$$) a0123456789876543210 a0123456789876543210 type instance Apply ((!@#@$$) a0123456789876543210) a0123456789876543210 = (:!) a0123456789876543210 a0123456789876543210 infixr 2 !@#@$$ instance SuppressUnusedWarnings (!@#@$) where suppressUnusedWarnings = snd (((,) (:!@#@$###)) ()) data (!@#@$) :: (~>) Bool ((~>) Bool Bool) where (:!@#@$###) :: forall a0123456789876543210 arg. SameKind (Apply (!@#@$) arg) ((!@#@$$) arg) => (!@#@$) a0123456789876543210 type instance Apply (!@#@$) a0123456789876543210 = (!@#@$$) a0123456789876543210 infixr 2 !@#@$ type family (:!) (a :: Bool) (a :: Bool) :: Bool where (:!) a_0123456789876543210 a_0123456789876543210 = Apply (Apply (||@#@$) a_0123456789876543210) a_0123456789876543210 infixr 2 :! infixr 2 %! (%!) :: forall (t :: Bool) (t :: Bool). Sing t -> Sing t -> Sing (Apply (Apply (!@#@$) t) t :: Bool) (%!) (sA_0123456789876543210 :: Sing a_0123456789876543210) (sA_0123456789876543210 :: Sing a_0123456789876543210) = (applySing ((applySing ((singFun2 @(||@#@$)) (%||))) sA_0123456789876543210)) sA_0123456789876543210 instance SingI ((!@#@$) :: (~>) Bool ((~>) Bool Bool)) where sing = (singFun2 @(!@#@$)) (%!) instance SingI d => SingI ((!@#@$$) (d :: Bool) :: (~>) Bool Bool) where sing = (singFun1 @((!@#@$$) (d :: Bool))) ((%!) (sing @d))