TypeScript は始まった頃からとてつもない進化を繰り返して来ました。最初は、既存の JavaScript に型安全をもたらすところから始まり、そこから Emitter がさらなる機能を得て、 async await の非同期処理を TypeScript だけでかけるようになりました。そこから、TypeScript の型システムは lookup types, mapped types, そして conditional types など、様々な追加が行われました。このセッションでは、これらの Advanced Types について、お互いにどのように依存しているか、そして、それらが動的な JavaScript にどう型安全を付与するかについて発表します。