Is there a less verbose way of making a spec for a map or a record than the way it is presented in the official spec guide?
(defrecord Person [first-name last-name email phone])
(s/def ::first-name string?)
(s/def ::last-name string?)
(s/def ::email ::email-type)
(s/def ::person (s/keys :req-un [::first-name ::last-name ::email]
:opt-un [::phone]))
ideally it would be nice if I could just write something like
(defrecord Person [first-name last-name email phone])
(s/def ::person (s/keys :req-un [:first-name string?
:last-name string?
:email ::email-type]
:opt-un [:phone]))