We are doing [program analysis][3] in CMU, Cylab, and thus we deal a lot with computations. Since monads naturally denote computations, we finally ended up with our own library of monads. Here are the most notable features our library:

1. The library is thoroughly [documented][2];
2. The monad interface is very rich with more than a hundred of functions;
3. Provides monad transformers for 12 Monads;
4. A non-restrictive license (MIT). 

The Monads library is developed by the BAP Team and is released as a part of the [BAP v1.3 release][4]. It can be installed from opam with `opam install monads`. Please, report any bugs to the BAP [issue tracker][1]. Pull request are always welcome!

P.S.  If you don't feel comfortable in the presence of monads, try our [tutorial][5], maybe it will help you to get along with them. 

See also the Discuss [thread][6] for further info.

[1]: https://github.com/BinaryAnalysisPlatform/bap/issues
[2]: http://binaryanalysisplatform.github.io/bap/api/v1.3.0/Monads.Std.html
[3]: https://github.com/BinaryAnalysisPlatform/bap
[4]: https://discuss.ocaml.org/t/ann-bap-v1-3-release/829
[5]: http://binaryanalysisplatform.github.io/bap/api/v1.3.0/Monads.Std.html#intro
[6]: https://discuss.ocaml.org/t/ann-monads-the-missing-monad-transformers-library/830