Goal: Transform an object type into a union of single-property objects, so only one attribute can exist at a time.