Are square brackets part of the spec now? I can't get over ((((( for everything with no real easily visible distinguishability between parts of a definition. Clojure gets the Lisp-like syntax as right as possible IMO.
Square brackets are replaced by normal parenthesis to my knowledge.
Though I have to admit that I strongly dislike them. They put more cognitive effort into the syntax than they aid.
I like this in Haskell/Agda/Idris because it makes the function definition easier to read while still keeping the type signature in view. Interesting. Like they say, de syntaxibus non est disputandum.