pub fn fold_data_union<F>(f: &mut F, node: DataUnion) -> DataUnionwhere
    F: Fold + ?Sized,