title: What is an existential type?
body: <p>I read through the Wikipedia article <em><a href="https://en.wikipedia.org/wiki/Type_system#Existential_types" rel="noreferrer">Existential types</a></em>. I gathered that they're called existential types because of the existential operator (∃). I'm not sure what the point of it is, though. What's the difference between </p>
  
  <pre><code>T = ∃X { X a; int f(X); }
  </code></pre>
  
  <p>and</p>
  
  <pre><code>T = ∀x { X a; int f(X); }
  </code></pre>
  
  <p>?</p>