code: def visit_Set(self, node):
          '''
          A set is abstracted as an unordered container of its elements
  
          >>> from pythran import passmanager
          >>> pm = passmanager.PassManager('demo')
          >>> module = ast.parse('def foo(a, b): return {a, b}')
          >>> result = pm.gather(Aliases, module)
          >>> Aliases.dump(result, filter=ast.Set)
          {a, b} => ['|a|', '|b|']
  
          where the |id| notation means something that may contain ``id``.
          '''
          if node.elts:
              elts_aliases = {ContainerOf(alias)
                              for elt in node.elts
                              for alias in self.visit(elt)}
          else:
              elts_aliases = None
          return self.add(node, elts_aliasesf visit_Set(self, node):
          '''
          A set is abstracted as an unordered container of its elements
  
          >>> from pythran import passmanager
          >>> pm = passmanager.PassManager('demo')
          >>> module = ast.parse('def foo(a, b): return {a, b}')
          >>> result = pm.gather(Aliases, module)
          >>> Aliases.dump(result, filter=ast.Set)
          {a, b} => ['|a|', '|b|']
  
          where the |id| notation means something that may contain ``id``.
          '''
          if node.elts:
              elts_aliases = {ContainerOf(alias)
                              for elt in node.elts
                              for alias in self.visit(elt)}
          else:
              elts_aliases = None
          return self.add(node, elts_aliases)
docs: A set is abstracted as an unordered container of its elements
  
          >>> from pythran import passmanager
          >>> pm = passmanager.PassManager('demo')
          >>> module = ast.parse('def foo(a, b): return {a, b}')
          >>> result = pm.gather(Aliases, module)
          >>> Aliases.dump(result, filter=ast.Set)
          {a, b} => ['|a|', '|b|']
  
          where the |id| notation means something that may contain ``id``.