Honestly, I think the assumption that everything needs a public IP did a lot of harm to IPV6 as well.
NAT is weird, yes, but it fills a real role and allows a network to be upgraded on the inside but not the outside.
Hmm... now I am wondering if a modified NAT could make IPV6 adoption easier...