A monad (and monad transformer) for generating random values, designed to be easily parallelisable based on techniques described in the random and quickcheck packages.