It's often useful to have a generalized null/unit test, e.g. to check if a monadic stream `m a` reaches EOF.  A workaround is to use `Eq a, Monoid a` constraint and use `== mempty` test. But this is no only inefficient for some type, but also impossible for some monoids, such as Builders.<div><br></div><div>I propose add this test `isEmpty :: a -> Bool` to `Monoid`, to provide the ability to check if a value is the unit value.</div><div><br></div><div>Cheers</div><div>Han Dong~</div>