title: Renewal of Java Generic Type System
body: <p>Is it possible that the developer of the java renew java's generic type system to make it comparable to C#'s one?</p>
  
  <p>I know that the jvm has no language support for this in the class files, but is it possible to introduce such constructs afterwards into the jvm language (Class Bytecode)</p>
  
  <p>Pros for better Types System in Java are:</p>
  
  <ul>
  <li><p>Fewer or No Safety Warnings at all</p></li>
  <li><p>Runtime Reflection for Generics</p></li>
  <li><p>Higher Kinded Types (HKT) would be possible</p></li>
  </ul>
  
  <p>To see the last point for HKT:
  Java supports Types of classes with</p>
  
  <pre><code>Class&lt;T&gt;
  </code></pre>
  
  <p>Is it also legitime to say that a class has Type </p>
  
  <pre><code>Class&lt;Class&lt;T&gt;&gt;
  </code></pre>
  
  <p>for instance for collections like </p>
  
  <pre><code>ArrayList&lt;T&gt;, HashSet&lt;T&gt;,
  </code></pre>
  
  <p>but also for some other generic classes which are not collections.
  Sadly,</p>
  
  <pre><code>Class&lt;Class&lt;T&gt;&gt; 
  </code></pre>
  
  <p>makes no sense in java because of type erasure.</p>