В моем понимании, как вы говорите, vtables разрешают динамическую диспетчеризацию методов класса.Эти таблицы генерируются во время компиляции.
Таблицы-свидетели, с другой стороны, допускают динамическую диспетчеризацию универсальных типов, поэтому таблица отличается, потому что ей необходимо отобразить универсальные записи для достижения того же результата: динамическая диспетчеризация.Эти таблицы содержат информацию, которую компилятор использует для «создания таблиц диспетчеризации во время выполнения».Информация не определяется во время компиляции.Если вы проверите в документации, что таблица-свидетель отображает базовый протокол, необходимые ему методы, а также связанный с ним тип и его соответствие протоколов (связанного типа).
Не уверены, правильно ли я понял ваш вопрос?