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#.