Bring Async Superpowers to the Result Type in C#