   (->>
    (map #(cs/replace % #"\b__\b" (str prob "-solution")) tests)
    (map #(cs/replace % #"\r?\n" "\n"))
-   (map #(cs/join " " ["(is" % "\"" (enquote %) "\")"]))
+   (map #(cs/join " " [(str (indent) "(is") % "\"" (enquote %) "\")"]))
    (cs/join "\n")))
 
 (defn- write-tests

    (if (re-find r t)
      (spit fn (cs/replace t r "")))))

(defn- desc->comments
  "format a problem description as Clojure comments with one level of
   indentation"
  [desc]
  (str "  ;; " (cs/replace desc #"\r?\n" "\n  ;; ")))

(defn- add-stub [project prob]
  (let [src (io/file "src" (ns->path (project :group)) "core.clj")]

          (println (str "Problem \"" title "\" added!"))
          (println (str "Problem \"" title "\" has already been added!"))))
      (catch Exception e
        (println (str "Failed setting problem " prob-num ": " (.getMessage e)))))
    (println "Cannot get problem" prob-num "(HTTP status != 200).")))
