title: Why are Kotlin interfaces "not open"?
body: <p>In Kotlin 1.4.30, when I type</p>
  <pre><code>open interface I
  </code></pre>
  <p>the Kotlin compiler warns me that <code>modifier 'open' is redundant for 'interface'</code>. This makes complete sense: Of course interfaces are open, otherwise they would be useless.</p>
  <p>However, the reflection library seems to contradict this:</p>
  <pre><code>interface I
  println(I::class.isOpen) // prints 'false'
  </code></pre>
  <p>How does this make sense? The <a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.reflect/-k-class/is-open.html" rel="nofollow noreferrer">KDoc of <code>isOpen</code></a> is very brief:</p>
  <blockquote>
  <p><code>true</code> if this class is open.</p>
  </blockquote>
  <p><strong>What exactly is the definition of &quot;open&quot; in Kotlin?</strong>
  I thought it meant &quot;open to the possibility of being sub-typed by classes outside this file&quot;.</p>