 (ns leiningen.fore-prob
   "Populate the current project with a 4clojure problem."
   (:require [clj-http.client :as http]
-            [clojure.java.io :as io])
-  (:use [clojure.string :as cs :exclude [replace reverse]]))
+            [clojure.java.io :as io]
+            [clojure.string  :as cs]))
 
-;; Purloined from leiningen/src/leiningen/util/paths.clj
+;; Adapted from leiningen/src/leiningen/util/paths.clj
 (defn- ns->path
   "Convert a namespace into a path"
   [n]
-  (str (.. (str n)
-           (replace \- \_)
-           (replace \. \/))))
+  (apply str (replace {\- \_
+                       \. \/} n)))
 
 (defn- title->fn
   "Convert a problem title into a valid function name"

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

(defn- write-tests

      (spit src
            (str "\n(defn " prob "-solution [] ; Update args as needed!\n"
                 (-> project :description desc->comments) "\n"
                 (indent) "nil)\n")
            :append true))))

(defn- no-test-yet
