Подскажите пожалуйста, как в языках с иммутабельными структурами решают подобные вещи?
Например, есть список сделок со статусами. Статусы - отдельные объекты, на который ссылаются сделки (допустим, у нас всего 2-3 статуса).
Теперь, если к примеру пользователь хочет отредактировать цвет статуса - то в языках с изменяемыми структурами всё просто - меняем цвет статусу - все сделки перекрашиваются.
В иммутабельных - непонятно. Придётся сгенерировать новый список сделок, которые будут ссылаться на новый объект статуса - и так каждый раз? Или городить вместо ссылки на статус функцию, которая по id возвращает актуальный? Или какие-то ещё есть подходы?
В целом, в повседневных задачах иммутабельность помогает почти везде. Но вот такие случаи пока совсем непонятны.