docs: function timer(ms, func) {
    var ref;
    if (ms) {
      ref = setTimeout(func, ms);
    } else {
      ref = setImmediate(func);
    }
    return function abortTimer() {
      if (ms) {
        clearTimeout(ref);
      } else {
        clearImmediate(ref);
      }
    };
  }