A pseudo-random number generator in Haskell