Lifting the "Self or associated type" constraint on existentials

Here is a good example of a genuine use case where our current restriction would have saved some confusion if the protocol in question had Self or associated type requirements: