monad,applicative instances -that hanlde multiple errors- for ErpError and an example of createProd(New) using the applicative syntax". Finally the Either instances can not be used since the applicative can not handle multiple errors"