Finally landed the first of many #SwiftLang standard library updates to replace "rethrows" with generic typed throws: https://github.com/apple/swift/pull/69771. The feature has been a fantastic exercise in generalizing in place: it maintains the same behavior for existing Swift code, maintains the stable ABI of the standard library, and yet any Swift code that adopts typed throws will see typed errors propagate through the standard library in the natural way.
Another, simpler example is Swift's Result type, which has always effectively had typed errors because it's generic over the "Failure" type. However, any interaction between Result and errors in the language (e.g., an actual throw or do..catch) would have to erase to "any Error". Now, we can express the relationship between the "Failure" type and error handling, allowing one to smoothly go between throw/do..catch and Result: https://github.com/apple/swift/pull/70907