ΑZ
Вот например(это псевдокод) у меня есть такая программа:
var foo = {a: 100, b: 200.0}; // я хочу чтобы он мне вывел тут что foo типы {a: int, b: float}
function bar(param: {a: int}) {
}
// я хочу, чтобы тут он понял, что я передаю объект, соответствующий запрошенному интерфейсу.
bar(foo)
Вот эти все "я хочу" вполне выводятся в компил-тайме без взяких именованных интерфейсов, тайпклассов и прочего обслуживания компилятора.
a
?