Clojure is my favorite language by far, it feels natural to me.
That said, the two things which I truly miss from other languages are: understandable error messages (as mentioned by other people) and typing hints.
I've had to refactor large code at work and it's been a pain. It's hard to know when a function will throw an exception or just return nil, it's hard to know if a core function will return a vector, a sequence, or another type of collection, and so on and on. There are some projects that try to address this (spec, malli, typed clojure) but I haven't found them to be a good replacement to something among the lines of python/typescript typing.
Maybe I'm just spoiled by modern languages that have this and the ones that don't are bolting it on (Python/TS) but how do you put up with it? Any language that can't tell me the what goes in / comes out of a function feels borderline worthless for a codebase more than a few files.
Trying to infer types by looking at what the current code appears to be able to do the objects is just pain for its own sake.
Actually, Clojure has typehinting! It looks like ^String or ^Int but usually it is not required because the compiler is very good at determining things. You can use the Clojure function (typeof? the-object-goes-here) to get the type. It is not a type-less language, it is a language of heterogenous collections and therefore lax type rules because they gotta go into the same collections together. The collections can be built in creative ways, so using fundamental elements to make larger nested collections is direct and possible. We can always ask what the type of an item is, and we can introspect contents, it's not as cumbersome as some people make it out to be via hn comment.
That said, the two things which I truly miss from other languages are: understandable error messages (as mentioned by other people) and typing hints.
I've had to refactor large code at work and it's been a pain. It's hard to know when a function will throw an exception or just return nil, it's hard to know if a core function will return a vector, a sequence, or another type of collection, and so on and on. There are some projects that try to address this (spec, malli, typed clojure) but I haven't found them to be a good replacement to something among the lines of python/typescript typing.