To answer your last question, I think that printing to stderr instead of stdout won't show up in the browser; you can use the builtin ero or the following two functions to do so
(def pre args
" Like `pr', but writes to stderr.
See also: [[prne]] [[pr]] [[ero]] "
(w/stdout (stderr) (apply pr args)))
(def prne args
" Like `prn', but writes to stderr.
See also: [[pre]] [[prn]] [[ero]] "
(w/stdout (stderr) (apply prn args)))