I'm currently learning about the event loop and tasks inside it. I've noticed that different asynchronous functions have different levels of priority, i.e process.nextTick() usually gets run before a Promise in the queue. Maybe I'm getting things wrong (if so please correct me), but I've been trying to search on the topic with no results. How does the event loop handle microtasks? Do each of them have a different priority?