Simple Sum Types In TypeScript Without Common Fields

All the glory of the discriminated unions, none of the ceremony. And nobody gets anyone’s goat.