Thanks for linking this! And I (though not OP) totally agree with your points!
I hope that these things could be solved with future iterations. For example:
Variadic protocols don't exist.
Hopefully they are added sometime.
the syntax is awful and verbose.
Hopefully we can settle on allowing `1` instead of `Literal[1]` as a type (and other similar improvements).
many operations like stacking are inexpressible.
These
could be expressed if things like "multiplying"/"adding" literal numeric types would be supported.
The variadic generics PEP was partly motivated by the ML use-case (and took input from maintainers of numpy ..etc), so I hope future iterations will also improve the usage in the ML space.