tests/cases/compiler/elaboratedErrors.ts(10,7): error TS2420: Class 'WorkerFS' incorrectly implements interface 'FileSystem'.
  Types of property 'read' are incompatible.
    Type 'string' is not assignable to type 'number'.
tests/cases/compiler/elaboratedErrors.ts(20,1): error TS2322: Type 'Beta' is not assignable to type 'Alpha'.
  Property 'x' is missing in type 'Beta'.
tests/cases/compiler/elaboratedErrors.ts(21,1): error TS2322: Type 'Beta' is not assignable to type 'Alpha'.
tests/cases/compiler/elaboratedErrors.ts(24,1): error TS2322: Type 'Alpha' is not assignable to type 'Beta'.
  Property 'y' is missing in type 'Alpha'.
tests/cases/compiler/elaboratedErrors.ts(25,1): error TS2322: Type 'Alpha' is not assignable to type 'Beta'.


==== tests/cases/compiler/elaboratedErrors.ts (5 errors) ====
    interface FileSystem {
      read: number;
    }
    
    function fn(s: WorkerFS): void;
    function fn(s: FileSystem): void;
    function fn(s: FileSystem|WorkerFS) { }
    
    // This should issue a large error, not a small one
    class WorkerFS implements FileSystem {
          ~~~~~~~~
!!! error TS2420: Class 'WorkerFS' incorrectly implements interface 'FileSystem'.
!!! error TS2420:   Types of property 'read' are incompatible.
!!! error TS2420:     Type 'string' is not assignable to type 'number'.
      read: string;
    }
    
    interface Alpha { x: string; }
    interface Beta { y: number; }
    var x: Alpha;
    var y: Beta;
    
    // Only one of these errors should be large
    x = y;
    ~
!!! error TS2322: Type 'Beta' is not assignable to type 'Alpha'.
!!! error TS2322:   Property 'x' is missing in type 'Beta'.
    x = y;
    ~
!!! error TS2322: Type 'Beta' is not assignable to type 'Alpha'.
    
    // Only one of these errors should be large
    y = x;
    ~
!!! error TS2322: Type 'Alpha' is not assignable to type 'Beta'.
!!! error TS2322:   Property 'y' is missing in type 'Alpha'.
    y = x;
    ~
!!! error TS2322: Type 'Alpha' is not assignable to type 'Beta'.
    