title: Accessing type parameters of outer type
body: <p>In Kotlin, we can define nested interfaces. If the outer interface is generic (here just to simulate a proper <code>Self</code> meta-type, but one can imagine other uses), can I refer to its type parameter from the inner type?</p>
  
  <p>That is, I want to achieve (an equivalent of) this:</p>
  
  <pre><code>interface JsonRepresentable&lt;Self: JsonRepresentable&lt;Self&gt;&gt; {
      fun toJson(): String
  
      interface Companion {
          operator fun invoke(json:String): Self?
      }
  }
  </code></pre>