Corin Pitcher: Functional programming and erratic non-determinism. University of Oxford, UK 2001