{-# LANGUAGE PolyKinds #-}
module Data.Bifunctor.Product.Extra where

import Data.Bifunctor.Product

proj1 :: Product p q a b -> p a b
proj1 :: forall {k} {k1} (p :: k -> k1 -> *) (q :: k -> k1 -> *) (a :: k)
       (b :: k1).
Product p q a b -> p a b
proj1 (Pair p a b
p q a b
_) = p a b
p

proj2 :: Product p q a b -> q a b
proj2 :: forall {k} {k1} (p :: k -> k1 -> *) (q :: k -> k1 -> *) (a :: k)
       (b :: k1).
Product p q a b -> q a b
proj2 (Pair p a b
_ q a b
q) = q a b
q