I found two useful analyzers in ErrorProne.NET/
Two in the red box can avoid careless mistakes that wanted to return the task types originally.
Two in the green box can prevent async void method from being misused.

I think should support both UniTask and awaitable of Unity 6.0.
Thanks