Making async code synchronous

Why wrap it in a task at all? Can you simply have a function that calls the NIF and then does a receive right after?

What does this NIF do btw? How long does it run?