         // NOTE: this is non-async test
         if self.isAsync { return }
         
-        Task<Float, String, String>(error: "ERROR").catch { (error: String?, isCancelled: Bool) -> String in
+        Task<Float, String, ErrorString>(error: "ERROR").catch { (error: String?, isCancelled: Bool) -> String in
+            
             XCTAssertEqual(error!, "ERROR")
-            return "OK"
+            return "RECOVERY"
+            
         }
     }
     

            
            XCTFail("Should never reach here.")
            
        }.catch { (error: NSError?, isCancelled: Bool) -> Void in
            
            XCTAssertTrue(error != nil)
            XCTAssertFalse(isCancelled)
            
            expect.fulfill()

        // NOTE: this is async test
        if !self.isAsync { return }
        
        typealias Task = SwiftTask.Task<Any, String, ErrorString>
        
        var expect = self.expectationWithDescription(__FUNCTION__)
        var tasks: [Task] = Array()
