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