 ;;;;;; internal specs ;;;;;;
 
 (s/def ::singleton (s/coll-of any? :count 1))
-;; TODO - rename within expound namespace, I can't take top-level spec namespace
-;; (s/def :spec/spec keyword?)
-;; (s/def :spec/specs (s/coll-of :spec/spec))
-;; (s/def :spec.problem/via (s/coll-of :spec/spec :kind vector?))
-;; (s/def :spec/problem (s/keys :req-un [:spec.problem/via]))
-;; (s/def :spec/problems (s/coll-of :spec/problem))
+(s/def :expound.spec/spec keyword?)
+(s/def :expound.spec/specs (s/coll-of :expound.spec/spec))
+(s/def :expound.spec.problem/via (s/coll-of :expound.spec/spec :kind vector?))
+(s/def :expound.spec/problem (s/keys :req-un [:expound.spec.problem/via]))
+(s/def :expound.spec/problems (s/coll-of :expound.spec/problem))
 
 (s/def :expound.printer/show-valid-values? boolean?)
 (s/def :expound.printer/value-str-fn ifn?)

      via)))

(s/fdef specs
        :args (s/cat :problems :spec/problems)
        :ret :spec/specs)
(defn ^:private specs
  "Given a collection of problems, returns the specs for those problems, with duplicates removed"
  [problems]

        :args (s/cat :explain-data map?)
        :ret nil?)
(defn printer
  "Prints `explain-data` in a human-readable format."
  [explain-data]
  ((custom-printer {}) explain-data))

