Early on, Krisztian Szucs and I worked on two different designs for how to represent Arrow arrays in Rust, each with their pros and cons.
Krisztian started out with a generics approach e.g. Array<T> which was great until we tried to implement structs, which can contain mixed types so we ended up using enum to represent arrays, which was great until I got to the list types ... I don't think I can implement nested lists with this approach.
I am reviewing this again now that I am more familiar with Arrow and also my Rust skills have improved greatly since I started working on all of this.
I will be prototyping in a separate repo, and will update this Jira once I have something concrete to share, but I feel it is important to address this before the first official release of the Rust version. Also, if we are going to consider a refactor like this, it is better to do it now while the codebase is tiny.