this should be `def visit o`, no default parameter.