The AST's class hierarchy is defined inside the `calculator.ast` module. An abstract visitor is defined inside the `calculator.ast.visit` package.