Clojure supports defining multiple arities in the same function definition btw, like:
(defn foo
([] "hi")
([x] (str "hi " x)))
defn is a special form but implemented as a macro that is basically defining a custom syntax. I'm not sure there is any way to win "best syntax" - that's why we have 100s of programming languages. :)