 
 (defmethod render `s/multi-spec [frame printer x]
   (if (= (:reason frame) "no method")
-    (highlight (visit/visit (:base-printer printer) x))
+    (highlight (call-with-base-printer visit/visit printer x))
     (render-next printer x)))
 
 (defmethod render `s/nonconforming [frame printer x]

                 " must have its own method implementation of " `render)]
    (throw (ex-info msg {:spec spec}))))

(defn- highlight [x]
  [:span [:escaped *highlighting-mark*] x [:escaped *highlighting-mark*]])


  (let [frame (first trace)]
    (if (= x (:val frame))
      (if (and (= (count trace) 1) (not (:reason frame)))
        (highlight (call-with-base-printer f printer x))
        (render frame printer x))
      (call-with-base-printer f printer x))))

(defn pop-trace [printer]
  (update printer :trace rest))
