mkIdle : UVLoop => Has UVError es => Async es (Ptr Idle)
onIdle : UVLoop => Has UVError es => (Event Nat -> Async es a) -> Async es a
Runs the given `IO` action during the "idle" phase of the event loop.