I can't get searchAll5[1] in Yet Another Haskell Tutorial to run. Ghci
complains that it can't find a MonadPlus that satisfies the required
type; it needs a MonadPlus.
I suspect this is due to the use of 'mzero' and 'mplus', without making
StateT a MonadPlus. My thought for this was to push
Disclaimer: I've never read through YAHT, so I don't know if I'm
missing any context...
Your intuition was correct: you do want to lift the MonadPlus property
through the StateT transformer. This is the key to the transformer
libraries, each transformer both contributes a computational feature