Couldn't agree more. And if you need to make it more concrete, Typescript gives you that and more. Well except the variadic generic types which they are planning to have.
I don't like node.js, but I occasionally use Typescript like a more powerful C#.
Typescript’s type system is completely structural and unsound. It is very different from C#’s, fitting JavaScript well but not a better more powerful C# by far.
I didn't say better. I said "more powerful" and I said that in terms of expressive power.
C#'s type system is usually better except from the times that I feel creative. Works perfectly for large codebases with many changes. Not fun for side-projects.
I don't like node.js, but I occasionally use Typescript like a more powerful C#.