Announcing TypeScript 2.8
blogs.msdn.microsoft.com
blogs.msdn.microsoft.com
Java and Kotlin are the really only other languages with static types that I use so for me these TypeScript features are things I had never even heard of or imagined before. Now that I have them though it's hard to go back to static types without them.
Dependently typed languages like Agda and Coq can do the conditional types, as typelevel computation is in their very nature. With things like Liquid Haskell there's some spillover to 'normal' functional languages, but it's a bit clunky sometimes and it's not native to the language.
I just skimmed over some information on literal types, but think they're just not that interesting to languages that support (G)ADT's, as the overhead of not using primitives is not the case when you're compiled. But for other interpreted languages it might be very interesting!
TBH though, I don't really see that TypeScript has many advantages over JS. Though some of this generic syntax seems easier than duck type testing in JS.
That's probably going to be less popular, because with TypeScript, you often don't need Babel at all (you can transpile directly to ES5, JSX works out of the box, etc.).
I'd rather see typescript as a set of babel presets than deal with what it doesn't have in the box.
I think type Flatten<T> should be renamed to type Smoosh<T> hehe