Принимайте/возвращайте read-only List, чтобы клиент не мутировал внутренности; внутри копируйте в mutable при необходимости.
Разбор
- Инкапсуляция коллекций.
- Kotlin не обеспечивает deep immutability автоматически.
toList() на выходе из кэша.
- Документируйте, если возвращаете shared mutable (лучше не надо).
Итог
Read-only типы в API снижают случайные мутации и баги UI.