pub fn fold_type<F>(f: &mut F, node: Type) -> Typewhere
    F: Fold + ?Sized,