Using Railway-Oriented Programming to Model Business Transactions Simplify complex procedures using monads to organize your logic