Hutton, Graham, "A Relational Derivation of a Functional Program", , 1992