mulligan 0.4.1
Allows you to decouple the code implementing a exception-handling strategy from the code which decides which strategy to use. In other words, when you handle a Mulligan::Condition in your rescue clause, you can choose from a set of strategies (called "restarts") exposed by the exception to take the stack back to where #raise was called, execute your strategy, and pretend that the exception was never raised.