UPDATE: Slides and video from a more comprehensive presentation available here (and if you understand the Either monad, read this first!). UPDATE 2: This is one of my most popular posts, and it is a useful approach to error handling, but please don’t overuse the idea! See my post on “Against Railway-Oriented Programming”. In the previous post, we saw how a use case could be broken into steps, and