I think it is important to think about the complete picture of how we want existential types to work.
impl Trait in return is on stable as wel as the controversial
impl Trait in argument position.
The existential type rfc was accepted however the precice syntax remains an unresolved question.
Personally I think that existential types should use the same notation as
impl Trait this way
type Name = impl Trait;
would be an existential type with name
Name. The presice type would be infered similar to how
let is infered today. There should always be a way to create the
Name and from that we can infer the type. This would extend the way
impl Trait currently works in a way that feels intuitive to me. It also has no need for more syntax to extend the already present template
<T> syntax and the
impl Trait syntax.
That is my opinion however I just want to start the discussion. I think that naming unable types is an important issue currently and I want to solve it in an coherent way that fitst in well with the rest of the language. If you feel like there is a case that is not solved by existential types this would be the place to bring it up.