Markov Chains in Haskell