это вопрос не кода, а SDLC
и это не выбор, #[Immutable] будет стандартом де-факто
я встречал ровно 0 проектов, где @psalm-* аннотации валидируются в CI, только единичные разработчики пишут это для себя, чтобы ЧСВ потешить, типа, я не говнокодер как все, я аннотации пишу,
но ценность аннотаций именно в том, чтобы сделать их стандартом, и валидировать для всей команды,
а на команду в 10+ человек можно что-то натянуть только когда это промышленный стандарт,
вот когда этой осенью в последний шторм psalm зашел "из коробки", это немного изменило дело, а так-то этих валидаторов пруд...
вчера общался насчет большого проекта, в котором какой-то scrutinizer: - а че не phpstan/psalm? - админ умел его прикручивать к сборщику