def process(self, instance: _Traversable):
    'Process the instance, by calling the appropriate visit method.\n\n        Uses the `__visit_name__` attribute of the `instance` to obtain the method to use.\n\n        Args:\n            instance (_Traversable): The instance to process.\n        '
    try:
        return getattr(self, 'visit_{}'.format(instance.__visit_name__))(instance)
    except AttributeError as e:
        raise RuntimeError('This visitor does not support {}'.format(type(instance))) from e
Process the instance, by calling the appropriate visit method.

Uses the `__visit_name__` attribute of the `instance` to obtain the method to use.

Args:
    instance (_Traversable): The instance to process.
def process(self, instance: _Traversable):
    'Process the instance, by calling the appropriate visit method.\n\n        Uses the `__visit_name__` attribute of the `instance` to obtain the method to use.\n\n        Args:\n            instance (_Traversable): The instance to process.\n        '
    try:
        return getattr(self, 'visit_{}'.format(instance.__visit_name__))(instance)
    except AttributeError as e:
        raise RuntimeError('This visitor does not support {}'.format(type(instance))) from e