anchor.diff:  The `then` function takes one argument: a callback that will be called when the promise
   is successfully resolved.
   
  -But `then` is not the end, it also returns a promise that will be resolved or rejected depending
  -on return value of the first chain callback. That will allow you to compose async computations
  -in an easy way.
  +But `then` is not the end, it also returns a promise that will be resolved or rejected
  +depending on return value of the first chain callback. That will allow you to compose
  +async computations in an easy way.
   
   [source, clojure]
   ----
  
positive.code: ;; => #<Promise [1]>
  ----
  
  If a `promise` function receives a plain value, it returns a resolved promise with the provided plain
  value. If it receives an instance of `Error`, it returns a rejected promise.
  
  And finally it also accepts a factory callback that receives two callable parameters: `resolve`
  and `reject`. So you can use one or other to resolve or reject the promise respectively.
  
  [source, clojure]
  ----
  
negative.code: 
  === Delays and timeouts.
  
  JavaScript due its nature, does not allow you to block or sleep. But with promises you
  can emulate the functionality using `delay` like so:
  
  [source, clojure]
  