> I've thought about it, and I've decided that static type > checks are not tests. Tests are dependent on codepath. > Each test excerises a different codepath (well, > , more-or-less, some may validate that several different > inputs have the same codepath). While static type > checking is completely independent of codepath.
Actually, type checks are tests, if done correctly. Type checking is a form of theorem proving. See the following link for details: