That said, I do think it has to do with the age and strategy used. Ruby and Python hark to the days of everything being global by default, and so these tools set up clean room environments. rustup doesn’t create an environment, it keeps track of various tool chains, and defaults their binaries to the appropriate one. Cargo dependencies are already local to the project, and aren’t “installed” globally like in older versions of those systems. So like, I think you’re spot on with the broader point, but rustup has always supported multiple tool chains well.