discriminateWithMissingProperty.ts(12,5): error TS2345: Argument of type '{ mode: "numeric"; data: Uint8Array; }' is not assignable to parameter of type 'Arg'.
  Types of property 'data' are incompatible.
    Type 'Uint8Array' is not assignable to type 'number'.


==== discriminateWithMissingProperty.ts (1 errors) ====
    type Arg = {
        mode: "numeric",
        data: number,
    } | {
        mode: "alphabetic",
        data: string,
    } | {
        data: string | Uint8Array;
    }
    
    declare function foo(arg: Arg): void;
    foo({ mode: "numeric", data: new Uint8Array([30]) }); // Should error
        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
!!! error TS2345: Argument of type '{ mode: "numeric"; data: Uint8Array; }' is not assignable to parameter of type 'Arg'.
!!! error TS2345:   Types of property 'data' are incompatible.
!!! error TS2345:     Type 'Uint8Array' is not assignable to type 'number'.