Default to Strict Data in Haskell and Opt In to Laziness
Haskell's default laziness stores data fields as thunks. Making data types strict by default with StrictData prevents space leaks from thunk buildup, while selective laziness preserves composability where it matters.