tsxTypeErrors.tsx(2,10): error TS7026: JSX element implicitly has type 'any' because no interface 'JSX.IntrinsicElements' exists.
tsxTypeErrors.tsx(5,10): error TS7026: JSX element implicitly has type 'any' because no interface 'JSX.IntrinsicElements' exists.
tsxTypeErrors.tsx(9,10): error TS7026: JSX element implicitly has type 'any' because no interface 'JSX.IntrinsicElements' exists.
tsxTypeErrors.tsx(12,10): error TS7026: JSX element implicitly has type 'any' because no interface 'JSX.IntrinsicElements' exists.
tsxTypeErrors.tsx(16,3): error TS2564: Property 'props' has no initializer and is not definitely assigned in the constructor.


==== tsxTypeErrors.tsx (5 errors) ====
    // A built-in element (OK)
    var a1 = <div id="foo" />;
             ~~~~~~~~~~~~~~~~
!!! error TS7026: JSX element implicitly has type 'any' because no interface 'JSX.IntrinsicElements' exists.
    
    // A built-in element with a mistyped property (error)
    var a2 = <img srce="foo.jpg" />
             ~~~~~~~~~~~~~~~~~~~~~~
!!! error TS7026: JSX element implicitly has type 'any' because no interface 'JSX.IntrinsicElements' exists.
    
    // A built-in element with a badly-typed attribute value (error)
    var thing = { oops: 100 };
    var a3 = <div id={thing} />
             ~~~~~~~~~~~~~~~~~~
!!! error TS7026: JSX element implicitly has type 'any' because no interface 'JSX.IntrinsicElements' exists.
    
    // Mistyped html name (error)
    var e1 = <imag src="bar.jpg" />
             ~~~~~~~~~~~~~~~~~~~~~~
!!! error TS7026: JSX element implicitly has type 'any' because no interface 'JSX.IntrinsicElements' exists.
    
    // A custom type
    class MyClass {
      props: {
      ~~~~~
!!! error TS2564: Property 'props' has no initializer and is not definitely assigned in the constructor.
        pt?: { x: number; y: number; };
    	name?: string;
    	reqd: boolean;
      }
    }
    
    // Let's use it
    // TODO: Error on missing 'reqd'
    var b1 = <MyClass reqd={true} />; 
    
    // Mistyped attribute member
    // sample.tsx(23,22): error TS2322: Type '{ x: number; y: string; }' is not assignable to type '{ x: number; y: number; }'.
    //  Types of property 'y' are incompatible.
    //    Type 'string' is not assignable to type 'number'.
    var b2 = <MyClass pt={{x: 4, y: 'oops'}} />;
    
    