Calling (newline) appends a newline to the output stream but does not flush it *flush-on-newline* is bound to true (the default).
Instead, only clojure.core/prn mentions *flush-on-newline* in its docstring and the check and (flush) call is explicit there.
Why is this?
Also, println does not mention that it Observes *flush-on-newline* like prn does, and it doesn't hint that it calls prn which does, since it says Same as print followed by (newline) which isn't actually true.