    :handle-ok ::user
    :processable?
    (fn [ctx]
-     (let [e (process ::existing-user ctx [:user/tz])]
+     (let [e (process ::existing-user ctx [:user/tz] (partial validate-tz db))]
        (if (= e :tictag.resources/unprocessable)
          [false nil]
          [true {::changes e}])))

(defn hash-password [u]
  (update u :user/pass hashp))

(defn users [{:keys [db jwt]}]
  (resource
   collection-defaults

   :handle-ok ::users
   :processable?
   (fn [ctx]
     (let [e (process ::new-user ctx [:user/tz :user/pass :user/username :user/email] [hash-password (partial validate-tz db)])]
       (if (= e :tictag.resources/unprocessable)
         [false {::not-processable (s/explain-data ::new-user (params ctx))}]
         [true {::user e}])))
