singletons-1.0: tests/compile-and-dump/Singletons/Tuples.ghc76.template
Singletons/Tuples.hs:0:0: Splicing declarations
genSingletons
[''(), ''(,), ''(,,), ''(,,,), ''(,,,,), ''(,,,,,), ''(,,,,,,)]
======>
Singletons/Tuples.hs:(0,0)-(0,0)
type TupleTyCtor0 = GHC.Tuple.()
type TupleTyCtor0Sym0 = TupleTyCtor0
type Tuple0Sym0 = GHC.Tuple.()
data instance Sing (z :: GHC.Tuple.())
= z ~ GHC.Tuple.() => STuple0
type STuple0 (z :: GHC.Tuple.()) = Sing z
instance SingKind (KProxy :: KProxy GHC.Tuple.()) where
type instance DemoteRep (KProxy :: KProxy GHC.Tuple.()) =
GHC.Tuple.()
fromSing STuple0 = GHC.Tuple.()
toSing GHC.Tuple.() = SomeSing STuple0
instance SingI GHC.Tuple.() where
sing = STuple0
type TupleTyCtor2 = GHC.Tuple.(,)
data TupleTyCtor2Sym1 (l :: *) (l :: TyFun * *)
data TupleTyCtor2Sym0 (k :: TyFun * (TyFun * * -> *))
type instance Apply (TupleTyCtor2Sym1 a) a = TupleTyCtor2 a a
type instance Apply TupleTyCtor2Sym0 a = TupleTyCtor2Sym1 a
data Tuple2Sym1 (l :: a) (l :: TyFun b (GHC.Tuple.(,) a b))
data Tuple2Sym0 (k :: TyFun a (TyFun b (GHC.Tuple.(,) a b) -> *))
type instance Apply (Tuple2Sym1 a) a = GHC.Tuple.(,) a a
type instance Apply Tuple2Sym0 a = Tuple2Sym1 a
data instance Sing (z :: GHC.Tuple.(,) a b)
= forall (n :: a) (n :: b). z ~ GHC.Tuple.(,) n n =>
STuple2 (Sing n) (Sing n)
type STuple2 (z :: GHC.Tuple.(,) a b) = Sing z
instance (SingKind (KProxy :: KProxy a),
SingKind (KProxy :: KProxy b)) =>
SingKind (KProxy :: KProxy (GHC.Tuple.(,) a b)) where
type instance DemoteRep (KProxy :: KProxy (GHC.Tuple.(,) a b)) =
GHC.Tuple.(,) (DemoteRep (KProxy :: KProxy a)) (DemoteRep (KProxy :: KProxy b))
fromSing (STuple2 b b) = GHC.Tuple.(,) (fromSing b) (fromSing b)
toSing (GHC.Tuple.(,) b b)
= case
(toSing b :: SomeSing (KProxy :: KProxy a),
toSing b :: SomeSing (KProxy :: KProxy b))
of {
(SomeSing c, SomeSing c) -> SomeSing (STuple2 c c) }
instance (SingI n, SingI n) =>
SingI (GHC.Tuple.(,) (n :: a) (n :: b)) where
sing = STuple2 sing sing
type TupleTyCtor3 = GHC.Tuple.(,,)
data TupleTyCtor3Sym2 (l :: *) (l :: *) (l :: TyFun * *)
data TupleTyCtor3Sym1 (l :: *) (l :: TyFun * (TyFun * * -> *))
data TupleTyCtor3Sym0 (k :: TyFun * (TyFun * (TyFun * * -> *)
-> *))
type instance Apply (TupleTyCtor3Sym2 a a) a = TupleTyCtor3 a a a
type instance Apply (TupleTyCtor3Sym1 a) a = TupleTyCtor3Sym2 a a
type instance Apply TupleTyCtor3Sym0 a = TupleTyCtor3Sym1 a
data Tuple3Sym2 (l :: a)
(l :: b)
(l :: TyFun c (GHC.Tuple.(,,) a b c))
data Tuple3Sym1 (l :: a)
(l :: TyFun b (TyFun c (GHC.Tuple.(,,) a b c) -> *))
data Tuple3Sym0 (k :: TyFun a (TyFun b (TyFun c (GHC.Tuple.(,,) a b c)
-> *)
-> *))
type instance Apply (Tuple3Sym2 a a) a = GHC.Tuple.(,,) a a a
type instance Apply (Tuple3Sym1 a) a = Tuple3Sym2 a a
type instance Apply Tuple3Sym0 a = Tuple3Sym1 a
data instance Sing (z :: GHC.Tuple.(,,) a b c)
= forall (n :: a) (n :: b) (n :: c). z ~ GHC.Tuple.(,,) n n n =>
STuple3 (Sing n) (Sing n) (Sing n)
type STuple3 (z :: GHC.Tuple.(,,) a b c) = Sing z
instance (SingKind (KProxy :: KProxy a),
SingKind (KProxy :: KProxy b),
SingKind (KProxy :: KProxy c)) =>
SingKind (KProxy :: KProxy (GHC.Tuple.(,,) a b c)) where
type instance DemoteRep (KProxy :: KProxy (GHC.Tuple.(,,) a b c)) =
GHC.Tuple.(,,) (DemoteRep (KProxy :: KProxy a)) (DemoteRep (KProxy :: KProxy b)) (DemoteRep (KProxy :: KProxy c))
fromSing (STuple3 b b b)
= GHC.Tuple.(,,) (fromSing b) (fromSing b) (fromSing b)
toSing (GHC.Tuple.(,,) b b b)
= case
(toSing b :: SomeSing (KProxy :: KProxy a),
toSing b :: SomeSing (KProxy :: KProxy b),
toSing b :: SomeSing (KProxy :: KProxy c))
of {
(SomeSing c, SomeSing c, SomeSing c) -> SomeSing (STuple3 c c c) }
instance (SingI n, SingI n, SingI n) =>
SingI (GHC.Tuple.(,,) (n :: a) (n :: b) (n :: c)) where
sing = STuple3 sing sing sing
type TupleTyCtor4 = GHC.Tuple.(,,,)
data TupleTyCtor4Sym3 (l :: *) (l :: *) (l :: *) (l :: TyFun * *)
data TupleTyCtor4Sym2 (l :: *)
(l :: *)
(l :: TyFun * (TyFun * * -> *))
data TupleTyCtor4Sym1 (l :: *)
(l :: TyFun * (TyFun * (TyFun * * -> *) -> *))
data TupleTyCtor4Sym0 (k :: TyFun * (TyFun * (TyFun * (TyFun * *
-> *)
-> *)
-> *))
type instance Apply (TupleTyCtor4Sym3 a a a) a =
TupleTyCtor4 a a a a
type instance Apply (TupleTyCtor4Sym2 a a) a =
TupleTyCtor4Sym3 a a a
type instance Apply (TupleTyCtor4Sym1 a) a = TupleTyCtor4Sym2 a a
type instance Apply TupleTyCtor4Sym0 a = TupleTyCtor4Sym1 a
data Tuple4Sym3 (l :: a)
(l :: b)
(l :: c)
(l :: TyFun d (GHC.Tuple.(,,,) a b c d))
data Tuple4Sym2 (l :: a)
(l :: b)
(l :: TyFun c (TyFun d (GHC.Tuple.(,,,) a b c d) -> *))
data Tuple4Sym1 (l :: a)
(l :: TyFun b (TyFun c (TyFun d (GHC.Tuple.(,,,) a b c d) -> *)
-> *))
data Tuple4Sym0 (k :: TyFun a (TyFun b (TyFun c (TyFun d (GHC.Tuple.(,,,) a b c d)
-> *)
-> *)
-> *))
type instance Apply (Tuple4Sym3 a a a) a = GHC.Tuple.(,,,) a a a a
type instance Apply (Tuple4Sym2 a a) a = Tuple4Sym3 a a a
type instance Apply (Tuple4Sym1 a) a = Tuple4Sym2 a a
type instance Apply Tuple4Sym0 a = Tuple4Sym1 a
data instance Sing (z :: GHC.Tuple.(,,,) a b c d)
= forall (n :: a)
(n :: b)
(n :: c)
(n :: d). z ~ GHC.Tuple.(,,,) n n n n =>
STuple4 (Sing n) (Sing n) (Sing n) (Sing n)
type STuple4 (z :: GHC.Tuple.(,,,) a b c d) = Sing z
instance (SingKind (KProxy :: KProxy a),
SingKind (KProxy :: KProxy b),
SingKind (KProxy :: KProxy c),
SingKind (KProxy :: KProxy d)) =>
SingKind (KProxy :: KProxy (GHC.Tuple.(,,,) a b c d)) where
type instance DemoteRep (KProxy :: KProxy (GHC.Tuple.(,,,) a b c d)) =
GHC.Tuple.(,,,) (DemoteRep (KProxy :: KProxy a)) (DemoteRep (KProxy :: KProxy b)) (DemoteRep (KProxy :: KProxy c)) (DemoteRep (KProxy :: KProxy d))
fromSing (STuple4 b b b b)
= GHC.Tuple.(,,,)
(fromSing b) (fromSing b) (fromSing b) (fromSing b)
toSing (GHC.Tuple.(,,,) b b b b)
= case
(toSing b :: SomeSing (KProxy :: KProxy a),
toSing b :: SomeSing (KProxy :: KProxy b),
toSing b :: SomeSing (KProxy :: KProxy c),
toSing b :: SomeSing (KProxy :: KProxy d))
of {
(SomeSing c, SomeSing c, SomeSing c, SomeSing c)
-> SomeSing (STuple4 c c c c) }
instance (SingI n, SingI n, SingI n, SingI n) =>
SingI (GHC.Tuple.(,,,) (n :: a) (n :: b) (n :: c) (n :: d)) where
sing = STuple4 sing sing sing sing
type TupleTyCtor5 = GHC.Tuple.(,,,,)
data TupleTyCtor5Sym4 (l :: *)
(l :: *)
(l :: *)
(l :: *)
(l :: TyFun * *)
data TupleTyCtor5Sym3 (l :: *)
(l :: *)
(l :: *)
(l :: TyFun * (TyFun * * -> *))
data TupleTyCtor5Sym2 (l :: *)
(l :: *)
(l :: TyFun * (TyFun * (TyFun * * -> *) -> *))
data TupleTyCtor5Sym1 (l :: *)
(l :: TyFun * (TyFun * (TyFun * (TyFun * * -> *) -> *) -> *))
data TupleTyCtor5Sym0 (k :: TyFun * (TyFun * (TyFun * (TyFun * (TyFun * *
-> *)
-> *)
-> *)
-> *))
type instance Apply (TupleTyCtor5Sym4 a a a a) a =
TupleTyCtor5 a a a a a
type instance Apply (TupleTyCtor5Sym3 a a a) a =
TupleTyCtor5Sym4 a a a a
type instance Apply (TupleTyCtor5Sym2 a a) a =
TupleTyCtor5Sym3 a a a
type instance Apply (TupleTyCtor5Sym1 a) a = TupleTyCtor5Sym2 a a
type instance Apply TupleTyCtor5Sym0 a = TupleTyCtor5Sym1 a
data Tuple5Sym4 (l :: a)
(l :: b)
(l :: c)
(l :: d)
(l :: TyFun e (GHC.Tuple.(,,,,) a b c d e))
data Tuple5Sym3 (l :: a)
(l :: b)
(l :: c)
(l :: TyFun d (TyFun e (GHC.Tuple.(,,,,) a b c d e) -> *))
data Tuple5Sym2 (l :: a)
(l :: b)
(l :: TyFun c (TyFun d (TyFun e (GHC.Tuple.(,,,,) a b c d e) -> *)
-> *))
data Tuple5Sym1 (l :: a)
(l :: TyFun b (TyFun c (TyFun d (TyFun e (GHC.Tuple.(,,,,) a b c d e)
-> *)
-> *)
-> *))
data Tuple5Sym0 (k :: TyFun a (TyFun b (TyFun c (TyFun d (TyFun e (GHC.Tuple.(,,,,) a b c d e)
-> *)
-> *)
-> *)
-> *))
type instance Apply (Tuple5Sym4 a a a a) a =
GHC.Tuple.(,,,,) a a a a a
type instance Apply (Tuple5Sym3 a a a) a = Tuple5Sym4 a a a a
type instance Apply (Tuple5Sym2 a a) a = Tuple5Sym3 a a a
type instance Apply (Tuple5Sym1 a) a = Tuple5Sym2 a a
type instance Apply Tuple5Sym0 a = Tuple5Sym1 a
data instance Sing (z :: GHC.Tuple.(,,,,) a b c d e)
= forall (n :: a)
(n :: b)
(n :: c)
(n :: d)
(n :: e). z ~ GHC.Tuple.(,,,,) n n n n n =>
STuple5 (Sing n) (Sing n) (Sing n) (Sing n) (Sing n)
type STuple5 (z :: GHC.Tuple.(,,,,) a b c d e) = Sing z
instance (SingKind (KProxy :: KProxy a),
SingKind (KProxy :: KProxy b),
SingKind (KProxy :: KProxy c),
SingKind (KProxy :: KProxy d),
SingKind (KProxy :: KProxy e)) =>
SingKind (KProxy :: KProxy (GHC.Tuple.(,,,,) a b c d e)) where
type instance DemoteRep (KProxy :: KProxy (GHC.Tuple.(,,,,) a b c d e)) =
GHC.Tuple.(,,,,) (DemoteRep (KProxy :: KProxy a)) (DemoteRep (KProxy :: KProxy b)) (DemoteRep (KProxy :: KProxy c)) (DemoteRep (KProxy :: KProxy d)) (DemoteRep (KProxy :: KProxy e))
fromSing (STuple5 b b b b b)
= GHC.Tuple.(,,,,)
(fromSing b) (fromSing b) (fromSing b) (fromSing b) (fromSing b)
toSing (GHC.Tuple.(,,,,) b b b b b)
= case
(toSing b :: SomeSing (KProxy :: KProxy a),
toSing b :: SomeSing (KProxy :: KProxy b),
toSing b :: SomeSing (KProxy :: KProxy c),
toSing b :: SomeSing (KProxy :: KProxy d),
toSing b :: SomeSing (KProxy :: KProxy e))
of {
(SomeSing c, SomeSing c, SomeSing c, SomeSing c, SomeSing c)
-> SomeSing (STuple5 c c c c c) }
instance (SingI n, SingI n, SingI n, SingI n, SingI n) =>
SingI (GHC.Tuple.(,,,,) (n :: a) (n :: b) (n :: c) (n :: d) (n :: e)) where
sing = STuple5 sing sing sing sing sing
type TupleTyCtor6 = GHC.Tuple.(,,,,,)
data TupleTyCtor6Sym5 (l :: *)
(l :: *)
(l :: *)
(l :: *)
(l :: *)
(l :: TyFun * *)
data TupleTyCtor6Sym4 (l :: *)
(l :: *)
(l :: *)
(l :: *)
(l :: TyFun * (TyFun * * -> *))
data TupleTyCtor6Sym3 (l :: *)
(l :: *)
(l :: *)
(l :: TyFun * (TyFun * (TyFun * * -> *) -> *))
data TupleTyCtor6Sym2 (l :: *)
(l :: *)
(l :: TyFun * (TyFun * (TyFun * (TyFun * * -> *) -> *) -> *))
data TupleTyCtor6Sym1 (l :: *)
(l :: TyFun * (TyFun * (TyFun * (TyFun * (TyFun * * -> *) -> *)
-> *)
-> *))
data TupleTyCtor6Sym0 (k :: TyFun * (TyFun * (TyFun * (TyFun * (TyFun * (TyFun * *
-> *)
-> *)
-> *)
-> *)
-> *))
type instance Apply (TupleTyCtor6Sym5 a a a a a) a =
TupleTyCtor6 a a a a a a
type instance Apply (TupleTyCtor6Sym4 a a a a) a =
TupleTyCtor6Sym5 a a a a a
type instance Apply (TupleTyCtor6Sym3 a a a) a =
TupleTyCtor6Sym4 a a a a
type instance Apply (TupleTyCtor6Sym2 a a) a =
TupleTyCtor6Sym3 a a a
type instance Apply (TupleTyCtor6Sym1 a) a = TupleTyCtor6Sym2 a a
type instance Apply TupleTyCtor6Sym0 a = TupleTyCtor6Sym1 a
data Tuple6Sym5 (l :: a)
(l :: b)
(l :: c)
(l :: d)
(l :: e)
(l :: TyFun f (GHC.Tuple.(,,,,,) a b c d e f))
data Tuple6Sym4 (l :: a)
(l :: b)
(l :: c)
(l :: d)
(l :: TyFun e (TyFun f (GHC.Tuple.(,,,,,) a b c d e f) -> *))
data Tuple6Sym3 (l :: a)
(l :: b)
(l :: c)
(l :: TyFun d (TyFun e (TyFun f (GHC.Tuple.(,,,,,) a b c d e f)
-> *)
-> *))
data Tuple6Sym2 (l :: a)
(l :: b)
(l :: TyFun c (TyFun d (TyFun e (TyFun f (GHC.Tuple.(,,,,,) a b c d e f)
-> *)
-> *)
-> *))
data Tuple6Sym1 (l :: a)
(l :: TyFun b (TyFun c (TyFun d (TyFun e (TyFun f (GHC.Tuple.(,,,,,) a b c d e f)
-> *)
-> *)
-> *)
-> *))
data Tuple6Sym0 (k :: TyFun a (TyFun b (TyFun c (TyFun d (TyFun e (TyFun f (GHC.Tuple.(,,,,,) a b c d e f)
-> *)
-> *)
-> *)
-> *)
-> *))
type instance Apply (Tuple6Sym5 a a a a a) a =
GHC.Tuple.(,,,,,) a a a a a a
type instance Apply (Tuple6Sym4 a a a a) a = Tuple6Sym5 a a a a a
type instance Apply (Tuple6Sym3 a a a) a = Tuple6Sym4 a a a a
type instance Apply (Tuple6Sym2 a a) a = Tuple6Sym3 a a a
type instance Apply (Tuple6Sym1 a) a = Tuple6Sym2 a a
type instance Apply Tuple6Sym0 a = Tuple6Sym1 a
data instance Sing (z :: GHC.Tuple.(,,,,,) a b c d e f)
= forall (n :: a)
(n :: b)
(n :: c)
(n :: d)
(n :: e)
(n :: f). z ~ GHC.Tuple.(,,,,,) n n n n n n =>
STuple6 (Sing n) (Sing n) (Sing n) (Sing n) (Sing n) (Sing n)
type STuple6 (z :: GHC.Tuple.(,,,,,) a b c d e f) = Sing z
instance (SingKind (KProxy :: KProxy a),
SingKind (KProxy :: KProxy b),
SingKind (KProxy :: KProxy c),
SingKind (KProxy :: KProxy d),
SingKind (KProxy :: KProxy e),
SingKind (KProxy :: KProxy f)) =>
SingKind (KProxy :: KProxy (GHC.Tuple.(,,,,,) a b c d e f)) where
type instance DemoteRep (KProxy :: KProxy (GHC.Tuple.(,,,,,) a b c d e f)) =
GHC.Tuple.(,,,,,) (DemoteRep (KProxy :: KProxy a)) (DemoteRep (KProxy :: KProxy b)) (DemoteRep (KProxy :: KProxy c)) (DemoteRep (KProxy :: KProxy d)) (DemoteRep (KProxy :: KProxy e)) (DemoteRep (KProxy :: KProxy f))
fromSing (STuple6 b b b b b b)
= GHC.Tuple.(,,,,,)
(fromSing b)
(fromSing b)
(fromSing b)
(fromSing b)
(fromSing b)
(fromSing b)
toSing (GHC.Tuple.(,,,,,) b b b b b b)
= case
(toSing b :: SomeSing (KProxy :: KProxy a),
toSing b :: SomeSing (KProxy :: KProxy b),
toSing b :: SomeSing (KProxy :: KProxy c),
toSing b :: SomeSing (KProxy :: KProxy d),
toSing b :: SomeSing (KProxy :: KProxy e),
toSing b :: SomeSing (KProxy :: KProxy f))
of {
(SomeSing c,
SomeSing c,
SomeSing c,
SomeSing c,
SomeSing c,
SomeSing c)
-> SomeSing (STuple6 c c c c c c) }
instance (SingI n, SingI n, SingI n, SingI n, SingI n, SingI n) =>
SingI (GHC.Tuple.(,,,,,) (n :: a) (n :: b) (n :: c) (n :: d) (n :: e) (n :: f)) where
sing = STuple6 sing sing sing sing sing sing
type TupleTyCtor7 = GHC.Tuple.(,,,,,,)
data TupleTyCtor7Sym6 (l :: *)
(l :: *)
(l :: *)
(l :: *)
(l :: *)
(l :: *)
(l :: TyFun * *)
data TupleTyCtor7Sym5 (l :: *)
(l :: *)
(l :: *)
(l :: *)
(l :: *)
(l :: TyFun * (TyFun * * -> *))
data TupleTyCtor7Sym4 (l :: *)
(l :: *)
(l :: *)
(l :: *)
(l :: TyFun * (TyFun * (TyFun * * -> *) -> *))
data TupleTyCtor7Sym3 (l :: *)
(l :: *)
(l :: *)
(l :: TyFun * (TyFun * (TyFun * (TyFun * * -> *) -> *) -> *))
data TupleTyCtor7Sym2 (l :: *)
(l :: *)
(l :: TyFun * (TyFun * (TyFun * (TyFun * (TyFun * * -> *) -> *)
-> *)
-> *))
data TupleTyCtor7Sym1 (l :: *)
(l :: TyFun * (TyFun * (TyFun * (TyFun * (TyFun * (TyFun * * -> *)
-> *)
-> *)
-> *)
-> *))
data TupleTyCtor7Sym0 (k :: TyFun * (TyFun * (TyFun * (TyFun * (TyFun * (TyFun * (TyFun * *
-> *)
-> *)
-> *)
-> *)
-> *)
-> *))
type instance Apply (TupleTyCtor7Sym6 a a a a a a) a =
TupleTyCtor7 a a a a a a a
type instance Apply (TupleTyCtor7Sym5 a a a a a) a =
TupleTyCtor7Sym6 a a a a a a
type instance Apply (TupleTyCtor7Sym4 a a a a) a =
TupleTyCtor7Sym5 a a a a a
type instance Apply (TupleTyCtor7Sym3 a a a) a =
TupleTyCtor7Sym4 a a a a
type instance Apply (TupleTyCtor7Sym2 a a) a =
TupleTyCtor7Sym3 a a a
type instance Apply (TupleTyCtor7Sym1 a) a = TupleTyCtor7Sym2 a a
type instance Apply TupleTyCtor7Sym0 a = TupleTyCtor7Sym1 a
data Tuple7Sym6 (l :: a)
(l :: b)
(l :: c)
(l :: d)
(l :: e)
(l :: f)
(l :: TyFun g (GHC.Tuple.(,,,,,,) a b c d e f g))
data Tuple7Sym5 (l :: a)
(l :: b)
(l :: c)
(l :: d)
(l :: e)
(l :: TyFun f (TyFun g (GHC.Tuple.(,,,,,,) a b c d e f g) -> *))
data Tuple7Sym4 (l :: a)
(l :: b)
(l :: c)
(l :: d)
(l :: TyFun e (TyFun f (TyFun g (GHC.Tuple.(,,,,,,) a b c d e f g)
-> *)
-> *))
data Tuple7Sym3 (l :: a)
(l :: b)
(l :: c)
(l :: TyFun d (TyFun e (TyFun f (TyFun g (GHC.Tuple.(,,,,,,) a b c d e f g)
-> *)
-> *)
-> *))
data Tuple7Sym2 (l :: a)
(l :: b)
(l :: TyFun c (TyFun d (TyFun e (TyFun f (TyFun g (GHC.Tuple.(,,,,,,) a b c d e f g)
-> *)
-> *)
-> *)
-> *))
data Tuple7Sym1 (l :: a)
(l :: TyFun b (TyFun c (TyFun d (TyFun e (TyFun f (TyFun g (GHC.Tuple.(,,,,,,) a b c d e f g)
-> *)
-> *)
-> *)
-> *)
-> *))
data Tuple7Sym0 (k :: TyFun a (TyFun b (TyFun c (TyFun d (TyFun e (TyFun f (TyFun g (GHC.Tuple.(,,,,,,) a b c d e f g)
-> *)
-> *)
-> *)
-> *)
-> *)
-> *))
type instance Apply (Tuple7Sym6 a a a a a a) a =
GHC.Tuple.(,,,,,,) a a a a a a a
type instance Apply (Tuple7Sym5 a a a a a) a =
Tuple7Sym6 a a a a a a
type instance Apply (Tuple7Sym4 a a a a) a = Tuple7Sym5 a a a a a
type instance Apply (Tuple7Sym3 a a a) a = Tuple7Sym4 a a a a
type instance Apply (Tuple7Sym2 a a) a = Tuple7Sym3 a a a
type instance Apply (Tuple7Sym1 a) a = Tuple7Sym2 a a
type instance Apply Tuple7Sym0 a = Tuple7Sym1 a
data instance Sing (z :: GHC.Tuple.(,,,,,,) a b c d e f g)
= forall (n :: a)
(n :: b)
(n :: c)
(n :: d)
(n :: e)
(n :: f)
(n :: g). z ~ GHC.Tuple.(,,,,,,) n n n n n n n =>
STuple7 (Sing n) (Sing n) (Sing n) (Sing n) (Sing n) (Sing n) (Sing n)
type STuple7 (z :: GHC.Tuple.(,,,,,,) a b c d e f g) = Sing z
instance (SingKind (KProxy :: KProxy a),
SingKind (KProxy :: KProxy b),
SingKind (KProxy :: KProxy c),
SingKind (KProxy :: KProxy d),
SingKind (KProxy :: KProxy e),
SingKind (KProxy :: KProxy f),
SingKind (KProxy :: KProxy g)) =>
SingKind (KProxy :: KProxy (GHC.Tuple.(,,,,,,) a b c d e f g)) where
type instance DemoteRep (KProxy :: KProxy (GHC.Tuple.(,,,,,,) a b c d e f g)) =
GHC.Tuple.(,,,,,,) (DemoteRep (KProxy :: KProxy a)) (DemoteRep (KProxy :: KProxy b)) (DemoteRep (KProxy :: KProxy c)) (DemoteRep (KProxy :: KProxy d)) (DemoteRep (KProxy :: KProxy e)) (DemoteRep (KProxy :: KProxy f)) (DemoteRep (KProxy :: KProxy g))
fromSing (STuple7 b b b b b b b)
= GHC.Tuple.(,,,,,,)
(fromSing b)
(fromSing b)
(fromSing b)
(fromSing b)
(fromSing b)
(fromSing b)
(fromSing b)
toSing (GHC.Tuple.(,,,,,,) b b b b b b b)
= case
(toSing b :: SomeSing (KProxy :: KProxy a),
toSing b :: SomeSing (KProxy :: KProxy b),
toSing b :: SomeSing (KProxy :: KProxy c),
toSing b :: SomeSing (KProxy :: KProxy d),
toSing b :: SomeSing (KProxy :: KProxy e),
toSing b :: SomeSing (KProxy :: KProxy f),
toSing b :: SomeSing (KProxy :: KProxy g))
of {
(SomeSing c,
SomeSing c,
SomeSing c,
SomeSing c,
SomeSing c,
SomeSing c,
SomeSing c)
-> SomeSing (STuple7 c c c c c c c) }
instance (SingI n,
SingI n,
SingI n,
SingI n,
SingI n,
SingI n,
SingI n) =>
SingI (GHC.Tuple.(,,,,,,) (n :: a) (n :: b) (n :: c) (n :: d) (n :: e) (n :: f) (n :: g)) where
sing = STuple7 sing sing sing sing sing sing sing