docs: function promisifyWithTimeout(yieldable, name, timeout) {
    return new Promise((resolve, reject) => {
      const timeoutId = setTimeout(() => reject(new Error(`Yieldable timeout in ${name}`)), timeout);
      co(yieldable)
        .then((...args) => {
          clearTimeout(timeoutId);
          resolve(...args);
        })
        .catch((...args) => {
          clearTimeout(timeoutId);
          reject(...args);
        });
    });
  }