Checking if assumptions hold must be done regularly in run time. If you already know which assumptions always hold you have a significant advantage at the start: simpler faster and more compact code and the chance for better "global" optimizations. Postponing a lot of decisions to the run time is never good. Postponing a little can be OK. Here we're in the range of "a lot" that we can save. Like "in every damn +,-,/" of any two values in the really long calculations.