Coroutines III - Why cancel Anko Job?

In the code we’re already doing coroutineContext.cancel() in the cleanup() hook. Since fetchResultUsingAnkoCoroutine launches into that context, won’t the cancellation simply propagate downward?
Why do we need an additional job.cancel() in our cleanup() hook?