You can both test your code for correctness, while also letting the compiler enforce correctness, and communicate important information to people reading your code.