A practical tour of what type systems can offer you. We explore ideas that empower how you can write software: type safety, subtyping, variance, algebraic data types and others.