Primary associated types позволяют указывать associatedtype в existential/opaque: any Collection<Element == Int>-стиль упрощённо any Collection<Int>.
Разбор
- Снижает нужду в type erasure для простых случаев.
- Доступно в современных Swift.
- Не все протоколы объявили primary associatedtype.
- Улучшает читаемость API.
Итог
Primary associated types делают existential с associatedtype практичнее.