pub fn fold_relation<F: ?Sized + RqFold>(
    fold: &mut F,
    relation: Relation
) -> Result<Relation, Error>