copy использует текущие значения как defaults именованных параметров; можно переопределить отдельные поля.
Разбор
- Иммутабельный update UI-state.
copy(name = null) если поле nullable.
- Не копирует свойства вне primary constructor.
- Глубокое копирование вложенных mutable — вручную.
Итог
copy — канонический способ обновить data class без мутации.