   ([k m]
    (ensure-key k nil m)))
 
-#?(:clj
-   (defn date?
-     [x]
-     (or (instance? java.util.Date x)))
-
-   :cljs
-   (defn date?
-     [x]
-
-     (instance? js/Date x)
-     true))
-
 (defn ->epoch-millis
   "Takes a java.util.Date or joda DateTime or js/Date
   instance and returns milliseconds since UNIX epoch. Returns a nil if passed none of those."

     :cljs (when (isa? js/Date (type date))
             (.getTime date))))

(defn dedup
  [xs]
  (second (reduce (fn [[seen?, deduped] x]

(ns gyptis.util
  #?(:clj
     (:require [clojure.data.json :as json])))

(defn merge-spec
  "Similar to how leiningen merges profiles:
