@type-checking-vs-testing
类型检查和单元测试可以捕获不同类型的错误。类型检查在编译时捕获类型不匹配。单元测试在运行时捕获逻辑错误和边缘情况。它们相辅相成——类型减少了某些测试的需要,但不能取代逻辑测试。