module TextShow.Data.Functor.Product (liftShowbProductPrec) where
import Data.Functor.Product (Product(..))
import Data.Text.Lazy.Builder (Builder)
import TextShow.Classes (TextShow(..), TextShow1(..), showbPrec1)
import TextShow.TH.Internal (deriveTextShow1)
#include "inline.h"
liftShowbProductPrec :: (TextShow1 f, TextShow1 g)
=> (Int -> a -> Builder) -> ([a] -> Builder)
-> Int -> Product f g a -> Builder
liftShowbProductPrec = liftShowbPrec
instance (TextShow1 f, TextShow1 g, TextShow a) => TextShow (Product f g a) where
showbPrec = showbPrec1
INLINE_INST_FUN(showbPrec)
$(deriveTextShow1 ''Product)