replaced Failure of string with Failure of exn and added a way to change the status