incompatibleGenericTypes.ts(9,5): error TS2322: Type 'I1<boolean>' is not assignable to type 'I1<number>'.
  Type 'boolean' is not assignable to type 'number'.
incompatibleGenericTypes.ts(9,22): error TS2454: Variable 'v1' is used before being assigned.


==== incompatibleGenericTypes.ts (2 errors) ====
    interface I1<T> {
    
      m1<U>(callback: (p: T) => U): I1<U>;
    
    }
     
    var v1: I1<boolean>;
     
    var v2: I1<number> = v1;
        ~~
!!! error TS2322: Type 'I1<boolean>' is not assignable to type 'I1<number>'.
!!! error TS2322:   Type 'boolean' is not assignable to type 'number'.
                         ~~
!!! error TS2454: Variable 'v1' is used before being assigned.