pub fn fold_data_struct<F>(f: &mut F, node: DataStruct) -> DataStructwhere
    F: Fold + ?Sized,