Backtracking, interleaving, and terminating monad transformers: (functional pearl (2005)

by O Kiselyov, C-c Shan, D P Friedman, A Sabry
Venue:in Proceedings of the tenth ACM SIGPLAN international conference on Functional programming, ser. ICFP ’05