anchor.diff:  The `mlet` bindings are executed sequentially, waiting in each step for promise
   resolution. If an error occurs in some step, the entire composition will be
   short-circuited, returing exceptionally resolved promise. This is very similar
  -to the up coming link:http://jakearchibald.com/2014/es7-async-functions/[ES7 async/await], but built in a generic way and as a library and not language feature.
  +to the up coming link:http://jakearchibald.com/2014/es7-async-functions/[ES7 async/await], but built in a generic way and as a library and not as language feature.
   
   The main disadvantage of `mlet` is that it's evaluation model is strictly
   secuential. It is ok for some use cases, when the sequential order is mandatory.
  
positive.code:                (js/setTimeout #(deliver wait) wait))))
  ----
  
  Now, we will try to use this function together with `mlet` macro and additionally
  messure the execution time:
  
  [source, clojure]
  ----
  
negative.code: = promesa - composable promise library for ClojureScript
  Andrey Antukh, <niwi@niwi.nz>
  0.5.0
  :toc: left
  :!numbered:
  :idseparator: -
  