В Swift, как мы определяем протокол, который расширяет или специализирует базовый протокол? Документация, похоже, не делает этого ясно.
Также неясно, соответствуют ли протоколы Swift/расширению протокола NSObject? Это интересный вопрос, поскольку он намекает на то, что Swift использует диспетчер vtable или сообщений для вызова методов протокола.