TypeScriptType system fundamentals, generics, interfaces, structural typing, and module declarations.