 (def section-size 25)
 (def indent-level 2)
 
-(def ^:dynamic *value-str-fn* ::not-set)
+(def ^:dynamic *value-str-fn* (fn [_ _ _ _] "NOT IMPLEMENTED"))
 
 #?(:cljs
    (defn format [fmt & args]


;;;;;; public ;;;;;;

(defn custom-printer [opts]
  (fn [explain-data]
    (print (printer-str opts explain-data))))

;; TODO - write docstrings
(defn printer [explain-data]
  ((custom-printer {}) explain-data))

(defn expound-str
  "Given a spec and a value that fails to conform, returns a human-readable explanation as a string."
  [spec form]
  ;; expound was initially released with support
  ;; for CLJS 1.9.542 which did not include

    ;;highlighted-line
    (no-trailing-whitespace (string/replace s line highlighted-line))))

(defn value-in-context
  "Given a form and a path into that form, returns a string
   that helps the user understand where that path is located
