Make possible to build types with borrowed data instead of owned.
There are situations where ideally to use an XDR type a value doesn't have to be cloned into it, especially for when just wanting to serialise out to XDR which doesn't actually required the value to be owned by the encapsulating type.
A good example of this is the TransactionSignaturePayload type. To use it a Transaction has to be cloned into it. Transactions can be large, and cloning them into the other type is an unnecessary requirement.
Make possible to build types with borrowed data instead of owned.
There are situations where ideally to use an XDR type a value doesn't have to be cloned into it, especially for when just wanting to serialise out to XDR which doesn't actually required the value to be owned by the encapsulating type.
A good example of this is the
TransactionSignaturePayloadtype. To use it aTransactionhas to be cloned into it. Transactions can be large, and cloning them into the other type is an unnecessary requirement.