pub fn fold_pat<F>(f: &mut F, node: Pat) -> Patwhere
    F: Fold + ?Sized,