Это же может быть прямым поведением функции, если у тебя будет функция config(object), которая будет мутировать какой-то Филд, она останется чистой
В императивных языках некоторые функции в процессе выполнения своих вычислений могут модифицировать значения глобальных переменных, осуществлять операции ввода-вывода, реагировать на исключительные ситуации, вызывая их обработчики. Такие функции называются функциями с побочными эффектами.