Call the provided function with a slice of Encode trait objects
representing the fields of this SEQUENCE.
This method uses a callback because structs with fields which aren’t
directly Encode may need to construct temporary values from
their fields prior to encoding.