code: def visit_AugAssign(self, node):
          
          args = (self.naming[get_variable(node.target).id],
                  self.visit(node.value))
          merge_dep = list({frozenset.union(*x)
                            for x in itertools.product(*args)})
          self.naming[get_variable(node.target).id] = merge_dep
docs: AugAssigned value depend on r-value type dependencies.
  
          It is valid for subscript, `a[i] += foo()` means `a` type depend on
          `foo` return type and previous a types too.