В extension Protocol можно дать default-реализацию требований; conforming типы получают её бесплатно, пока не переопределят.
Разбор
- Не всё можно сделать default (без associatedtype-ограничений иногда нельзя).
- Dispatch: иногда статически, не динамически как class override — нюансы вызова через протокол.
- Мощный инструмент mixin-стиля.
- Документируйте, что является customization point.
Итог
Default implementation в extension — переиспользование поведения без базового класса.