upgraded from Monad to MonadPlus.
added Monoid instance and simple test.
added Zip instance and its simple test.
add IsEmpty and Traverse instance, no tests.