Conditional types, key remapping, recursion, variadic tuples and brands — types computed from types, verified by the compiler.