Could ReadP's '+++' (symmetric choice) operator be implemented for all Monads with the 'interleave' function mentioned in <a href="http://portal.acm.org/ft_gateway.cfm?id=1086390&amp;type=pdf&amp;coll=GUIDE&amp;dl=GUIDE&amp;CFID=5430836&amp;CFTOKEN=76321932">
Backtracking, Interleaving, and Terminating  Monad Transformers</a>?&nbsp; This paper was a tough read for me, but it looks like they solve the same problem, but one interleaves computations within a monad and the other does it from the outside.&nbsp; Or am I just confused?
<br><br>Thanks,<br>Greg<br>