If you want to force default protocol implementation of a method on a concrete type that overrides that method but your protocol has Self or associated type requirements, you can make use of the Opaque Type in #SwiftLang.
Most of the additions coming in Swift 5.3 seem sensible. Complex language for sure, but moving more and more to fix edge cases. Excited about SwiftPM, seems we can package our SDK with it finally! https://t.co/mPYUXNqvvB