Мне все-таки интересно мнение. Есть коллекции. Мы можем каждый раз пользоваться ссылками, оверхеда -- ноль, тут все понятно. Меняем везде один и тот же экземпляр
Допустим у нас есть условие, что в зависимости от чего-то мы хотим поменять какие-то элементы коллекции.
Если копировать коллекцию явно, чтобы не менять исходную -- мы теряем в памяти и во времени, если условие не будет выполнено.
Тогда мы можем копировать их только при изменении, используя copy-on-write. Это позволит нам с одной стороны избавиться от копирования когда не нужно, с другой -- использовать новую коллекцию, которая не зависит от старой.
Или я неправильно где-то в этой цепочке рассуждаю?)