To be concrete, there aren’t problems with:
- conforming types that you do own to protocols you do own
- conforming types that you don’t own to protocols you do own
- conforming types that you do own to protocols you don’t own
There are problems with:
- conforming types that you don’t own to protocols you don’t own
It’s true that a tuple type made up of only types you don’t own is in turn a type you don’t own, but even then you can appropriately conform it to protocols that you own.
If the tuple type is made up of at least one type you do own, it’s a tuple type that you own, and you can conform it without issue to any protocol of your choosing.