Type A - For DRY Implementation and don’t expect to expand the union much
Type B - Easier discriminated unions, and potentially extend each case differently later