   (:refer-clojure :exclude [string? integer? int? double? keyword? boolean? uuid? inst?])
   (:require
     [clojure.spec :as s]
+    [clojure.spec.gen :as gen]
     #?@(:cljs [goog.date.UtcDateTime]))
   #?(:clj
      (:import [java.util Date UUID])))


(def ^:dynamic ^:private *conformations* nil)

(defn dynamic-conformer [pred]
  (s/conformer
    (fn [x]
      (if (pred x)

;;

(def string? clojure.core/string?)
(def integer? (dynamically-conformed clojure.core/integer?))
(def int? (dynamically-conformed clojure.core/int?))
(def double? (dynamically-conformed double-like?))
(def keyword? (dynamically-conformed clojure.core/keyword?))
(def boolean? (dynamically-conformed clojure.core/boolean?))
(def uuid? (dynamically-conformed clojure.core/uuid?))
(def inst? (dynamically-conformed clojure.core/inst?))
