I'm looking for this. Is it necessary to pay someone for the privilege (the only option I've discovered) ? John Hughes, Generalising Monads to Arrows, in Science of Computer Programming 37, pp67-111, May 2000