    [fipp.engine :refer [pprint-document]]
    [clojure.string :as string]
    [clojure.java.io :as io]))
-
-(defn fmt-doc
-  ([s] s)
-  ([s ex]
-   [:group (fmt-doc s)
-    :line
-    :line
-    [:nest 2 ex] :line]))
 
 (def CompilerWarningsSpec
   (->>


(comment
  ;; figure out
  (defn get-all-keys [rules]
    (for [[k & ks] (rules :-)] k))

  (distinct
   (for [k (get-all-keys schema-rules)
        k2 (get-all-keys schema-rules)
         :when (and
                (not= k k2)
                (tc/similar-key 0 k k2))]

          :verbose                   (ref-schema 'Boolean)
          :pretty-print              (ref-schema 'Boolean)
          :target                    :nodejs
          :foreign-libs              [(ref-schema 'ForeignLib)]
          :externs                   [string?]
                                     ;; TODO keys only work with direct predicates
          :modules                   {named?
