Sets (at least those predefined like @installed, @live-rebuild) could respect explicit blocks (by removing them from dependency tree) that are defined in RDEPEND in ebuilds that cause blocked packages to be uninstalled - even when those packages are referenced by those sets (maybe giving some warning about it). It would make upgrading process (by sets) a bit more seamless. So far, all packages referenced by set are unconditionally put to dependency tree.