Reasonably efficient probability monad for Haskell.