':see Expression.findtype()'

def findtype(self, variable):

    assert isinstance(variable, Variable), (u'%s    is    not    a    Variable' % variable)
    f = self.first.findtype(variable)
    s = self.second.findtype(variable)
    if ((f == s) or (s == ANY_TYPE)):
        return f
    elif (f == ANY_TYPE):
        return s
    else:
        return ANY_TYPE
