anchor.diff:  
   [source, clojure]
   ----
  -(require '[promissum.core :as p])
  +(require '[promesa.core :as p])
   
   (defn my-async-handler
     [context]
  
positive.code:                  (resolve (http/ok "hello world"))))))
  ----
  
  One of the advantages of using `CompletableFuture` abstraction with _promissum_ and
  _cats_ libraries is that them both exposes additional sugar syntax that work with
  promises in a more painless way.
  
  
negative.code: _catacumba_ session storage abstraction is almost identical to the ring session
  abstraction, so migrating from or adapting the ring session storages is really
  easy. The unique difference is that functions should return a promise (from
  promesa library).
  
  To use a concrete session storage, just pass a instance of it as value of
  the `:storage` key in a session handler constructor:
  