-- | A helper function which witnesses the fact that any
-- container which is both a Functor and a Contravariant
-- must actually be empty.
coerce :: (Contravariant f, Functor f) => f a -> f b
coerce = contramap (const ()) . (const () <$>)
coerce :: (Contravariant f, Functor f) => f a -> f b
coerce = contramap (const ()) . (const () <$>)
coerce = contramap (const ()) . (const () <$>)