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