#ifdef LANGUAGE_DataKinds
#endif
module Data.Tuple.ITuple.Proxy
( proxyListRep
, proxyTuple
, reproxyHead
, reproxyTail
, reproxyField1
, reproxyField2
, reproxyField3
, reproxyField4
, reproxyField5
, reproxyField6
, reproxyField7
, reproxyField8
) where
import Data.Proxy
import Data.Tuple.ITuple
proxyListRep :: ITuple t => t -> Proxy (ListRep t)
proxyListRep _ = Proxy
proxyTuple :: ITuple t => t -> Proxy (Tuple (ListRep t))
proxyTuple _ = Proxy
reproxyHead :: t (Tuple (x :| xs)) -> Proxy x
reproxyHead = reproxy
reproxyTail :: t (Tuple (x :| xs)) -> Proxy (Tuple xs)
reproxyTail = reproxy
reproxyField1 :: t a -> Proxy (Field1 a)
reproxyField1 = reproxy
reproxyField2 :: t a -> Proxy (Field2 a)
reproxyField2 = reproxy
reproxyField3 :: t a -> Proxy (Field3 a)
reproxyField3 = reproxy
reproxyField4 :: t a -> Proxy (Field4 a)
reproxyField4 = reproxy
reproxyField5 :: t a -> Proxy (Field5 a)
reproxyField5 = reproxy
reproxyField6 :: t a -> Proxy (Field6 a)
reproxyField6 = reproxy
reproxyField7 :: t a -> Proxy (Field7 a)
reproxyField7 = reproxy
reproxyField8 :: t a -> Proxy (Field8 a)
reproxyField8 = reproxy