Clojure core language is small. More advanced syntax tends to be implemented using macros expanding to a handful of core special forms. One of the special symbols is
def, used for interning
Vars in the current namespace. Yet, there's also
intern that does virtually the same thing (bar the choice of ns) and is implemented with a mere function and some interop.
def deserve a special form? Are there use-cases
def makes possible that couldn't be achieved with
intern and some more interop or macros?