title: How comes kotlin.Char is Serializable? (it is not explicitly defined)
body: <p><code>kotlin.Char</code> is defined in the following way:</p>
  
  <pre><code>public class Char private constructor() : Comparable&lt;Char&gt; {
  ...
  }
  </code></pre>
  
  <p>Where <code>Comparable&lt;T&gt;</code> is defined as:</p>
  
  <pre><code>public interface Comparable&lt;in T&gt; {
      public operator fun compareTo(other: T): Int
  }
  </code></pre>
  
  <p>So how comes a Char is <code>Serializable</code>?</p>
  
  <pre><code>fun main(args: Array&lt;String&gt;) {
    println('A'::class) // class kotlin.Char
    println('A'::class.java) // char
    println('A' is java.io.Serializable) // true
  }
  </code></pre>
  
  <ul>
  <li>Is it something added on compilation to Byte code?</li>
  <li>Is it documented anywhere?</li>
  </ul>