   {:pre [(t/thing? thing)]}
   (let [versions (api/thing->prior-versions config thing)]
     (if (succeed? versions)
-      (-> (for [prior-thing (result versions)
-                :let        [v (t/thing->name (t/thing->version prior-thing))
-                             h (impl/thing->handle config :examples prior-thing)]
-                ex          (.listFiles h)
-                :when       (.isFile ex)]
-            (t/->Example thing, (.getPath ex)))
-          succeed)
+      (succeed
+       (for [prior-thing (result versions)
+             :let        [v (t/thing->name (t/thing->version prior-thing))
+                          h (impl/thing->handle config :examples prior-thing)]
+             ex          (.listFiles h)
+             :when       (.isFile ex)]
+         (t/->Example thing, (.getPath ex))))
 
       ;; versions is a Fail, pass it down
       versions)))

  (if-not (t/versioned? thing)
    (let [versions (api/thing->prior-versions config thing)]
      (if (succeed? versions)
        (-> (for [thing (result versions)
                  :let  [v (t/thing->name (t/thing->version thing))
                         h (impl/thing->notes-handle config thing)]
                  :when (.exists h)
                  :when (.isFile h)]
              (t/->Note thing, (.getPath h)))
            succeed)

        ;; versions is a Fail, pass it down
        versions))

        _         (assert namespace)
        handle    (impl/thing->handle config :else namespace)]
    (if (.isDirectory handle)
      (succeed
       (for [d     (.listFiles handle)
             :when (.isDirectory d)]
         (t/->Def namespace (.getName d))))
      (fail (str "No such namespace "
                 (t/thing->path thing))))))

