   ) -> Bool {
     let optPriority: Task.Priority? = priority
     return spawnUnlessCancelled(priority: optPriority, operation: operation)
+  }
+
+  @_alwaysEmitIntoClient
+  public mutating func asyncUnlessCancelled(
+    priority: Task.Priority? = nil,
+    operation: __owned @Sendable @escaping () async throws -> ChildTaskResult
+  ) -> Bool {
+    spawnUnlessCancelled(priority: priority, operation: operation)
   }
 
   /// Add a child task to the group.

    return spawn(priority: optPriority, operation: operation)
  }

  /// Spawn, unconditionally, a child task in the group.
  ///
  /// ### Error handling

  ) {
    let optPriority: Task.Priority? = priority
    spawn(priority: optPriority, operation: operation)
  }

  @_alwaysEmitIntoClient
  public mutating func async(
    priority: Task.Priority? = nil,
    operation: __owned @Sendable @escaping () async -> ChildTaskResult
  ) {
    spawn(priority: priority, operation: operation)
  }

  /// Add a child task to the group.
