Syntax is undoubtedly important, but primarily as a means of elegantly expressing the unique
semantics of a language. The visible ugliness is the language being explicit about low-level details.
So what else? Rust isn’t a huge innovation in terms of language features, but it does take advantage of relatively recent advances in language design (e.g. typeclasses) and has an excellent combination of defaults. The important ones are memory safety, an ownership model (think unique_ptr/shared_ptr), immutability, and isolated lightweight threads.