please do not run the type system with additional overhead when this overhead is not used.

I would prefer if there are two different modes of running the type system, one for subsequent static analysis and one without.