Code contracts allow you make some assertions about your code, and then checks them to make sure they hold.
TODO: explain the need for one validation primitive TODO: explain static typing, pattern matching, dependent types, etc.