pub fn fold_data_enum<F>(f: &mut F, node: DataEnum) -> DataEnumwhere
    F: Fold + ?Sized,