Sat Feb 20 12:27:58 CET 2010

Replaced check with mplus from Control.Monad

I guess this is why the continuation monad documentation here[1] says
that in haskell it's often not necessary to use contunations due to
laziness.  Short-circuiting the Maybe monad:

*Main Control.Monad> Just [] `mplus` Just [0..]
Just []

I'm still not used to not having to write a (lambda () ...) form to
create an explicit thunk.  It takes quite a while to move from a
strict language to a lazy language; to think of _everything_ as a
value completely free of effect.

[1] http://www.haskell.org/all_about_monads/html/contmonad.html