G'day all. Quoting Jules Bean <jules at jellybean.co.uk>: > So, anyone? What are the laws that MonadPlus is supposed to satisfy? The problem is this "law": m >>= \k -> mzero === mzero I think this "law" is untrue for _all_ MonadPlus instances, and you can trivially check this by setting m to bottom. Cheers, Andrew Bromage