What I want to see in a language would be a bunch of syntactic sugar which corresponds to a MIR like Rust&#x27;s by a well-specified reduction that is likely to be consistent from build to build.<p>The reason that this could be really cool is that you could hypothetically hash these MIRs and store these hashes in a public database of open-source code. (You would have to include hashes of whatever functions they call&#x2F;depend on, and you would have to solve foreign-function imports.)<p>Then you would have this cool language where modules are simply saying &quot;here&#x27;s a mapping of names to hashes in the public database,&quot; with automatic recognition of &quot;hey, these two functions you&#x27;re importing from these two modules are actually the same function, I don&#x27;t need to disambiguate them.&quot; If your dependency graph isn&#x27;t a tree and one of the branches can&#x27;t cope with a dependency-upgrade, that&#x27;s fine too -- you upgrade the dependency on the one branch only. The point is, all of your dependency-semantics are now reduced to a really straightforward reasoning about unique names.