   not displaying defaults. There are three sequences of lengths if we
   are showing defaults."
   [lens parts]
-  (let [fmt (case (count lens)
-              2 "~{  ~vA  ~vA~}"
-              3 "~{  ~vA  ~vA  ~vA~}")]
-    (map #(s/trimr (pp/cl-format nil fmt (interleave lens %))) parts)))
+  (let [fmt (make-format lens)]
+    (map #(s/trimr (apply format fmt %)) parts)))
 
 (defn- required-arguments [specs]
   (reduce

            (recur opts (conj argv car) cdr)))
        [opts argv]))))

;;
;; Legacy API
;;

(ns ^{:author "Gareth Jones, Sung Pae, Sean Corfield"
      :doc "Tools for working with command line arguments."}
  clojure.tools.cli
  (:require [clojure.string :as s]))

(defn- tokenize-args
  "Reduce arguments sequence into [opt-type opt ?optarg?] vectors and a vector
