which can be translated straightforwardly into OCaml.
+ For more details, see:
+
+ * [Haskell Wikibook on do-notation](http://en.wikibooks.org/wiki/Haskell/do_Notation)
+ * [Do-notation considered harmful](http://www.haskell.org/haskellwiki/Do_notation_considered_harmful)
+
* If you like the Haskell do-notation, there's [a library](http://www.cas.mcmaster.ca/~carette/pa_monad/) you can compile and install to let you use something similar in OCaml.
* In order to do any printing, Haskell has to use a special `IO` monad. So programs will look like this: