Whether the event name or one of its parameter names mentions the state variable: its
normalized name, its singular form, or a role keyword it contains.
Joins the two arms of an if: a pending write stays covered only if both arms emitted for it,
while taint and aliases come from whichever arms can continue past the if. Emits recorded
inside either arm are dropped rather than carried past the merge: correlate_pending already
resolved them against that armβs own writes before this runs, and code after the if executes
whichever branch ran (or neither), so an emit conditional on one arm must not retroactively
satisfy a write reachable only outside it.
Joins mutually exclusive try/catch clauses. Pre-existing writes need an event in every
clause, including exiting clauses: a return preserves writes, unlike a revert.
Taint and aliases only merge from continuing clauses; clause-local emits are discarded.