Failure is the typeclass used to model this abstract notion of failure.