Почему этот код не вызывает ошибку типа TypeScript?

С интерфейсами, определенными так:

interface IRemoteService {
  createRecord(record: RecordType): ng.IPromise<ICreateResponse<string>>;
}

interface ICreateResponse<T> {
  createdId: T;
}

Почему следующий код не вызывает ошибку компиляции Typescript?

class RemoteServiceMock implements IRemoteService {
  public static $inject = ["$q"];

  constructor(private $q: ng.IQService){
  }

  createRecord(record: RecordType): ng.IPromise<ICreateResponse<string>> {
    return this.$q.when({});
  }
}

Тип$q.when являетсяwhen<T>(value: T): IPromise<T>.

Ответы на вопрос(2)

Ваш ответ на вопрос