cljs.spec.test.alpha/unstrument

macropreviously cljs.spec.test/unstrument clojure.spec.test.alpha/unstrumentEdit
(unstrument)
(unstrument sym-or-syms)

Source docstring:
Undoes instrument on the vars named by sym-or-syms, specified
as in instrument. With no args, unstruments all instrumented vars.
Returns a collection of syms naming the vars unstrumented.
Source code @ clojurescript:src/main/cljs/cljs/spec/test/alpha.cljc
(defmacro unstrument
  ([]
   `(unstrument ^::no-eval '[~@(deref instrumented-vars)]))
  ([sym-or-syms]
   (let [syms (sym-or-syms->syms (form->sym-or-syms sym-or-syms))]
     `(reduce
        (fn [ret# f#]
          (let [sym# (f#)]
            (cond-> ret# sym# (conj sym#))))
        []
        [~@(->> syms
             (map
               (fn [sym]
                 (when (symbol? sym)
                   `(fn []
                      (unstrument-1 '~sym)))))
             (remove nil?))]))))