Why does an infinite chain of process.nextTick calls completely starve pending I/O, while an infinite chain of setImmediate calls does not?function loop() { process.nextTick(loop); } process.nextTick(loop); // vs setImmediate(loop)