John Hughes This paper dates from 1984, and circulated as a Chalmers memo for many years. Slightly revised versions appeared in 1989 and 1990 in the Computer Journal and the Year of Programming. This version is based on the original Chalmers memo nroff source, lightly edited for LaTeX and to bring it closer to the published versions. Please excuse the slightly old-fashioned type-setting, and the f