You can have immutability by making the setters methods of a class private. So if you combine it with "val" you have immutable objects. It is a bit more job in kotlin but as it is also object oriented programming you can achieve exactly what you want.
And for structures you have list, mutablelist, map, mutablemap, etc.
And for structures you have list, mutablelist, map, mutablemap, etc.
What else do you want?