Ну, в обычном понимании сайд эффектов да
ну вот я и не знаю, какая практическая польза в таком строгом понимании чистоты функций
в предельном случае ничто на реальном железе не может быть математически функционально чистым
поэтому мне понятно условное разделение на функции и процедуры, где функции указывают на функциональный подход, процедуры на императивный
а что там функции творят у себя внутри для вычисления результата — это в общем случае не принципиально