return super().__getattribute__(key)
 
 
+class _Clearable(ABC):
+
+    @abstractmethod
+    def clear(self) -> None:
+        'Zero internal knowledge.'
+
+
 DictItem = TypeVar('DictItem')
 
 
-class Dict(Generic[DictItem]):
+class Dict(_Clearable, Generic[DictItem]):
     'Customized dict replacement.'
 
     def __init__(self, **kwargs) -> None:
         return self._dict[key]
 
     def clear(self) -> None:
-        'Zero content.'
         self._dict.clear()
 
     @property
         'Set .completed to "complete" value if possible of current state.'
 
 
-class _CompletableStringsList(_Completable):
+class _CompletableStringsList(_Clearable, _Completable):
 
     def __init__(self) -> None:
         self._incomplete: list[str] = []
         self.completed = tuple(self._incomplete)
 
     def clear(self) -> None:
-        'Wipe content and declare new emptiness as complete.'
         self._incomplete.clear()
         self.complete()
 
                 channel.remove_user(user)
 
 
-class _ClientDb(_UpdatingMixin, SharedClientDbFields):
+class _ClientDb(_Clearable, _UpdatingMixin, SharedClientDbFields):
     _keep_on_clear = set(IrcConnSetup.__annotations__.keys())
     caps: _UpdatingDict[_UpdatingServerCapability]
     channels: _UpdatingChannelsDict
         return attr
 
     def clear(self) -> None:
-        'Wipe updating attributes.'
         for key, value in [(k, v) for k, v in self._deep_annotations().items()
                            if k not in self._keep_on_clear]:
-            if hasattr(value, 'clear'):
+            if issubclass(value, _Clearable):
                 getattr(self, key).clear()
             elif issubclass(value, str):
                 setattr(self, key, '')
         return toks[1]
 
 
-class _CapsManager:
+class _CapsManager(_Clearable):
 
     def __init__(self,
                  sender: Callable,
         self.clear()
 
     def clear(self) -> None:
-        'Zero internal knowledge.'
         self._dict.clear()
         self._ls = _CompletableStringsList()
         self._list = _CompletableStringsList()