 
 /// Waits for the completion of a non-failable task and then returns its value.
 ///
-/// - parameter closure: The closure that returns a initialized non-failable task.
+/// - parameter closure: The closure that returns an initialized non-failable task.
 ///
 /// - returns: The non-failable task's associated value.
 public func await<V>(@noescape closure: () -> NonFailableTask<V>) -> V {


/// Waits for the completion of a task and then returns its value.
///
/// - parameter closure: The closure that returns a initialized task.
///
/// - throws: Any error occurred while task was executing.
///


/// Waits for the completion of a non-failable task and then returns its value.
///
/// - parameter task: An initialized non-failable task.
///
/// - returns: The non-failable task's associated value.
public func await<V>(task: NonFailableTask<V>) -> V {
    return task.waitForCompletionAndReturnValue()
}

/// Runs a non-failable task in a background queue and then calls the completion handler with its associated value.
///
/// - parameter task:              The non-failable task to run.
/// - parameter queue:             The queue where the task will be "awaited".
