I think they're being too restrictive on recursion. They're excluding it based on not being able to prove it will terminate--but you can do that with a time-to-die counter.
It is hard to determine the max value for time-to-die counter if your stack footprint is hard to estimate due to nested structs/enums/unions/generics/optimizations.
https://clang.llvm.org/docs/AttributeReference.html#musttail