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

Like unless, but where the test can be monadic.
Like when, but where the test can be monadic.
Sequentially compose two actions, discarding any value produced by the first, like sequencing operators (such as the semicolon) in imperative languages. 'as >> bs' can be understood as the do expression
do as
bs
or in terms of (>>=) as
as >>= const bs