It is a relatively well-known fact that do
, when used at the top level of a namespace, lifts its children to the top-level. Which makes it suitable for e.g. writing macros that emit code that requires some namespace and immediately uses it.
That behavior is relied upon by existing libraries and is described online in various places, but it's not documented at https://clojure.org.
Perhaps it makes sense to explicitly document this particular quirk of do
and its usage.