Por que em Kotlin List não tem métodos add() e remove(), e Map não tem put()?
Olá! Comecei a estudar Kotlin depois de Java e me deparei com uma situação confusa. Em Java, estou acostumado a trabalhar com listas assim:
```kotlin
val list = ArrayList()
list.add("Olá") // Em Java isso funciona
```
Mas em Kotlin recebo um erro de compilação quando tento chamar `add()` ou `remove()` em um `List` comum. O mesmo problema com `Map` — o método `put()` não está disponível. No entanto, o código compila se eu usar `MutableList` ou `MutableMap`.
Aqui está um exemplo que não funciona:
```kotlin
fun main() {
val fruits = listOf("Maçã", "Banana")
fruits.add("Laranja") // Erro: Unresolved reference: add
val capitals = mapOf("Rússia" to "Moscou")
capitals.put("França", "Paris") // Erro: Unresolved reference: put
}
```
Por que isso foi feito? Qual é o sentido de separar `List` e `MutableList`? E como adicionar/remover elementos corretamente? Li a documentação, mas quero entender a filosofia dessa abordagem. Desde já agradeço pela explicação!