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.
Why does 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?