terminating monad transformers: (functional pearl (2005)

by interleaving Backtracking
Venue:In ICFP