Can you link a topic which in your opinion actually discusses the same issue? I'd like to understand where the logical contradiction would arise if we would let this compile. E.g. I found this Type 'any Protocol' cannot conform to 'Protocol' which makes a point about contravariance of the return type of the generic function which is used as an example, that makes a lot of sense to me, but I don't see the connection to my example. Thanks!