DatumVecCanonicalTypeFamily is the "canonical" type family of all types that are physically represented by coldata.DatumVec.
ToCanonicalTypeFamilies converts typs to the corresponding canonical type families.
TypeFamilyToCanonicalTypeFamily converts all type families to their "canonical" counterparts. "Canonical" type families are representatives from a set of "equivalent" type families where "equivalence" means having the same physical representation.
All type families that do not have an optimized physical representation are handled by using tree.Datums, and such types are mapped to DatumVecCanonicalTypeFamily.
UnsafeFromGoType returns the type for a Go value, if applicable. Shouldn't be used at runtime. This method is unsafe because multiple logical types can be represented by the same physical type. Types that are backed by DatumVec are *not* supported by this function.