fn intersect<Node: Idx>( post_order_rank: &IndexVec<Node, usize>, immediate_dominators: &IndexVec<Node, Option<Node>>, node1: Node, node2: Node) -> Node