Alexis King gave a killer presentation about Demand and Suspension in Haskell (aka the strictness analysis/optimisation). I can't recommend this enough, it has completely overwritten how I think about Haskell evaluation. It makes me think that strictness/laziness annotation in Haskell programs is actually possible (more precisely it would be called the demand annotation 🙂).