     var iterator: Base.AsyncIterator
 
     @usableFromInline
-    var predicate: (Element, Element) async -> Bool
+    let predicate: @Sendable (Element, Element) async -> Bool
 
     @usableFromInline
     var last: Element?
 
     @inlinable
-    init(iterator: Base.AsyncIterator, predicate: @escaping (Element, Element) async -> Bool) {
+    init(iterator: Base.AsyncIterator, predicate: @escaping @Sendable (Element, Element) async -> Bool) {
       self.iterator = iterator
       self.predicate = predicate
     }

  }
}

public struct AsyncThrowingRemoveDuplicatesSequence<Base: AsyncSequence>: AsyncSequence {
  public typealias Element = Base.Element
  

    Iterator(iterator: base.makeAsyncIterator(), predicate: predicate)
  }
}

extension AsyncThrowingRemoveDuplicatesSequence: Sendable where Base: Sendable, Base.Element: Sendable, Base.AsyncIterator: Sendable { }
extension AsyncThrowingRemoveDuplicatesSequence.Iterator: Sendable where Base: Sendable, Base.Element: Sendable, Base.AsyncIterator: Sendable { }
