{-# LANGUAGE MagicHash #-} module Safe.Coerce (coerce, coerce#) where import Unsafe.Coerce (unsafeCoerce) import GHC.Exts (unsafeCoerce#, TYPE, RuntimeRep(UnliftedRep)) coerce :: a -> b coerce = unsafeCoerce coerce# :: TYPE 'UnliftedRep -> TYPE 'UnliftedRep coerce# = unsafeCoerce#