The caveats are somewhat of a deal breaker unfortunately. It fails on perfectly valid syntax because they don't want to complicate the parser. But that makes the tool not very useful.

I can’t say I’ve ever used the forms they don’t support and I am the person who uses all sorts of esoteric bash features at work.

Also for static typing an analysis I would absolutely give up even more syntax that is ambiguously parsed.

I throw all my shell scripts through this beast of a haskell application to see if they're clean:

https://github.com/koalaman/shellcheck

Crucially it shows where on the line the error is in case I've got some large piped one-liner which might have a problem.