pub fn fold_select<F, T, T2>(folder: &mut F, node: Select<T>) -> Select<T2>where T: AstInfo, T2: AstInfo, F: Fold<T, T2> + ?Sized,