                 (requires-keys 'OtherType :faster)
                 )
 
+    
 
   #_ (doall  (type-check 'RootMap {:figwheel {:five 6
                                             :string 'asdf

    (mapcat (fn [[k v]] (tc-kv k v)) (map vector (range) (seq exp)))))

(defn tc-analyze [exp]
  (cond
    (or (map? exp) (sequence-like? exp))
    (tc-complex exp)
    (not (coll? exp))
    (tc-simple exp)))

(defn tc-with-parent [parent-typ exp]
  (let [res (tc-analyze exp)]

    (mapv #(do (print-error (assoc % :orig-config config)) %)
          (type-check root config))))


(defn print-errors-test [config]
  #_(type-check 'RootMap config)
  (mapv #(print-error (assoc % :orig-config config))
        (type-check 'RootMap config)))

(defn print-errors-test-first [config]
  #_(type-check 'RootMap config)
  (mapv #(print-error (assoc % :orig-config config))
        (take 1 (type-check 'RootMap config))))

(defn pp []
  (with-schema (index-spec
