title: Why is the type of null + null implicitly String in Kotlin?
body: <p>The following Kotlin code:</p>
  
  <pre><code>val x = null + null
  </code></pre>
  
  <p>results in <code>x</code> being of type <code>String</code>, which is correct as according to the docs for <a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/plus.html" rel="noreferrer"><code>String.plus</code></a>:</p>
  
  <blockquote>
    <p>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".</p>
  </blockquote>
  
  <p>However, I don't understand why this happens - is it due to some special feature of the language?</p>