Now that we have as_component_batches, can't try_to_arrow just call self.as_component_batches and then call try_to_arrow() on each component batch? A lot less code needs generating. I guess we get an additional dyn call per component, but that seems worth it
Mesh3Darchetype #3363 (comment)