Markov chains in Clojure