That's a fair point. In my mind, residential ISPs give out public IP addresses and CGNAT is just for cell phones. But I recognize that the philosophy of, "we don't need to solve IP address exhaustion, we just need to keep people able to access Facebook" leads to CGNAT or multi level NAT.
Still, I do think that the solution of, "one IPv4 address per household + NAT" is a perfectly good system. I view the IPv6 mentality of giving each computer in the world a globally unique IPv6 address as a non-goal.
There are more households than IP addresses. They can't all have one each. So you need longer addresses, and then you're already reinventing IPv6.
> That's a fair point. In my mind, residential ISPs give out public IP addresses and CGNAT is just for cell phones.
If you are giving out public IPs then you aren't really NAT'ing.
Even if you go with one IPv4 per household + 1 per company you're going to be hard stretched to find room for that in 32 bits, at least after you add the routing infrastructure.