-- Hoogle documentation, generated by Haddock
-- See Hoogle, http://www.haskell.org/hoogle/


-- | A Haskell 98 logically uninhabited data type
--   
--   A Haskell 98 logically uninhabited data type, used to indicate that a
--   given term should not exist.
@package void
@version 0.7.2


module Data.Void.Unsafe

-- | If <a>Void</a> is uninhabited than any <a>Functor</a> that holds only
--   values of the type <a>Void</a> is holding no values.
--   
--   This is only safe for valid functors that do not perform GADT-like
--   analysis on the argument.
unsafeVacuous :: Functor f => f Void -> f a

-- | If <a>Void</a> is uninhabited then any <a>Monad</a> that holds values
--   of type <a>Void</a> is holding no values.
--   
--   This is only safe for valid monads that do not perform GADT-like
--   analysis on the argument.
unsafeVacuousM :: Monad m => m Void -> m a
