Added flatMapP and mapEither combinators