Because it’s not possible to encode/decode a parameter pack, it might work if the pack was a tuple(and the feature discussed here was implemented: Pitch: User-defined tuple conformances) or struct.
However, since parameter packs don’t seem to be either a type or a tuple, maybe it’s not possible yet. Do you know if this will be possible in the future? I didn’t see anything in the Generics Manifesto that suggests this.