Probability Monads from scratch in 100 lines of Haskell · HackerTrans