=== tests/cases/compiler/specializeVarArgs1.ts === interface Observable{ } >Observable : Observable >T : T interface ObservableArray extends Observable >ObservableArray : ObservableArray >T : T >Observable : Observable >T : T { push(...values: T[]); >push : (...values: T[]) => any >values : T[] >T : T } function observableArray(): ObservableArray { return null;} >observableArray : () => ObservableArray >T : T >ObservableArray : ObservableArray >T : T var a = observableArray(); >a : ObservableArray >observableArray() : ObservableArray >observableArray : () => ObservableArray a.push('Some Value'); >a.push('Some Value') : any >a.push : (...values: string[]) => any >a : ObservableArray >push : (...values: string[]) => any