A lot of this stuff got out of hand because Nix and Guix *didn't* exist for a long time, and thus the easiest way to do things was to develop a language-specific package manager which bypassed the underlying distro, but none of those compose, and hence containerization as a way to make things "easier"