Abstract We describe a simple strictness analyser for purely-functional programs, show how its results are used to improve programs, and provide measurements of the e ects of these improvements. These measurements are given both in terms of overall run-time, and in terms of internal operations such as allocations, updates, etc. Despite its simplicity, the analyser handles higher-order functions, and non-at domains provided they are non-recursive