Yeah but no but yeah but
Ok, I agree with him in principle, but this:
"You can take an Internet Protocol (IP) packet and encapsulate it in an IP header. There are four options just for that: IPv4 in IPv4, IPv4 in IPv6, IPv6 in IPv4, and IPv6 in IPv6. Given all those options, it's hard to get one of them implemented and deployed everywhere."
is wrong on several counts.
First off, IPv4 and IPv6 are not different standards; they are different versions (editions if you will) of the IP standard.
Second, these four options are just the Cartesian product of the two versions. Want to make any list exponentially larger? Throw in a Cartesian product.
Third, each of these four options have clear uses, as defined by the capabilities of the host network and the desired capabilities of the virtual network.
There are a lot of unnecessary duplicate or overlapping standards out there. But the options for encapsulation of IP traffic over different versions of the standard don't deserve to be lumped in with them.