 provide a set of visited notes (v) and a collection of nodes to
 visit (ns)."
   ([g n]
-     (lazy-walk g [n] #{}))
+   (lazy-walk g [n] #{}))
   ([g ns v]
-     (lazy-seq (let [s (seq (drop-while v ns))
-                     n (first s)
-                     ns (rest s)]
-                 (when s
-                   (cons n (lazy-walk g (concat (get-neighbors g n) ns) (conj v n))))))))
+   (lazy-seq (let [s (seq (drop-while v ns))
+                   n (first s)
+                   ns (rest s)]
+               (when s
+                 (cons n (lazy-walk g (concat (get-neighbors g n) ns) (conj v n))))))))
 
 (defn transitive-closure
   "Returns the transitive closure of a graph. The neighbors are lazily computed.

;; and more modifications for use with loom/ubergraph

(ns
    #^{:author "Jeffrey Straszheim",
       :doc "Basic graph theory algorithms"}
  conexp.util.graph
  (:require [ubergraph.core :as uber]
            [loom.graph :as lg])

                 (let [[nv comp] (post-ordered-visit rev
                                                     (first stack)
                                                     [visited #{}])
                       ns (doall (remove nv stack))]        ;doall prevents StackOverflow
                   (recur ns nv (conj acc comp)))))]
    (step po #{} [])))

