The combo of static + dynamic cost accounting is powerful, but from an initial perspective, it's not obvious and in fact looks like a rookie mistake of "You're going to have to execute this thing (even partially) to do this. It should be done statically to avoid incurring VM costs."
I think it would be a good addition to explicitly mention that purely static analysis is considered and discarded as an option because it forces either limiting (overly conservative) or dangerous (overly loose) heuristics where both of these are a problem AND the cost of dynamic validation is very low in any case.
If that would be something you consider adding, I'll try to come up with a minimal way to include it.