class_docstr: Remove implicit tuple -> variable conversion.
  
  >>> import gast as ast
  >>> from pythran import passmanager, backend
  >>> node = ast.parse("def foo(): a=(1,2.) ; i,j = a")
  >>> pm = passmanager.PassManager("test")
  >>> _, node = pm.apply(NormalizeTuples, node)
  >>> print(pm.dump(backend.Python, node))
  def foo():
      a = (1, 2.0)
      i = a[0]
      j = a[1]
code: def traverse_tuples(self, node, state, renamings):
      if isinstance(node, ast.Name):
          if state:
              renamings[node.id] = state
              self.update = True
      elif isinstance(node, ast.Tuple) or isinstance(node, ast.List):
          [
              self.traverse_tuples(n, state + (i,), renamings)
              for i, n in enumerate(node.elts)
          ]
      elif isinstance(node, (ast.Subscript, ast.Attribute)):
          if state:
              renamings[node] = state
              self.update = True
      else:
          raise NotImplementedError
  
imports: from pythran.analyses import Identifiers
  from pythran.passmanager import Transformation
  import gast
  from functools import reduce
  from collections import OrderedDict
  from copy import deepcopy
label_desc: Use image node_id 3 for calling the NormalizeTuples obj's underlying member method code with example usage: obj.traverse_tuples(node, state, renamings) without return types