Immutable Vec1
Hi! I'm a new rust programmer, coming from Haskell, working on a prototype compiler for a language I'm designing. In Haskell, I would frequently use Data.List.NonEmpty to guarantee that parts of my AST always hold at least one or more of some subnode. Designing an AST in rust, I initially used regular Vecs for most things, and used rustonaut/vec1 for places where I would have used NonEmpty. I'm now looking into using im vectors to represent things like parameter lists, and I was curious if an immutable Vec1 would be in scope for this project. I would be interested in working on a PR for it if it would be welcome.
I've looked into this in the past, and it seemed like a lot more work than value at the time. I'm in favour of the idea in principle, but it would have to be a concise and maintainable implementation, which didn't seem possible when I last looked into it (but that was a long time ago).