                     (catch #?(:clj Throwable :cljs :default) e e))]
        (cond (vector? traces)
              (binding [*colorize-fn* (choose-colorize-fn colorize)]
-               (newline)
                (print-headline nproblems)
                (hline width)
                (doseq [t (map vector (range) problems traces)]
-                 (print-error nproblems value t {:width width})
+                 (print-error nproblems value t {:width (max (- width 11) 0)})
                  (newline)
                  (hline width)))
 


(defn- print-headline [nproblems]
  (if (= nproblems 1)
    (println " Detected 1 spec error:")
    (println " Detected" nproblems "spec errors:")))

(defn- hline [width]
  (->> (str " " (times (- width 2) \-) " ")
       (colorize :cyan)
       println))



(defn- print-error [total value [i problem trace] opts]
  (letfn [(print-with-caption [caption s]
            (println (str (pad-left caption 9) \:) s))
          (print-data [caption chunk]
            (let [val (:val (first chunk))
                  [line & lines] (format-data val chunk opts)]
              (print-with-caption caption line)
              (doseq [line lines]
                (println "          " line))))
          (print-spec [caption spec]
            (let [[line & lines] (as-> spec it
                                   (simplify-spec it)
