typeofSimple.ts(3,5): error TS2322: Type 'number' is not assignable to type 'string'.
typeofSimple.ts(8,29): error TS2693: 'J' only refers to a type, but is being used as a value here.


==== typeofSimple.ts (2 errors) ====
    var v = 3;
    var v2: typeof v = v;
    var v3: string = v2; // Not assignment compatible
        ~~
!!! error TS2322: Type 'number' is not assignable to type 'string'.
    
    interface I<T> { x: T; }
    interface J { }
    
    declare var numberJ: typeof J; //Error, cannot reference type in typeof
                                ~
!!! error TS2693: 'J' only refers to a type, but is being used as a value here.
    declare var numberI: I<typeof v2>;
    
    declare var fun: () => I<number>;
    numberI = fun();