dictionary implementations is exposed by the :mod:`weakref` module for the
benefit of advanced uses.
-.. note::
-
- Weak references to an object are cleared before the object's :meth:`__del__`
- is called, to ensure that the weak reference callback (if any) finds the
- object still alive.
-
Not all objects can be weakly referenced; those objects which can include class
instances, functions written in Python (but not in C), methods (both bound and
unbound), sets, frozensets, file objects, :term:`generator`\s, type objects,