code: function delay(milliseconds, x) {
    return promise.Promise.from(x).then(function(value) {
      return new promise.Promise(function(resolve) {
        return timer(milliseconds, function() {
          resolve(value);
        });
      });
    });
  }
docs: To start the clock straight away, without waiting for `x` to be fulfilled, you could use: delay(5000).yield(promise)