I sort of found it ugly, before getting used to the syntax. A lot of the feeling of ugliness of a code comes from the unfamiliarity of the syntax.
I had the same problem with Rust, especially with the lifetime syntax; all these ' in random places just made a feeling of unevenness. But when your brain starts to have a deeper understanding on the construct, it processes things differently and the structure of the code comes at you in a clear way (when the code itself is not some crap by itself, of course). Beautiful code is clear code.
It's nowhere near as "elegant" as most scripting languages, and not nearly most of the purely functional languages, but I think it's better than /$C(++)?^/.
I had the same problem with Rust, especially with the lifetime syntax; all these ' in random places just made a feeling of unevenness. But when your brain starts to have a deeper understanding on the construct, it processes things differently and the structure of the code comes at you in a clear way (when the code itself is not some crap by itself, of course). Beautiful code is clear code.