Lift this IO to a Task.
Return a Future<A> (Task) instead of a R (IO).
Future<A>
R
Task<A> toTask() => Task<A>(() async => run());