Предположим, что у нас есть класс Observable, который generic, и я создаю экземпляры через:
new Observable<number>();
А хочется вот так:
type NumberStream = Observable<number>;
new NumberStream();
но так не работает, впрочем как и:
class NumberStream extends Observable<number> {}
Причем в первом случае компилятор ругается, во втором нет, но в обоих случаях результат компиляции выполняется с ошибкой.