   ///
   /// - parameter qos: the Quality-of-Service class at which the notifications should be performed; defaults to the current quality-of-service class.
 
-  public convenience init(qos: DispatchQoS? = nil)
-  {
-    let qosClass = qos?.qosClass ?? DispatchQoS.QoSClass.current ?? .utility
-    self.init(queue: DispatchQueue.global(qos: qosClass))
+  public convenience init(qos: DispatchQoS = DispatchQoS.current ?? .utility)
+  {
+    self.init(queue: DispatchQueue.global(qos: qos.qosClass))
   }
 
   /// Set the value of this `Deferred` and change its state to `DeferredState.determined`


  public convenience init(_ result: Result<Value>)
  {
    self.init(queue: DispatchQueue.global(), result: result)
  }

  /// Initialize to an already determined state, with a queue at the current quality-of-service class.


  // MARK: initialize with a closure

  /// Initialize with a computation task to be performed in the background
  ///
  /// - parameter qos:  the Quality-of-Service class at which the computation (and notifications) should be performed
  /// - parameter task: the computation to be performed

  public convenience init(qos: DispatchQoS = DispatchQoS.current ?? .default, task: @escaping () throws -> Value)
  {
    self.init(queue: DispatchQueue.global(qos: qos.qosClass), task: task)
  }
