fn collect_interface_events_recursive(
contract: &ContractIR,
contract_map: &HashMap<String, ContractIR>,
seen: &mut HashSet<String>,
out: &mut Vec<EventIR>,
)fn collect_interface_events_recursive(
contract: &ContractIR,
contract_map: &HashMap<String, ContractIR>,
seen: &mut HashSet<String>,
out: &mut Vec<EventIR>,
)