Avoiding Disaster: Practical Strategies for Error Handling

Monads