Всегда, когда это возможно, нужно использовать неизменяемые коллекции, и неизменяемые переменные/проперти(val, а не var). Это нужно для того, чтобы сделать интерфейсы и код чище. Хорошо видно, где могут изменяться те или иные данные, а где - не могут, именно для этого иерархия коллекций в котлине разделена на две части. В джаве этого нет, и приходилось делать проверки в рантайме(см
Collections.unmodifiableList, например).