Chris Lattner said in a Developer Voices podcast interview:
"Swift in a way was syntactic sugar for LLVM, at the very bottom of the stack it could talk directly to LLVM primitives. Mojo does basically that same trick, but it supercharges it by moving to this MLIR world."
Why? Because it uses MLIR? Rust has its own MIR, it's even more not-LLVM-wrapper.
But even if yes, MLIR is part of the LLVM project, so it's technically still "just an LLVM wrapper".
Mojo is designed to be very fast to compile, so many decisions were made to keep the core language simple, one example is in `where` clause, the checking there happens entirely in the parser. It can be stupid in situations where other languages are smart, and make you explicitly do checks that could be inferred in other languages. But on the other hand, it can be very fast since it doesn't have to do all the complicated resolving.
Another reason is how LLVM is used, Modular found ways to parralize LLVM code generation by introducing novel techniques that'll likely become a lot more popular with other languages.
What techniques?
https://www.research-collection.ethz.ch/entities/publication...
C# compiler is also fully multithreaded since the Roslyn rewrite in 2016.