diff --git a/Lib/symtable.py b/Lib/symtable.py
index 3d1775b..ac9396c 100644
--- a/Lib/symtable.py
+++ b/Lib/symtable.py
@@ -129,8 +129,8 @@
     __globals = None
 
     def __idents_matching(self, test_func):
-        return tuple([ident for ident in self.get_identifiers()
-                      if test_func(self._table.symbols[ident])])
+        return frozenset(ident for ident in self.get_identifiers()
+                         if test_func(self._table.symbols[ident]))
 
     def get_parameters(self):
         if self.__params is None:
@@ -165,7 +165,7 @@
             d = {}
             for st in self._table.children:
                 d[st.name] = 1
-            self.__methods = tuple(d)
+            self.__methods = frozenset(d)
         return self.__methods
 
 
