That was the intention - not taking in account the amount it takes it takes to poll and process the events. If something funky was going in in polling and processing, re-schedueling it immediately instead of when processing is actually done, could cause contention / build of stuff to be processed...

I should probably just document it better. Also, IIRC, `setInterval` is also not fully accurate and can drift if the event loop is busy.