'Imaginary + Imaginary -> Imaginary
Imaginary + Complex   -> ?
Imaginary + Real      -> !Imaginary'

@staticmethod
def Add(expr, assumptions):

    if expr.is_number:
        return AskImaginaryHandler._number(expr, assumptions)
    reals = 0
    for arg in expr.args:
        if ask(Q.imaginary(arg), assumptions):
            pass
        elif ask(Q.real(arg), assumptions):
            reals += 1
        else:
            break
    else:
        if (reals == 0):
            return True
        if ((reals == 1) or (len(expr.args) == reals)):
            return False
