I've noticed something strange when macroexpanding (with-open ...)
The (finally ...) part looks something like this:
(finally (. stream clojure.core/close))
While this code does work, it just doesn't feel right to me.
I assume that, if, at some point in the future, the functin clojure.core/close is added to the core namespace, it might break.
Am I right or, maybe, the fact that the method close got namespace-qualified is irrelevant since any functio that goes inside the dot special form invocation (. object method) will be trated as a method name, regardless of its namespace?