   /// Multiple threads can call this method at once; they will succeed in turn.
   ///
   /// Before `resolve()` has been called, the effect of `enqueue()` is to add the closure
-  /// to a list of closures to be called once this `Deferred` has a resolved outcome.
+  /// to a list of closures to be called once this `Deferred` has a resolved result.
   ///
   /// After `resolve()` has been called, the effect of `enqueue()` is to immediately
   /// enqueue the closure for execution.

    super.init(queue: queue, source: source)

    source.enqueue(queue: queue, boostQoS: false) {
      [weak self] outcome in
      guard let this = self, (this.isResolved == false) else { return }

      if outcome.isError
      {
        this.resolve(outcome)
        return
      }


    let state = deferredState.swap(.resolved, .acqrel)
    // precondition(state.isResolved == false)
    let waitQueue = state.waiters?.assumingMemoryBound(to: Waiter<Value>.self)
    notifyWaiters(queue, waitQueue, result)

    // precondition(waiters.load() == .resolved, "waiters.pointer has incorrect value \(String(describing: waiters.load()))")

