В некоторых случаях typings используется для обработки определений TypeScript (например, angular/angular2-seed).
В других случаях используются нелегальные пакеты NPM @types без участия typings (например, AngularClass/angular2-webpack-starter).
Каковы практические различия между ними? Кто-нибудь из них предлагает преимущества для разработки TypeScript, а другой нет?