introduce Variable.assigned attribute; fix visit_if logic a bit