The statement:
task = asyncio.create_task(something()) res = await shield(task)
is equivalent to:
res = await something()
res = await shield(something())