 (ns expound.alpha
-  ;; TODO - rewrite
-  "Drop-in replacement for clojure.spec.alpha, with
-  human-readable `expound` function ... "
+  "Functions to print human-readable errors for clojure.spec"
   (:require [expound.paths :as paths]
             [expound.problems :as problems]
             [clojure.spec.alpha :as s]


#?(:clj
   (defmacro def
     "Like clojure.spec.alpha/def, but optionally takes a human-readable error message (will only be used for predicates) e.g. 'should be a string'"
     ([k spec-form]
      `(s/def ~k ~spec-form))
     ([k spec-form error-message]

(defn custom-printer
  "Returns a printer.

Options:
  :show-valid-values? - if false, replaces valid values with \"...\"
  :value-str-fn       - function to print bad values
  :print-specs?       - if true, display \"Relevant specs\" section. Otherwise, omit that section.|
