the f # computation expression zoo .
Monads for functional programming