@hj AFAIK union in programming usually means “type A or type B(…or type C, or type D…)”, persisting even in times of early C, where a union is a space in memory that can contain data of any of the union types, so you can for example make a float64, uint8[] union, write floats and read them as separate bytes etc.
This is not the same as “contents of type A and contents of type B”.
@hj haha yeah that is a simpler explanation I could have used