>>106003022
it's not that useful because all the associated types have to be put in the same union, so you have to have one centralized type that has all of the applicable types
maybe you have a usecase I'm not thinking of, but the last time I thought it might be useful was when I had a bunch of structs with a common initial sequence, and I wanted to have them all be valid arguments to a function without having to do
func(&item->base)
// or
func((Base*)item)