docs: def get(self, obj, cls):
      """
      Using the lowercase name of the class as node_type, returns `obj.visit_{node_type}`,
      or `obj.visit_default` if the type-specific method is not found.
      """
      method = self._cache.get(cls)
      if not method:
        name = "visit_" + cls.__name__.lower()
        method = getattr(obj, name, obj.visit_default)
        self._cache[cls] = method
      return method