'add to self the monomial coeff*x0**i0*x1**i1*...
unless self is a generator -- then just return the sum of the two.
mc is a tuple, (monom, coeff), where monomial is (i0, i1, ...)
Examples
>>> from sympy.polys.rings import ring
>>> from sympy.polys.domains import ZZ
>>> _, x, y = ring(\'x, y\', ZZ)
>>> p = x**4 + 2*y
>>> m = (1, 2)
>>> p1 = p._iadd_monom((m, 5))
>>> p1
x**4 + 5*x*y**2 + 2*y
>>> p1 is p
True
>>> p = x
>>> p1 = p._iadd_monom((m, 5))
>>> p1
5*x*y**2 + x
>>> p1 is p
False'

def _iadd_monom(self, mc):

    if (self in self.ring._gens_set):
        cpself = self.copy()
    else:
        cpself = self
    (expv, coeff) = mc
    c = cpself.get(expv)
    if (c is None):
        cpself[expv] = coeff
    else:
        c += coeff
        if c:
            cpself[expv] = c
        else:
            del cpself[expv]
    return cpself
