Ordem da declaração de tipo no TypeScript

O TypeScript é sensível à ordem das declarações de tipo?

Alterar a ordem do tipo causa um erro no Angular 2 (beta.0), que (AFAIK) é implementado usando o próprio TypeScript (é por isso que esse erro parece tão estranho e irrelevante para mim):

angular2-polyfills.js:138 Error: Cannot read property 'prototype' of undefined(…)

Suponha que temos um arquivot1.ts:

export class AuthResponse extends JsonResponse { }
export class JsonResponse {
    public code: ResultCode;
}
export enum ResultCode { }

Ao iniciar o aplicativo, vemos o erro mencionado, no lado do cliente. Mas se invertermos a ordem das declarações neste arquivo, o erro desaparecerá (apenas para constar, atualmente estou avançando, mantendo isso em mente e funcionando).

Para reproduzir esse erro, precisamos de mais cinco arquivos:

t2.ts:

import {AuthResponse, JsonResponse, ResultCode} from './t1'; // this order?

export class DummyAction {
    doSomething() {
        console.log('test, starting ...');

        var v = new AuthResponse();
        return v;
    }
}

app.component.ts:

import {Component, OnInit} from 'angular2/core';
import {DummyAction} from './components/t2';            

@Component({      
    selector: 'root-app',
    templateUrl: '/app/templates/app.html',
})
export class AppComponent implements OnInit {
    constructor() {
        var tester = new DummyAction();
        // tester.runTest();
    }

    ngOnInit() { }
}

app.html:

<h1>TEST</h1>

boot.ts:

import {bootstrap} from 'angular2/platform/browser';
import {AppComponent} from './app.component';

bootstrap(AppComponent, []);

Eindex.html que é um pouco maior, mas essencialmente, tem a estrutura deindex.html do tutorial emangular local na rede Internet.

questionAnswers(2)

yourAnswerToTheQuestion