Is your feature request related to a problem or challenge?
struct and named_struct do not yet implement invoke_with_args; only invoke_batch is implemented. Since invoke_batch does not have access to the return type it cannot make use of the Fields instance that's created in that function and instead derives the same value on each invocation.
Describe the solution you'd like
Implement invoke_with_args instead to allow reuse of the already computed Fields and remove the duplicated logic.
Describe alternatives you've considered
None
Additional context
Partial version of #13515 for struct and named_struct.