:: Monad m => m Bool -> m () -> m () package:extra

Like when, but where the test can be monadic.
Like unless, but where the test can be monadic.