Starts the coroutine lazily, only when it is needed.

See the documentation for the corresponding coroutine builders for details (like launch and async).

If coroutine Job is cancelled before it even had a chance to start executing, then it will not start its execution at all, but will complete with an exception.