We’ve had a few cases where people encountered issues due to the existence of user.clj during uberjar building with tools.build.
Because user loads early, anything it loads is not (typically) reloaded during compilation, which can lead to some namespaces not being compiled.
Should maybe warn if user is on classpath or even actively recompile with something like
(binding [*compile-files* true] (require 'user :reload-all))