I've noticed that Cider overrides any vars I've added to the user namespace if they have the same name as a var from clojure.repl. For instance, my local doc function is override by clojure.repl/doc. I haven't been able to find where in the codebase it does this, though, or how to prevent it.
Ah, looks like cider-repl-init-code might be the answer.
And indeed it is.
Indeed. This was done mostly so that the CIDER REPL behaves similarly to the standard CLI REPL.