   (:require #?@(:clj ([clansi]))
             [clojure.spec.alpha :as s]
             [clojure.string :as str]
+            [clojure.walk :as walk]
             [fipp.clojure :as fipp]
             [pinpointer.printer :as printer]
             [pinpointer.trace :as trace]))

            (fn [problems] (map #(update % :path subvec 1) problems)))
    ed))

(defn pinpoint-out
  ([ed] (pinpoint-out ed {}))
  ([ed {:keys [colorize]}]

           (println "     Input:" line)
           (doseq [line lines]
             (println "          :" line))
           (let [[line & lines] (as-> (:pred problem) it
                                  (simplify-spec it)
                                  (with-out-str (fipp/pprint it))
                                  (str/split it #"\n"))]
             (println "  Expected:" line)
             (doseq [line lines]
               (println "           " line)))
