Guix solves the technical issue. Real transactions.
At scale and with general users any form of state will kill you eventually. Push an upgrade out to 50 million users and you'll always see a percentage that goes bad. If the user can't reverse out you're screwed.
Deb/RPM weren't designed for that kind of use-case. For their users "ssh and fix it" is fine. Not for the general public 'user' - who need a big UNDO button.
SUSE simulate transactions with btrfs snapshots but it's icky