I've been using a lot of Swift lately, and they have a generic type roadmap that talks about "existential types" and being able to "open" an existential. This looks very similar.
[0] https://stackoverflow.com/questions/292274/what-is-an-existe...