Why are the awaiters (GetAwaiter - to make a class awaitable) structs and not classes. Does it harm to use a class?
public struct ConfiguredTaskAwaiter : ICriticalNotifyCompletion:
public struct YieldAwaiter : ICriticalNotifyCompletion:
public struct TaskAwaiter<TResult> : ICriticalNotifyCompletion