final resolution is to subordinate nextTick to setImmediate