как раз читаю эту статью. Увы, про историческую часть не нахожу упоминаний
Задача согласования номеров семейств протоколов (protocol family, первый аргумент), мне кажется, имеет сложность одного порядка с задачей согласования номеров протоколов
Потому что статические переменные единственные на класс, а не на объект. ООП тихо плачет в уголке, когда ты делаешь статическими мемберы класса, которые концептуально таковыми не являются