Added tests.  The monad instances currently fail some tests.