I should be clear that I personally agree with you 100%—I prefer to outsource as much as I can to the compiler. It's just that I also recognize that that means being unable to express some things that are otherwise possible, and that most developers don't like that trade-off.