code: def visit_Dict(self, node):
          
          if node.keys:
              items = node.keys + node.values
              return list(set(sum([self.visit(item) for item in items], [])))
          else:
              return [frozenset()]
docs: Dict construction depend on each element/value type dependency.