Add a new language extension -XStrict which turns all bindings strict as if the programmer had written a ! before it. This also upgrades ordinary Haskell to allow recursive and polymorphic strict bindings.
See the wiki[1] and the Note [Desugar Strict binds] in DsBinds for specification and implementation details.