While writing a compiler I became interested in syntax for awaiting multiple tasks (and getting their values).
For example:
var (employees, books) = await [ dbConnection.GetAllAsync<Employee>(), dbConnection.GetAllAsync<Book>(), ]; Then I realized that the following syntax, almost identical, is already possible in C#:
var (books, employees) = await tasksTasks( dbConnection.GetAllAsync<Books>(), dbConnection.GetAllAsync<Employees>()); If you're interested, see the NuGet package AwaitMultiple. It can be used like this up to 16 arguments.