Just a quick note: I've uploaded a new version of the MonadRandom which adds Applicative instances for Rand and RandT. Now you can write your random code in an applicative style! -Brent