   [promises]
   #?(:cljs (-> (.all impl/*default-promise* (into-array promises))
                (then vec))
-     :clj (let [promises (clojure.core/map pt/-promise promises)]
+     :clj (c/let [promises (clojure.core/map pt/-promise promises)]
             (then (->> (into-array CompletableFuture promises)
                        (CompletableFuture/allOf))
                   (fn [_]

  ([promises]
   (any promises ::default))
  ([promises default]
   (let [state (atom {:resolved false
                      :counter (count promises)
                      :rejections []})]
     (promise

                                      (-> state
                                          (update  :counter dec)
                                          (update :rejections conj e))))
                       (c/let [{:keys [resolved counter rejections]} @state]
                         (when (and (not resolved) (= counter 0))
                           (if (= default ::default)
                             (reject (ex-info "No promises resolved"
