generated at
Generalising monads to arrows