C# 7.0 – Generalized async return types
Here you can find examples to the article on my blog
Before C# 7 every async method had to return Task, Task or void. The new C# version extends the range of returned types.
More on the C#.Today blog: C# 7.0 – Generalized async return types