They don't get as much love as classes, but TypeScript's generics and fancier type features are some of its most powerful design features of the language. If you've got a background in Java, you'll be familiar with how much of a splash they made when they first came around.
Full article