restoring support for static predicates -- should be worth it to be able to know the call target statically, rather than following a function pointer at run-time