Implement recover and recoverWith. Change to Try that handles Throwables instead of Exceptions to cover use cases in eg play controllers. Scala Try behaves this way as well.