Using Monads for Elegant Error Handling

Test-Driven Development (TDD)