I think there's a legitimate concern underlying the request here, which is that the generic syntax looks a lot more complicated than the existential syntax. One could imagine generalizing the idea of opaque result types to arguments, to allow you to write:
func foo(x: inout opaque P) { ... }
as shorthand for:
func foo<T: P>(x: inout T) { ... }
which is similar to proposals to extend Rust's impl Trait
and C++'s concept-in-type-position features.