new loop test expression, implemented While mit Control.Monad.Loops.whileM