Rewrite original method to use lower-case method, and not "generic" function.

def visit(self, node):
        """Rewrite original method to use lower-case method, and not "generic" function."""

        try:
            # Get the "visit_%s" method, using the lower case version of the rule.
            method = getattr(self, 'visit_%s' % node.expr_name.lower())
        except AttributeError:
            # If the method is not defined, we do nothing for this node.
            return

        # Below is untouched code from the original ``visit`` method.

        # Call that method, and show where in the tree it failed if it blows up.
        try:
            return method(node, [self.visit(n) for n in node])
        except (VisitationError, UndefinedLabel):
            # Don't catch and re-wrap already-wrapped exceptions.
            raise
        except self.unwrapped_exceptions:
            raise
        except Exception:
            # Catch any exception, and tack on a parse tree so it's easier to
            # see where it went wrong.
            exc_class, exc, trace = sys.exc_info()
            raise VisitationError(exc, exc_class, node).with_traceback(trace)