pub fn fold_pats<V: ?Sized + Fold>(_visitor: &mut V, n: Vec<Pat>) -> Vec<Pat>