As far as renaming, I’m opposed. Names should reflect what something is, not how you expect it to be used. That goes for parameter names and it goes for class names and everything else.
For anyone that wants a rename, or is for some reason jealous of the Rust learning curve, I think the real issue here is documentation. The Scala documentation situation is really poor. It used to be a lot worse, but it’s not good enough.
There are any number of things like this I can point to. People used to say Scala is too complex, especially all its advanced types, but you don’t hear that since Typescript came out. For some reason people have no issue with writing really crazy types. And the number of pitfalls I see people hitting in C# is staggering, but I never hear those people criticizing C#.
IMO what we have is a messaging problem. There’s no one place that someone can go to and read the answers to everything they need to know. People are fine with Typescript’s insane types because they have an official doc book that covers everything in very easy-to-understand English. And because it solves an important need and that’s what everyone’s using. Same with C#. They aren’t always comparing themselves to everyone else. I think Scala has got an inferiority complex.
So again, the reason why people learning Rust find what Result does more intuitive that how people learning Scala find Either, is because of how it’s taught, or not – plain and simple.
As far as error accumulation, we could add some helpers to the library for Either[List[E], A].