     }
   }
 
-  return reduced.flatMap { $0 }
+  return reduced.flatMap(transform: { $0 })
 }
 
 /// Combine two `Deferred` into one.

  return firstDetermined(qos: qos, deferreds, cancelOthers: cancelOthers).flatMap { $0 }
}

public func firstValue<Value, S: Sequence>(qos: DispatchQoS = DispatchQoS.current ?? .default,
                                           _ deferreds: S, cancelOthers: Bool = false) -> Deferred<Value>
  where S.Iterator.Element: Deferred<Value>

  var combined = [Value]()

  let reduced = reduce(qos: qos, deferreds, initial: (), combine: { _, value in combined.append(value) })
  return reduced.map(transform: { _ in combined })
}

/// Returns the result of repeatedly calling `combine` with an
