Use Rust's flat_map() With Recursive Structs
There's probably a better way to do this and I wouldn't be surprised to learn there are bugs with this approach, but this is working for me
Code
Results
[_active_nvim_run:38:3] flattened = [
"l1a",
"l2a",
"l3a",
"l3b",
"l2b",
"l1b",
]