Graham Huttonandi and Erik Meijer, Technical report NOTTCS-TR-96-4, Department of Computer Science, University of Nottingham, 1996. A condensed version of this report will appear as a functional pearl in JFP.