class Animal { name: string; } class Dog extends Animal { breed: string; } // Error: indexing with a numeric string might // get you a completely separate type of Animal! interface NotOkay { [x: number]: Animal; [x: string]: Dog; }