-- | Complement "Data.Strict.Tuple". module Mikan.Utils.Tuple.Strict ( (&!&) -- * Re-exports , module Data.Strict.Tuple ) where import Data.Strict.Tuple infixr 3 &!& {-# INLINE (&!&) #-} -- | Strict version of 'Control.Arrow.&&&'. (&!&) :: (a -> b) -> (a -> c) -> a -> Pair b c &!& :: forall a b c. (a -> b) -> (a -> c) -> a -> Pair b c (&!&) a -> b f a -> c g = \ !a a -> a -> b f a a b -> c -> Pair b c forall a b. a -> b -> Pair a b :!: a -> c g a a