The following Kotlin code:
val x = null + null
results in x being of type String, which is correct as according to the docs for String.plus:
Concatenates this string with the string representation of the given [other] object. If either the receiver or the [other] object are null, they are represented as the string "null".
However, I don't understand why this happens - is it due to some special feature of the language?