Можешь объяснить паттерн оптимизации copy-on-write в Swift и описать, как он управляет эффективностью памяти для value types вроде Array, Dictionary и String? — ДейлиПреп