`process.nextTick` causes stack overflow; `setImmediate` doesn't