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