So is it safe to say we can just use `setImmediate` unless we want to make sure cb is called at the beginning of next tick(except reaching `maxTickDepth`)? And cb of `setImmediate` will be significantly delayed if long blocking code gets called by i/o events before immediates?