I have a lateinit property, that should only be able to be set from the outside but not accessible.
private lateinit var string: String
public set
Why does the setter have to have a less permissive visibility than the field? Now I have to write it like this, which is kind of ugly:
private lateinit var string: String
fun setString(string: String) {
this.string = string
}