what @xk says is right, I would like to add the emphasis that when you do queue with `setImmediate` you are sure to always get called on the next turn of the event loop, where as `nextTick`'s queue can be cleared multiple times as people transition through `MakeCallback`.

The fact that this logic makes it nice to make sure your cb will fire "before" others, is a side effect and shouldn't be relied upon outside of core anyway, hence my insistence to deemphasize the use of `nextTick` in general.

(Also `nextTick` doesn't and likely won't take arguments to be passed to the function)