             (read (java.io.PushbackReader. pbr)))
           (str text))))))
 
-(defn ns-stringifier [x]
+(defn ns-stringifier
+
+  [x]
   (cond (instance? clojure.lang.Namespace x)
-        ,,(ns-name x)
-
+        ,,(name (ns-name x))
         (string? x)
         ,,x
+        (symbol? x)
+        ,,(name x)
+        :else
+        ,,(throw
+           (Exception.
+            (str "Don't know how to stringify " x)))))
 
+(defn name-stringifier
+
+  [x]
+  (cond (symbol? x)
+        ,,(name x)
+        (string? x)
+        ,,x
         :else
         ,,(throw
            (Exception.

            [detritus.var :refer [var->ns var->sym macro?]]
            [detritus.update :refer [update]]))

(defn var->type [v]
  {:pre [(var? v)]}
  (let [m (meta v)]
    (cond (:macro m)                            :macro

                              (not (macro? %1)))
                        ns-vars)
        vars    (filter #(not (fn? @%1)) ns-vars)]

    (let [meta  (-> ns the-ns meta)
          thing (ns->thing config ns)]
      (api/write-meta config thing meta))

    ;; write per symbol docs
    (doseq [var ns-vars]
