doc ничего не возвращает, просто печатает на экран. Взгляните на источник
Clojure 1.3.0-master-SNAPSHOT
user=> (source doc)
(defmacro doc
"Prints documentation for a var or special form given its name"
{:added "1.0"}
[name]
(if-let [special-name ('{& fn catch try finally try} name)]
(#'print-doc (#'special-doc special-name))
(cond
(special-doc-map name) `(#'print-doc (#'special-doc '~name))
(resolve name) `(#'print-doc (meta (var ~name)))
(find-ns name) `(#'print-doc (namespace-doc (find-ns '~name))))))
Вызов (str) on (doc) всегда вернет ноль.