                      ["-r" "--restart-file RESTART-FILE"
                       (i18n/trs "Path to a file whose contents are incremented each time all of the configured services have been started.")]]
         required    []]
-    (first (cli! cli-args specs required))))
+    (first (ks/cli! cli-args specs required))))
 
 (schema/defn ^:always-validate run-lifecycle-fn!
   "Run a lifecycle function for a service.  Required arguments:

  to rely on control returning to the main thread where it can perform shutdown."
  [shutdown-reason]
  {:pre  [(map? shutdown-reason)]
   :post [(boolean? %)]}
  (contains? (disj shutdown-causes :jvm-shutdown-hook) (:cause shutdown-reason)))

(defn call-error-handler!

   shutdown-reason-promise :- IDeref]
  (let [shutdown-service        (shutdown-service shutdown-reason-promise
                                                  app-context)]
    (ks/add-shutdown-hook! (fn []
                          (when-not (realized? shutdown-reason-promise)
                            (log/info (i18n/trs "Shutting down due to JVM shutdown hook."))
                            (shutdown! app-context)
