     let waitQueue = waiters.swap(Waiter.invalid, order: .consume)
     WaitQueue.notifyAll(queue, waitQueue, result)
 
-    assert(waiters.pointer == Waiter.invalid)
+    assert(waiters.pointer == Waiter.invalid, "waiters.pointer has incorrect value \(waiters.pointer)")
 
     // The result is now available for the world
     return true

  fileprivate func determine(_ result: Result<Value>) -> Bool
  {
    guard resultp.pointer == nil
    else { // this Deferred is already determined
      return false
    }

    // optimistically allocate storage for result
    let p = UnsafeMutablePointer<Result<Value>>.allocate(capacity: 1)

        break
      }

      if let o = resultp.pointer
      { // another thread succeeded ahead of this one; clean up
        assert(p != o)
        p.deinitialize(count: 1)
        p.deallocate(capacity: 1)
        return false
