monads lib: made all monad types doubly param'd; required plus,zero from all monads