/* This version uses an infinite stream which cycles through 99,98..0 repeatedly, and pauses for 1 second after each verse. Use Ctrl-C to interrupt when you get bored. */ song = do verse $ cycle [99,98..0]; verse 0 = puts "No more bottles of beer on the wall, no more bottles of beer.\n\ Go to the store and buy some more, 99 bottles