I read through the Wikipedia article Existential types. 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
T = ∃X { X a; int f(X); }
and
T = ∀x { X a; int f(X); }
?