
Yes, hbc had existential types around 1993.
I've used an encoding of existentials in O'Caml (well F#), and it works, but I find it painful. And when a very smart but non-CS person saw it his mind boggled, whereas he understood the existential version just fine.
I'm a CS person, and when I saw the encoding of existentials my mind boggled. I just ended up giving up type checking entirely and using obj (the F# equivalent of Data.Dynamic) throughout. Thanks Neil ============================================================================== Please access the attached hyperlink for an important electronic communications disclaimer: http://www.credit-suisse.com/legal/en/disclaimer_email_ib.html ==============================================================================