Deriving backtracking monad transformers - Hinze, R (Proceedings of the fifth ACM SIGPLAN international conference on Functional programming (ICFP '00), 2000)