Recursive async function ending in do! instead of return! is unsafe.
If you end your recursive function with do! instead of return!, the compiler
cannot perform tail-call optimization.
Use return! instead of do!
{
"recursiveAsyncFunction": {
"enabled": false
}
}