       (state.state == .waiting ? .waiting : .executing )
   }
 
-  /// Query whether this `Deferred` has become determined.
-  /// - returns: `true` iff this `Deferred` has become determined.
+  /// Query whether this `Deferred` has become resolved.
+  /// - returns: `true` iff this `Deferred` has become resolved.
 
   public var isResolved: Bool {
     return deferredState.load(.relaxed).isResolved


class Delay<Value>: Deferred<Value>
{
  /// Initialize with a `Deferred` source and a time after which this `Deferred` may become determined.
  ///
  /// The determination could be delayed further if `source` has not become determined yet,
  /// but it will not happen earlier than the time referred to by `until`.
  ///
  /// This constructor is used by `delay`
  ///
  /// - parameter queue:  the `DispatchQueue` onto which the computation should be enqueued; use `source.queue` if `nil`
  /// - parameter source: the `Deferred` whose value should be delayed
  /// - parameter until:  the target time until which the determination of this `Deferred` will be delayed

  init(queue: DispatchQueue?, source: Deferred<Value>, until time: DispatchTime)
  {

  }
}

/// A `Deferred` to be resolved (`TBD`) manually.

open class TBD<Value>: Deferred<Value>
{
  /// Initialize an unresolved `Deferred`, `TBD`.
  ///
  /// - parameter queue: the `DispatchQueue` on which the notifications will be executed

