title: What is the difference between existential types and higher-kinded type?
body: <p>I am a newbie to Scala. I have read the some introductions to these two techniques, which both somehow play the role of "wildcard" in type parameter. Could anyone please point out the essential difference between their concepts and use cases? Thanks!</p>
  
  <p><strong>EDIT:</strong></p>
  
  <p>As @Sarvesh Kumar Singh points out, both existential types and higher-kinded type is not wildcard. What I meant is some sort of abstraction from specific type parameters.</p>