I&#39;ve been learning to the SYB generics functionality in Data.Data and the syb package. I find myself wondering whether the use of Monad and MonadPlus could be generalized to Applicative and Alternative. My first experiments suggest that they can be and that some of the code can be greatly simplified.<br>

<br>Has this question already been explored?<br><br>-- Conal<br>