pub fn traverse_dfir( ir: &mut [HydroRoot], transform_root: impl FnMut(&mut HydroRoot, &mut usize), transform_node: impl FnMut(&mut HydroNode, &mut usize), )