{-# LANGUAGE CPP #-} -- | A strict pair module GHC.Utils.Containers.Internal.StrictPair (StrictPair(..), toPair) where -- | The same as a regular Haskell pair, but -- -- @ -- (x :*: _|_) = (_|_ :*: y) = _|_ -- @ data StrictPair a b = !a :*: !b infixr 1 :*: -- | Convert a strict pair to a standard pair. toPair :: StrictPair a b -> (a, b) toPair :: forall a b. StrictPair a b -> (a, b) toPair (a x :*: b y) = (a x, b y) {-# INLINE toPair #-}