<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:

def visit_Tuple(self, node):
        '''
        A tuple is abstracted as an ordered container of its values

        >>> 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.Tuple)
        (a, b) => ['|[0]=a|', '|[1]=b|']

        where the |[i]=id| notation means something that
        may contain ``id`` at index ``i``.
        '''
        if node.elts:
            elts_aliases = set()
            for i, elt in enumerate(node.elts):
                elt_aliases = self.visit(elt)
                elts_aliases.update(ContainerOf(alias, i)
                                    for alias in elt_aliases)
        else:
            elts_aliases = None
        return self.add(node, elts_aliases)