':see Expression._set_type()'

def _set_type(self, other_type=ANY_TYPE, signature=None):

    assert isinstance(other_type, Type)
    if (signature is None):
        signature = defaultdict(list)
    if (not other_type.matches(TRUTH_TYPE)):
        raise IllegalTypeException(self, other_type, TRUTH_TYPE)
    self.first._set_type(TRUTH_TYPE, signature)
    self.second._set_type(TRUTH_TYPE, signature)
