Swierstra, Wouter (2009) A functional specification of effects. PhD thesis, University of Nottingham.