pub fn fold_vis_public<F>(f: &mut F, node: VisPublic) -> VisPublic where
    F: Fold + ?Sized