@wim_v12e @dekkzz76 the types that tripped me the most were routines that passed items through the return stack, and the ones that don't return.
I had this one super weird routine in drifblim that could BRK in a special case, which I had to refactor because it was just too hard to validate: https://git.sr.ht/~rabbits/drifblim/commit/fc475cc272231a1de4c56d28b3a43b52cf3fd2f1#src/drifblim.tal-2-23
For anything that does a jump to a dynamic value(LDA2 JSR2), I had to flag as unsafe.