module Control.Monad.Extended
( module Control.Monad
, unlessM_
, untilM_
) where
import Control.Monad
unlessM_ :: Monad m => m Bool -> m () -> m ()
unlessM_ p f = p >>= flip unless f
untilM_ :: Monad m => m Bool -> m a -> m ()
untilM_ p f = unlessM_ p (f >> untilM_ p f)