Serialize a Serializable value as length-prefixed bytes into a Serializer,
with backwards compatibility for older Serializer implementations that lack
the serializeAsBytes method. This is critical for cross-version compatibility
when SDK objects built with a newer SDK are serialized by an older SDK's Serializer
(e.g., wallet extensions bundling an older SDK version).
Serialize a Serializable value as length-prefixed bytes into a Serializer, with backwards compatibility for older Serializer implementations that lack the
serializeAsBytesmethod. This is critical for cross-version compatibility when SDK objects built with a newer SDK are serialized by an older SDK's Serializer (e.g., wallet extensions bundling an older SDK version).