artem belikov
Ну это как у тебя есть договор в виде определения "класса", а потом ты херак к протоколу добавил еще одну страницу, которая есть только у тебя.
Это тоже самое что я бы создал новый класс и сделал его наследником класса А, только дописал туда поле. Но зачем мне это делать? У меня уже есть объект, я уже сейчас знаю что мне в нем нужно еще, какие-то дополнительные функции или поля. Вот я беру и создаю. А если вам нужны контракты, то вы и в ТС можете объявить необязательное поле, а потом иногда его заполнять, а иногда не трогать. Это же все упирается в удобство и скорость разработки