Por que o aumento de uma exceção é um efeito colateral?

De acordo com a entrada da wikipedia paraefeito colateral, levantar uma exceção constitui um efeito colateral. Considere esta função simples de python:

def foo(arg):
    if not arg:
        raise ValueError('arg cannot be None')
    else:
        return 10

Invocando-o comfoo(None) sempre será atendida com uma exceção. Mesma entrada, mesma saída. É referencialmente transparente. Por que isso não é uma função pura?

questionAnswers(4)

yourAnswerToTheQuestion