Yeah, seems like this could be a great win for usability. I thought I was going crazy for a moment because I remembered doing this, but PR-10470 improved this for the conditionally conforming collection types at runtime, not for compile-time failures.
I think there's potential for maybe making this a fix-it too. Instead of "because 'Encodable' does not conform to 'Encodable'", we can say "because 'Encodable' does not conform to itself. You must use a concrete type to encode or decode; did you mean to make this type generic?" [need to simplify] and potentially offer to make the type generic on T : Encodable if it isn't already.