Here's a great talk about elegant error handling, called [Railway Oriented Programming](https://www.slideshare.net/ScottWlaschin/railway-oriented-programming). The talk could be useful for explaining functional-programming concepts to developers who haven't heard of functional-programming before.
The examples are in F#. I like the illustrations, I find them spot-on.![[fp-erros.png]]![[fp-erros-2.png]]