 //    }
     
 //    func testZipThatFails() {
-//        let f = future { () -> Result<Int,NSError> in
+//        let f = future { () -> Result<Int,TestError> in
 //            Thread.sleep(1)
-//            return Result(error: NSError(domain: "tester", code: 3, userInfo: nil))
+//            return Result(error: TestError.Recoverable)
 //        }
 //        
 //        let f1 = Future<Int>(value: 2)

//        let e = self.expectation()
//        
//        f1.zip(f).onFailure { error in
//            XCTAssert(error.domain == "tester")
//            XCTAssertEqual(error.code, 3)
//            e.fulfill()
//        }
//        

        let e = self.expectation()
        
        future {
            Result(error: TestError.Recoverable)
        }.recoverWith { _ in
            return future { _ in
                fibonacci(5)
