anchor.diff:  plain value or an other promise.
   
   If an exception is raised inside the `do*` block, it will return the rejected
  -promise instead of reraising the exception on the stack.
  +promise instead of re-raising the exception on the stack.
   
   
   [NOTE]
   ====
  -In both platforms the promise factory function is executed synchrously and
  -making it blocking or not blocking is user responsability.
  +In both platforms the promise factory function is executed synchronously and
  +making it blocking or not blocking is user responsibility.
   ====
   
   
  
positive.code: ;; => 4
  ----
  
  It there also `mapcat` function that allows remove one neesting level of promises,
  and is pretty useful if the function that you want to apply to promise also return a
  promise instance instead of value:
  
  
negative.code: when completed.
  
  If you are familiar with *core.async* `go` macro, `async` macro works
  in the same way (in fact, it uses core.async machinery to archive
  that).
  
  [NOTE]
  