invertible-0.1.1: Data/Invertible/Coerce.hs
-- |
-- Bidirectional version of "Data.Coerce".
{-# LANGUAGE TypeOperators #-}
module Data.Invertible.Coerce
( coerce
) where
import qualified Data.Coerce as C
import Data.Invertible.Bijection
-- |Safely 'C.coerce' between values of types that have the same representation.
coerce :: (C.Coercible a b, C.Coercible b a) => a <-> b
coerce = C.coerce :<->: C.coerce