pub fn fold_variant<F>(f: &mut F, node: Variant) -> Variantwhere
    F: Fold + ?Sized,