[Haskell-beginners] How to write replicateM with interspersed guards?