Ivan Cukic gave a very good talk on monads at Meeting C++ 2014:
by Ivan Cukic
From the talk description:
Monads are scary, and monads are evil. But they are still useful.
In the recent years, the abuse of multi-threading has become apparent and more and more systems started being developed in the reactive, or event-processing style. It allows lowering the number of threads to match the system cores instead of items that are being processed by using non-blocking asynchronous APIs.