{-# LANGUAGE ExplicitForAll #-} module Hextra.Monad where none :: forall m. m () -> m () none :: m () -> m () none = m () -> m () forall a. a -> a id forever :: forall m a. Monad m => m a -> m a forever :: m a -> m a forever m a m = m a m m a -> m a -> m a forall (m :: * -> *) a b. Monad m => m a -> m b -> m b >> m a -> m a forall (m :: * -> *) a. Monad m => m a -> m a forever m a m