@paracycle had an idea that we could use a no-op macro near Ruby C methods to describe the effects. This macro, when normally evaluated, could be a nop. But if it is evaluated by zjit-bindgen, could generate a bitset that we can store into our annotations.