I’ve always thought “Zcash Object Signing and Encryption” would be a good idea (think COSE/JOSE… ZOSE). Could be super compact in instances when you are reusing some of the cryptographic properties of the transaction yet generic enough to change the properties when necessary.