module Data.Vector.Persistent.Internal.CoercibleUtils where
import Data.Coerce (Coercible, coerce)
infixr 9 #.
(#.) :: Coercible b c => (b -> c) -> (a -> b) -> a -> c
#. :: forall b c a. Coercible b c => (b -> c) -> (a -> b) -> a -> c
(#.) b -> c
_ = coerce :: forall a b. Coercible a b => a -> b
coerce
{-# INLINE (#.) #-}
infixr 9 .#
(.#) :: Coercible a b => (b -> c) -> (a -> b) -> a -> c
.# :: forall a b c. Coercible a b => (b -> c) -> (a -> b) -> a -> c
(.#) b -> c
f a -> b
_ = coerce :: forall a b. Coercible a b => a -> b
coerce b -> c
f
{-# INLINE (.#) #-}