{-# LANGUAGE CPP #-}
#if __GLASGOW_HASKELL__ >=704
{-# LANGUAGE Safe #-}
#elif __GLASGOW_HASKELL__ >=702
{-# LANGUAGE Trustworthy #-}
#endif
module RERE.Absurd (Absurd (..), vacuous) where
import qualified Data.Void as Void
class Absurd a where
absurd :: a -> b
instance Absurd Void.Void where
absurd :: Void -> b
absurd = Void -> b
forall b. Void -> b
Void.absurd
vacuous :: (Functor f, Absurd a) => f a -> f b
vacuous :: f a -> f b
vacuous = (a -> b) -> f a -> f b
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
fmap a -> b
forall a b. Absurd a => a -> b
absurd