I'm excited to see this, opening existentials is a major gap in Swift expressiveness. I'm a bit concerned about the need to repeat the protocol name in some P. It does not look that bad in proposal with single-letter names, but I'm afraid that in production code it may be pretty verbose: func authenticate(alternativeAuthenticationProviders: [...
3:41 AM
protocol P { static func make() -> Self {} } func f<T: P>(x: T?) { print(x ?? T.make()) } let x: (any P)? = nil f(x) // It is not valid to substitute [T = Never] here