 extension AsyncStream: AsyncSequence {
   /// The asynchronous iterator for iterating a AsyncStream.
   ///
-  /// This type is specificially not Sendable. It is not intended to be used
+  /// This type is specifically not Sendable. It is not intended to be used
   /// from multiple concurrent contexts. Any such case that next is invoked
   /// concurrently and contends with another call to next is a programmer error
   /// and will fatalError.

    /// is disposed of after any terminal state is reached.
    ///
    /// Cancelling an active iteration will first invoke the onTermination callback
    /// and then resume yeilding nil. This means that any cleanup state can be
    /// emitted accordingly in the cancellation handler
    public var onTermination: (@Sendable (Termination) -> Void)? {
      get {

  /// next iteration is active where the `Element` is `Void`.
  ///
  /// This can be called more than once and returns to the caller immediately
  /// without blocking for any awaiting consumption from the iteration.
  public func yield() where Element == Void {
    storage.yield(())
  }
