-- | Monad functions. module Music.Theory.Monad where repeatM_ :: (Monad m) => m a -> m () repeatM_ = sequence_ . repeat iterateM_ :: (Monad m) => st -> (st -> m st) -> m () iterateM_ st f = do st' <- f st iterateM_ st' f