anchor.diff:  ----
   
   It automatically coerces the provided value to the appropriate promise instance:
  -rejected when the provided value is an excepcion and a resolved value in all
  -other cases.
  -
  -If you already know that value is eigher resolved or rejected, you can skip the
  -coercion and use the `resolved` and `rejected` functions:
  +`rejected` when the provided value is an exception and `resolved` in all other
  +cases.
  +
  +If you already know that the value is either `resolved` or `rejected`, you can
  +skip the coercion and use the `resolved` and `rejected` functions:
   
   [source, clojure]
   ----
   ;; Create a resolved promise
  -(p/resoved 1)
  +(p/resolved 1)
   ;; => #object[java.util.concurrent.CompletableFuture 0x3e133219 "resolved"]
   
   ;; Create a rejected promise
  
positive.code: === Creating a promise
  
  There are several different ways to create a promise instance. If you just want
  to create a promise with a plain value, you can use the polimorhphic `promise`
  function:
  
  [source, clojure]
  
negative.code: this might cause unexpected latency. It may block other threads in the thread
  pool from doing other, maybe more important, tasks.
  
  For such cases, _promesa_ exposes an additional arity for provide a
  user-defined executor to control where the chained callbacks are executed:
  
  [source, clojure]
  