> The value in types is telling the compiler to make certain assumptions so it can optimize the output.
Correctness is more important (in general and as a benefit of type checking) than optimization. Doing the wrong thing fast is easy, but not valuable.