{-# OPTIONS_GHC -Wno-orphans #-}

module LawfulConversions.Relations.Void where

import LawfulConversions.Algebra
import LawfulConversions.Prelude

-- | The empty set has no elements, and therefore is vacuously a subset of any set.
instance IsSome a Void where
  to :: Void -> a
to = Void -> a
forall a. Void -> a
absurd
  maybeFrom :: a -> Maybe Void
maybeFrom = Maybe Void -> a -> Maybe Void
forall a b. a -> b -> a
const Maybe Void
forall a. Maybe a
Nothing