class_docstr: Turns all list comprehension from a node into new function calls.
  
  >>> import gast as ast
  >>> from pythran import passmanager, backend
  >>> node = ast.parse("[x*x for x in (1,2,3)]")
  >>> pm = passmanager.PassManager("test")
  >>> _, node = pm.apply(RemoveComprehension, node)
  >>> print(pm.dump(backend.Python, node))
  list_comprehension0()
  def list_comprehension0():
      __target = builtins.list()
      for x in (1, 2, 3):
          builtins.list.append(__target, (x * x))
      return __target
code: def visit_DictComp(self, node):
      # this is a quickfix to match visit_AnyComp signature
      # potential source of improvement there!
      node.elt = ast.List(
          [ast.Tuple([node.key, node.value], ast.Load())], ast.Load()
      )
      self.has_dist_comp = True
      return self.visit_AnyComp(
          node, "dict", mangle("__dispatch__"), "update"
      )
  
file_path: pythran/pythran/transformations/remove_comprehension.py
imports: from pythran.analyses import ImportedIds
  from pythran.passmanager import Transformation
  from pythran.conversion import mangle
  import pythran.metadata
  import gast
  from functools import reduce
label_desc: Use image node_id 7 for calling the RemoveComprehension obj's underlying member method code with example usage: obj.visit_DictComp(node) and returns: self