   (pt/-promise v))
 
 #?(:clj
-   (defmacro alet
+   (defmacro let
      "A `let` alternative that always returns promise and waits for
-     all the promises on the bindings.
-
-     The `promise.core/await` is no longer necesary (it is maintained
-     only for backward compatibility."
+     all the promises on the bindings."
      [bindings & body]
      `(p/bind nil (fn [_#]
                     ~(->> (reverse (partition 2 bindings))

;; THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

(ns promesa.core
  (:refer-clojure :exclude [delay spread promise await map mapcat run! future])
  (:require [promesa.protocols :as pt]
            [promesa.exec :as exec]
            [promesa.impl :as impl])
            ;; [promesa.impl.scheduler :as ps])

  ([p f]
   (pt/-catch p f))
  ([p pred-or-type f]
   (c/let [accept? (if (ifn? pred-or-type)
                   pred-or-type
                   #(instance? pred-or-type %))]
     (pt/-catch p (fn [e]
