#if compiler(>=6) public typealias _SendableAnyKeyPath = any AnyKeyPath & Sendable public typealias _SendablePartialKeyPath = any PartialKeyPath & Sendable public typealias _SendableKeyPath = any KeyPath & Sendable public typealias _SendableWritableKeyPath = any WritableKeyPath & Sendable public typealias _SendableReferenceWritableKeyPath = any ReferenceWritableKeyPath< Root, Value > & Sendable public typealias _SendablePartialCaseKeyPath = any PartialCaseKeyPath & Sendable public typealias _SendableCaseKeyPath = any CaseKeyPath & Sendable #else public typealias _SendableAnyKeyPath = AnyKeyPath public typealias _SendablePartialKeyPath = PartialKeyPath public typealias _SendableKeyPath = KeyPath public typealias _SendableWritableKeyPath = WritableKeyPath public typealias _SendableReferenceWritableKeyPath = ReferenceWritableKeyPath< Root, Value > public typealias _SendablePartialCaseKeyPath = PartialCaseKeyPath public typealias _SendableCaseKeyPath = CaseKeyPath #endif @_transparent func sendableKeyPath( _ keyPath: AnyKeyPath ) -> _SendableAnyKeyPath { #if compiler(>=6) unsafeBitCast(keyPath, to: _SendableAnyKeyPath.self) #else keyPath #endif } @_transparent func sendableKeyPath( _ keyPath: KeyPath ) -> _SendableKeyPath { #if compiler(>=6) unsafeBitCast(keyPath, to: _SendableKeyPath.self) #else keyPath #endif } @_transparent func sendableKeyPath( _ keyPath: WritableKeyPath ) -> _SendableWritableKeyPath { #if compiler(>=6) unsafeBitCast(keyPath, to: _SendableWritableKeyPath.self) #else keyPath #endif }