I think about it like this:
Layer 2b: ->> User applications (flatpak, nixpkgs, etc.)
Layer 2a: ->> User data (mutable, persistent no matter what your system layer is)
Layer 1: -> System (immutable/read-only/updated "atomically" meaning all at once)
Layer 0: Hardware
Or, alternately, it’s what macos has been doing with absolutely no fanfare for several versions now. That’s not a knock, btw. It’s an illustration that it can be completely transparent in use, though it may require some habit changes on linux.
So, when we drive up to Georgia or South Carolina from Florida, there’s a point on I-75 where the Jesus billboards come out. Many of them are the usual “Babies have heartbeats” variety, but there’s also the following: