   func testDeallocTBD2()
   {
     do {
-      DeallocTBD(expectation: expectation(description: "will dealloc tbd 2")).cancel()
+      let tbd = DeallocTBD(expectation: expectation(description: "will dealloc tbd 2"))
+      do { _ = tbd.map { _ in XCTFail("Unexpected notification") } }
+      tbd.cancel()
+    }
+
+    waitForExpectations(timeout: 0.1)
+  }
+
+  func testDeallocTBD3()
+  {
+    do {
+      DeallocTBD(expectation: expectation(description: "will dealloc tbd 3")).cancel()
     }
 
     waitForExpectations(timeout: 0.1)

  func testDeallocDeferred1()
  {
    do {
      let deferred = Dealloc(expectation: expectation(description: "will dealloc deferred 1"))
      do { deferred.notify { _ in XCTFail("Unexpected notification") } }
    }

    waitForExpectations(timeout: 0.1)

  static var allTests = [
    ("testDeallocDeferred1", testDeallocDeferred1),
    ("testDeallocDeferred2", testDeallocDeferred2),
    ("testDeallocDeferred3", testDeallocDeferred3),
    ("testDeallocTBD1", testDeallocTBD1),
    ("testDeallocTBD2", testDeallocTBD2),
    ("testDeallocTBD3", testDeallocTBD3),
  ]

  class Dealloc: Deferred<Void>
